{"version":3,"sources":["jsdelivr-header.js","/npm/@rvf/set-get@7.0.1/src/index.ts","/npm/@rvf/set-get@7.0.1/src/stringToPathArray.ts","/npm/@rvf/set-get@7.0.1/src/setPath.ts","/npm/@rvf/set-get@7.0.1/src/getPath.ts","/npm/@rvf/set-get@7.0.1/src/pathArrayToString.ts","/npm/@rvf/set-get@7.0.1/src/toPathObject.ts","/npm/@rvf/set-get@7.0.1/src/mergePathStrings.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,8iBCNA,YAAA,GAAA,SAAA,YAAA,CAAA,QAAA,IAAA,QAAA,iBAAA,IAAA,iBAAA,kBAAA,IAAA,kBAAA,QAAA,IAAA,QAAA,kBAAA,IAAA,kBAAA,aAAA,IAAA,eAAA,OAAA,QAAA,aAAA,aCAO,IAAM,kBACX,IAEA,GAAoB,IAAhB,EAAK,OAAc,MAAO,GAE9B,MAAM,EACJ,EAAK,MAAM,oBAAsB,EAAK,MAAM,yBAC9C,GAAI,EAAO,CACT,MAAO,EAAG,EAAK,GAAQ,EACvB,MAAO,CAAC,QAAQ,KAAK,GAAO,OAAO,GAAO,KAAQ,kBAAkB,GACtE,CACA,MAAO,CAAC,EAAI,ECTP,SAAS,QACd,EACA,EACA,GAGA,MAAM,EAAQ,MAAM,QAAQ,GAAQ,EAAO,kBAAkB,GAC7D,IAAI,EAAW,EAEf,QAAS,EAAI,EAAG,EAAI,EAAM,OAAS,EAAG,IAAK,CACzC,MAAM,EAAO,EAAM,GACb,EAAW,EAAM,EAAI,QACT,IAAd,EAAI,KAEJ,EAAI,GADkB,iBAAb,EACG,GAEA,CAAC,GAGjB,EAAM,EAAI,EACZ,CAGA,OADA,EAAI,EAAM,EAAM,OAAS,IAAM,EACxB,CACT,CCxBO,IAAM,QAAU,CAAC,EAAa,KACnC,MAAM,EAAQ,MAAM,QAAQ,GAAQ,EAAO,kBAAkB,GAC7D,IAAI,EAAQ,EACZ,UAAW,KAAQ,EACjB,EAAS,IAAgB,GAE3B,OAAO,CAAA,ECRI,kBAAqB,IAChC,GAAoB,IAAhB,EAAK,OAAc,MAAO,GAE9B,IAAI,EAAS,GACb,UAAW,KAAQ,EAAM,CACvB,GAAe,KAAX,EAAe,CACjB,GAAU,GAAG,IACb,QACF,CAEA,MAAM,EAAW,OAAO,GACpB,OAAO,MAAM,GAAW,GAAU,IAAI,IACrC,GAAU,IAAI,IACrB,CAEA,OAAO,CAAA,ECXI,aAAgB,IAC3B,MACM,EADU,eAAe,EAAK,IACR,KAC1B,EAAE,EAAM,KAAW,CAAC,kBAAkB,GAAO,KAE/C,OAAO,OAAO,YAAY,EAAW,EAKjC,eAAiB,CACrB,EACA,IAEW,MAAP,GAA8B,iBAAR,EAAyB,CAAC,CAAC,EAAQ,IACzD,MAAM,QAAQ,GACT,EAAI,SAAQ,CAAC,EAAM,IACxB,eAAe,EAAM,IAAI,EAAQ,MAE9B,OAAO,QAAQ,GAAK,SAAQ,EAAE,EAAK,KACxC,eAAe,EAAO,IAAI,EAAQ,MCrBzB,iBAAmB,IAC3B,IAEI,kBACL,EACG,QAAQ,GAAuB,MAAX,IACpB,IAAI,QACJ,QAAQ,mBACR,QAAQ,GAAwB,KAAZ","file":"/npm/@rvf/set-get@7.0.1/dist/index.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@rvf/set-get@7.0.1/dist/index.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export { setPath } from \"./setPath\";\nexport { getPath } from \"./getPath\";\nexport { stringToPathArray } from \"./stringToPathArray\";\nexport { pathArrayToString } from \"./pathArrayToString\";\nexport { toPathObject } from \"./toPathObject\";\nexport { mergePathStrings } from \"./mergePathStrings\";\nexport * from \"./types\";\n","export const stringToPathArray = <T extends string>(\n  path: T,\n): (string | number)[] => {\n  if (path.length === 0) return [];\n\n  const match =\n    path.match(/^\\[(.+?)\\](.*)$/) || path.match(/^\\.?([^\\.\\[\\]]+)(.*)$/);\n  if (match) {\n    const [_, key, rest] = match;\n    return [/^\\d+$/.test(key) ? Number(key) : key, ...stringToPathArray(rest)];\n  }\n  return [path];\n};\n","import { stringToPathArray } from \"./stringToPathArray\";\n\nexport function setPath<T>(\n  object: T,\n  path: string | (string | number)[],\n  value: unknown,\n) {\n  // deeply mutate the data\n  const parts = Array.isArray(path) ? path : stringToPathArray(path);\n  let obj: any = object;\n\n  for (let i = 0; i < parts.length - 1; i++) {\n    const part = parts[i];\n    const nextPart = parts[i + 1];\n    if (obj[part] === undefined) {\n      if (typeof nextPart === \"number\") {\n        obj[part] = [];\n      } else {\n        obj[part] = {};\n      }\n    }\n    obj = obj[part];\n  }\n\n  obj[parts[parts.length - 1]] = value;\n  return object;\n}\n","import { stringToPathArray } from \"./stringToPathArray\";\n\nexport const getPath = (object: any, path: string | (string | number)[]) => {\n  const parts = Array.isArray(path) ? path : stringToPathArray(path);\n  let value = object;\n  for (const part of parts) {\n    value = (value as any)?.[part];\n  }\n  return value;\n};\n","export const pathArrayToString = (path: (string | number)[]): string => {\n  if (path.length === 0) return \"\";\n\n  let result = \"\";\n  for (const item of path) {\n    if (result === \"\") {\n      result += `${item}`;\n      continue;\n    }\n\n    const asNumber = Number(item);\n    if (Number.isNaN(asNumber)) result += `.${item}`;\n    else result += `[${item}]`;\n  }\n\n  return result;\n};\n","import { pathArrayToString } from \"./pathArrayToString\";\n\nexport type GenericObject = { [key: string]: any };\n\nexport const toPathObject = (obj: GenericObject): Record<string, unknown> => {\n  const entries = getLeafEntries(obj, []);\n  const flatEntries = entries.map(\n    ([path, value]) => [pathArrayToString(path), value] as const,\n  );\n  return Object.fromEntries(flatEntries);\n};\n\ntype PathArray = (string | number)[];\n\nconst getLeafEntries = (\n  obj: unknown,\n  prefix: PathArray,\n): Array<[PathArray, unknown]> => {\n  if (obj == null || typeof obj !== \"object\") return [[prefix, obj]];\n  if (Array.isArray(obj))\n    return obj.flatMap((item, index) =>\n      getLeafEntries(item, [...prefix, index]),\n    );\n  return Object.entries(obj).flatMap(([key, value]) =>\n    getLeafEntries(value, [...prefix, key]),\n  );\n};\n","import { pathArrayToString } from \"./pathArrayToString\";\nimport { stringToPathArray } from \"./stringToPathArray\";\n\nexport const mergePathStrings = (\n  ...paths: (string | number | null | undefined)[]\n) => {\n  return pathArrayToString(\n    paths\n      .filter((segment) => segment != null)\n      .map(String)\n      .flatMap(stringToPathArray)\n      .filter((segment) => segment !== \"\"),\n  );\n};\n"]}