{"version":3,"file":"objects.mjs","sources":["../../src/primitives/objects.ts"],"sourcesContent":["import _ from 'lodash';\n\nconst keysDeep = (obj: object, path: string[] = []): string[] =>\n  !_.isObject(obj)\n    ? [path.join('.')]\n    : _.reduce(\n        obj,\n        (acc, next, key) => _.concat(acc, keysDeep(next, [...path, key])),\n        [] as string[]\n      );\n\n/**\n * Sets a property without changing the input. Copies containers on the updated path and\n * preserves references to unrelated values, including the value being assigned.\n */\nconst set = <T extends object>(object: T, path: _.PropertyPath, value: unknown): T =>\n  _.setWith(_.clone(object), path, value, (current) =>\n    _.isObject(current) ? _.clone(current) : undefined\n  );\n\nexport { keysDeep, set };\n"],"names":["keysDeep","obj","path","_","isObject","join","reduce","acc","next","key","concat","set","object","value","setWith","clone","current","undefined"],"mappings":";;AAEA,MAAMA,QAAAA,GAAW,CAACC,GAAAA,EAAaC,IAAAA,GAAiB,EAAE,GAChD,CAACC,UAAAA,CAAEC,QAAQ,CAACH,GAAAA,CAAAA,GACR;AAACC,QAAAA,IAAAA,CAAKG,IAAI,CAAC,GAAA;AAAK,KAAA,GAChBF,UAAAA,CAAEG,MAAM,CACNL,GAAAA,EACA,CAACM,GAAAA,EAAKC,IAAAA,EAAMC,GAAAA,GAAQN,UAAAA,CAAEO,MAAM,CAACH,GAAAA,EAAKP,SAASQ,IAAAA,EAAM;AAAIN,YAAAA,GAAAA,IAAAA;AAAMO,YAAAA;AAAI,SAAA,CAAA,CAAA,EAC/D,EAAE;AAGV;;;IAIA,MAAME,GAAAA,GAAM,CAAmBC,MAAAA,EAAWV,IAAAA,EAAsBW,QAC9DV,UAAAA,CAAEW,OAAO,CAACX,UAAAA,CAAEY,KAAK,CAACH,SAASV,IAAAA,EAAMW,KAAAA,EAAO,CAACG,OAAAA,GACvCb,UAAAA,CAAEC,QAAQ,CAACY,OAAAA,CAAAA,GAAWb,UAAAA,CAAEY,KAAK,CAACC,OAAAA,CAAAA,GAAWC,SAAAA;;;;"}