array-of-arrays-into-ast
Version:
Turns an array of arrays of data into a nested tree of plain objects
12 lines (10 loc) • 846 B
JavaScript
/**
* @name array-of-arrays-into-ast
* @fileoverview Turns an array of arrays of data into a nested tree of plain objects
* @version 4.0.23
* @author Roy Revelt, Codsen Ltd
* @license MIT
* {@link https://codsen.com/os/array-of-arrays-into-ast/}
*/
import{mergeAdvanced as p}from"object-merge-advanced";var i="4.0.23";var f=i,c={dedupe:!0};function u(e){return Object.keys(e).sort().reduce((t,r)=>(t[r]=e[r],t),{})}function g(e,t){if(Array.isArray(e)){if(e.length===0)return{}}else throw new Error(`array-of-arrays-into-ast: [THROW_ID_01] inputArr must be array. Currently it's of a type ${typeof e} equal to:
${JSON.stringify(e,null,4)}`);let r={...c,...t},s={};return e.forEach(o=>{let n=null;for(let a=o.length;a--;)n={[o[a]]:[n]};s=p(s,n,{concatInsteadOfMerging:!r.dedupe})}),u(s)}export{c as defaults,g as generateAst,f as version};