mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-03 07:51:49 +00:00
1 line
509 B
JavaScript
1 line
509 B
JavaScript
const groupBy=(r,...e)=>{let t=r.map(t=>e.map(e=>e(t))),a={};return t.forEach((e,t)=>{t=(_simpleAt(a,e)||[]).concat([r[t]]);_simpleSet(a,e,t)}),a},_isPlainObject=e=>null!=e&&"object"==typeof e&&e.constructor==Object,_parsePath=e=>Array.isArray(e)?e:`${e}`.split("."),_simpleAt=(e,t)=>_parsePath(t).reduce((e,t)=>null!=e&&e.hasOwnProperty(t)?e[t]:void 0,e),_simpleSet=(e,t,s)=>_parsePath(t).reduce((e,t,r,a)=>{a=r===a.length-1;return e.hasOwnProperty(t)&&(a||_isPlainObject(e[t]))||(e[t]={}),a?e[t]=s:e[t]},e); |