@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 1.67 kB
Source Map (JSON)
{"version":3,"file":"deep-merge.mjs","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":"AACA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AACM,SAAS,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;AAC1C,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC;AACzB,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACzC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAClC,QAAQ,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAC9B,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACrC,SAAS,MAAM;AACf,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACnC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}