UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.2 kB
{"version":3,"file":"deep-merge.mjs","names":[],"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"],"mappings":";AAAA,SAAS,SAAS,MAAe;AAC/B,QAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,KAAK;;AAGjE,SAAgB,UAA4B,QAAW,QAAgB;CACrE,MAAM,SAA8B,EAAE,GAAG,QAAQ;CACjD,MAAM,UAA+B;AAErC,KAAI,SAAS,OAAO,IAAI,SAAS,OAAO,CACtC,QAAO,KAAK,OAAO,CAAC,SAAS,QAAQ;AACnC,MAAI,SAAS,QAAQ,KAAK,CACxB,KAAI,EAAE,OAAO,QACX,QAAO,OAAO,QAAQ;MAEtB,QAAO,OAAO,UAAU,OAAO,MAAM,QAAQ,KAAK;MAGpD,QAAO,OAAO,QAAQ;GAExB;AAGJ,QAAO"}