UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.58 kB
{"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,IAAe,EAAA;AAC/B,EAAA,OAAO,QAAQ,OAAO,IAAA,KAAS,YAAY,CAAC,KAAA,CAAM,QAAQ,IAAI,CAAA;AAChE;AAEgB,SAAA,SAAA,CAA4B,QAAW,MAAgB,EAAA;AACrE,EAAM,MAAA,MAAA,GAA8B,EAAE,GAAG,MAAO,EAAA;AAChD,EAAA,MAAM,OAA+B,GAAA,MAAA;AAErC,EAAA,IAAI,QAAS,CAAA,MAAM,CAAK,IAAA,QAAA,CAAS,MAAM,CAAG,EAAA;AACxC,IAAA,MAAA,CAAO,IAAK,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACnC,MAAA,IAAI,QAAS,CAAA,OAAA,CAAQ,GAAG,CAAC,CAAG,EAAA;AAC1B,QAAI,IAAA,EAAE,OAAO,MAAS,CAAA,EAAA;AACpB,UAAO,MAAA,CAAA,GAAG,CAAI,GAAA,OAAA,CAAQ,GAAG,CAAA;AAAA,SACpB,MAAA;AACL,UAAO,MAAA,CAAA,GAAG,IAAI,SAAU,CAAA,MAAA,CAAO,GAAG,CAAG,EAAA,OAAA,CAAQ,GAAG,CAAC,CAAA;AAAA;AACnD,OACK,MAAA;AACL,QAAO,MAAA,CAAA,GAAG,CAAI,GAAA,OAAA,CAAQ,GAAG,CAAA;AAAA;AAC3B,KACD,CAAA;AAAA;AAGH,EAAO,OAAA,MAAA;AACT;;;;"}