{"version":3,"file":"immutable-deep-merge.cjs","sources":["../../../src/utils/immutable-deep-merge.ts"],"sourcesContent":["export function deepCloneValue<T>(val: T): T {\n  if (isRecord(val)) {\n    return deepCloneObject(val);\n  } else if (Array.isArray(val)) {\n    return deepCloneArray(val);\n  } else {\n    return val;\n  }\n}\n\nexport function deepCloneObject<T extends Record<string, unknown>>(a: T): T {\n  const keys = new Set(Object.keys(a));\n  const clone: Record<string, unknown> = {};\n\n  for (const key of keys) {\n    clone[key] = deepCloneValue(a[key]);\n  }\n\n  return clone as T;\n}\n\nfunction deepCloneArray<T extends unknown[]>(arr: T): T {\n  const newArr = [];\n\n  for (const val of arr) {\n    newArr.push(deepCloneValue(val));\n  }\n\n  return newArr as T;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n  return typeof value === \"object\" && value != null && !Array.isArray(value);\n}\n"],"names":[],"mappings":";;AAAO,SAAS,eAAkB,GAAA,EAAW;AAC3C,EAAA,IAAI,QAAA,CAAS,GAAG,CAAA,EAAG;AACjB,IAAA,OAAO,gBAAgB,GAAG,CAAA;AAAA,EAC5B,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC7B,IAAA,OAAO,eAAe,GAAG,CAAA;AAAA,EAC3B,CAAA,MAAO;AACL,IAAA,OAAO,GAAA;AAAA,EACT;AACF;AAEO,SAAS,gBAAmD,CAAA,EAAS;AAC1E,EAAA,MAAM,OAAO,IAAI,GAAA,CAAI,MAAA,CAAO,IAAA,CAAK,CAAC,CAAC,CAAA;AACnC,EAAA,MAAM,QAAiC,EAAC;AAExC,EAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,IAAA,KAAA,CAAM,GAAG,CAAA,GAAI,cAAA,CAAe,CAAA,CAAE,GAAG,CAAC,CAAA;AAAA,EACpC;AAEA,EAAA,OAAO,KAAA;AACT;AAEA,SAAS,eAAoC,GAAA,EAAW;AACtD,EAAA,MAAM,SAAS,EAAC;AAEhB,EAAA,KAAA,MAAW,OAAO,GAAA,EAAK;AACrB,IAAA,MAAA,CAAO,IAAA,CAAK,cAAA,CAAe,GAAG,CAAC,CAAA;AAAA,EACjC;AAEA,EAAA,OAAO,MAAA;AACT;AAEA,SAAS,SAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,OAAO,UAAU,QAAA,IAAY,KAAA,IAAS,QAAQ,CAAC,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC3E;;;;;"}