summaryrefslogtreecommitdiff
path: root/node_modules/@sapphire/utilities/dist/lib/makeObject.js.map
blob: 258e5f3ec9652a04326c4b9b274ceaaf90470acb (plain)
1
{"version":3,"sources":["../../src/lib/makeObject.ts"],"names":[],"mappings":";;;;AAMO,SAAS,WAAW,MAAc,OAAgB,MAA+B,CAAC,GAA4B;AACpH,MAAI,KAAK,SAAS,GAAG,GAAG;AACvB,UAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,UAAM,UAAU,MAAM,IAAI;AAC1B,QAAI,YAAY;AAChB,eAAW,OAAO,OAAO;AACxB,UAAI,CAAC,UAAU,GAAG;AAAG,kBAAU,GAAG,IAAI,CAAC;AACvC,kBAAY,UAAU,GAAG;AAAA,IAC1B;AACA,cAAU,OAAO,IAAI;AAAA,EACtB,OAAO;AACN,QAAI,IAAI,IAAI;AAAA,EACb;AACA,SAAO;AACR;AAdgB","sourcesContent":["/**\n * Turn a dotted path into a json object.\n * @param path The dotted path\n * @param value The value\n * @param obj The object to edit\n */\nexport function makeObject(path: string, value: unknown, obj: Record<string, unknown> = {}): Record<string, unknown> {\n\tif (path.includes('.')) {\n\t\tconst route = path.split('.');\n\t\tconst lastKey = route.pop() as string;\n\t\tlet reference = obj;\n\t\tfor (const key of route) {\n\t\t\tif (!reference[key]) reference[key] = {};\n\t\t\treference = reference[key] as Record<string, unknown>;\n\t\t}\n\t\treference[lastKey] = value;\n\t} else {\n\t\tobj[path] = value;\n\t}\n\treturn obj;\n}\n"]}