{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["/**\n * layerify an object\n *\n * @param obj object to be layerified\n * @param sep seperator that denotes there should be another layer\n */\nconst layerifyObj = (obj: object | null, sep: string = '__') => {\n  if (obj == null) {\n    return obj;\n  }\n  const ret = {};\n  for (const k in obj) {\n    if (obj.hasOwnProperty(k)) {\n      if ((obj as any)[k] === null || (obj as any)[k] === void 0) {\n        continue;\n      }\n      const t = k.split(sep);\n      const groups = t.slice(0, -1);\n      const field = t[t.length - 1];\n      let d = ret as any;\n      for (const group of groups) {\n        d[group] = d[group] || {};\n        d = d[group];\n      }\n      d[field] = (obj as any)[k];\n    }\n  }\n  return ret;\n};\n\n/**\n * layerify an object or array of object\n *\n * @param obj object/array to be layerified\n * @param sep seperator that denotes there should be another layer\n */\nconst layerify = (o: object | object[] | null, sep: string = '__') => {\n  if (Array.isArray(o)) {\n    return o.map((it) => layerifyObj(it, sep));\n  }\n  return layerifyObj(o, sep);\n};\n\nexport default layerify;\n"],"names":[],"mappings":"AAAA;;;;;;AAMA,IAAM,WAAW,GAAG,UAAC,GAAkB,EAAE,GAAkB;IAAlB,oBAAA,EAAA,UAAkB;IACzD,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,OAAO,GAAG,CAAC;KACZ;IACD,IAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,IAAM,CAAC,IAAI,GAAG,EAAE;QACnB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YACzB,IAAK,GAAW,CAAC,CAAC,CAAC,KAAK,IAAI,IAAK,GAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;gBAC1D,SAAS;aACV;YACD,IAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,IAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAU,CAAC;YACnB,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;gBAAvB,IAAM,KAAK,eAAA;gBACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;aACd;YACD,CAAC,CAAC,KAAK,CAAC,GAAI,GAAW,CAAC,CAAC,CAAC,CAAC;SAC5B;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;AAMA,IAAM,QAAQ,GAAG,UAAC,CAA2B,EAAE,GAAkB;IAAlB,oBAAA,EAAA,UAAkB;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,GAAA,CAAC,CAAC;KAC5C;IACD,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;;;;"}