@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 1.61 kB
Source Map (JSON)
{"version":3,"file":"deep-merge.cjs","sources":["../../../../src/core/utils/deep-merge/deep-merge.ts"],"sourcesContent":["function isObject(item: unknown) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function deepMerge<T extends object>(target: T, source: any): T {\n const result: Record<string, any> = { ...target };\n const _source: Record<string, any> = source;\n\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isObject(_source[key])) {\n if (!(key in target)) {\n result[key] = _source[key];\n } else {\n result[key] = deepMerge(result[key], _source[key]);\n }\n } else {\n result[key] = _source[key];\n }\n });\n }\n\n return result as T;\n}\n"],"names":[],"mappings":";;AAAA,SAAS,SAAS,IAAA,EAAe;AAC/B,EAAA,OAAO,QAAQ,OAAO,IAAA,KAAS,YAAY,CAAC,KAAA,CAAM,QAAQ,IAAI,CAAA;AAChE;AAEO,SAAS,SAAA,CAA4B,QAAW,MAAA,EAAgB;AACrE,EAAA,MAAM,MAAA,GAA8B,EAAE,GAAG,MAAA,EAAO;AAChD,EAAA,MAAM,OAAA,GAA+B,MAAA;AAErC,EAAA,IAAI,QAAA,CAAS,MAAM,CAAA,IAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AACxC,IAAA,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACnC,MAAA,IAAI,QAAA,CAAS,OAAA,CAAQ,GAAG,CAAC,CAAA,EAAG;AAC1B,QAAA,IAAI,EAAE,OAAO,MAAA,CAAA,EAAS;AACpB,UAAA,MAAA,CAAO,GAAG,CAAA,GAAI,OAAA,CAAQ,GAAG,CAAA;AAAA,QAC3B,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,GAAG,IAAI,SAAA,CAAU,MAAA,CAAO,GAAG,CAAA,EAAG,OAAA,CAAQ,GAAG,CAAC,CAAA;AAAA,QACnD;AAAA,MACF,CAAA,MAAO;AACL,QAAA,MAAA,CAAO,GAAG,CAAA,GAAI,OAAA,CAAQ,GAAG,CAAA;AAAA,MAC3B;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}