{"version":3,"file":"set.mjs","names":["segment"],"sources":["../src/set.ts"],"sourcesContent":["export function set(\n\tobj: Record<number | string, unknown>,\n\tpath: Array<number | string> | string,\n\tvalue: unknown,\n): void {\n\tconst segments = Array.isArray(path) ? path : path.split(\".\");\n\n\tlet o = obj;\n\tlet i = 0;\n\n\twhile (i < segments.length - 1) {\n\t\tconst segment = segments[i++]!;\n\n\t\tif (!Object.hasOwn(o, segment)) {\n\t\t\tconst nextSegment = segments[i];\n\t\t\to[segment] = Number.isInteger(Number(nextSegment)) ? [] : {};\n\t\t}\n\n\t\to = o[segment] as Record<number | string, unknown>;\n\t}\n\n\tconst segment = segments[i]!;\n\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\to[segment] = typeof value === \"function\" ? value(o[segment]) : value;\n}\n"],"mappings":";AAAA,SAAgB,IACf,KACA,MACA,OACO;CACP,MAAM,WAAW,MAAM,QAAQ,KAAK,GAAG,OAAO,KAAK,MAAM,IAAI;CAE7D,IAAI,IAAI;CACR,IAAI,IAAI;AAER,QAAO,IAAI,SAAS,SAAS,GAAG;EAC/B,MAAMA,YAAU,SAAS;AAEzB,MAAI,CAAC,OAAO,OAAO,GAAGA,UAAQ,EAAE;GAC/B,MAAM,cAAc,SAAS;AAC7B,KAAEA,aAAW,OAAO,UAAU,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;;AAG7D,MAAI,EAAEA;;CAGP,MAAM,UAAU,SAAS;AAGzB,GAAE,WAAW,OAAO,UAAU,aAAa,MAAM,EAAE,SAAS,GAAG"}