UNPKG

vuestic-ui

Version:
1 lines 1.72 kB
{"version":3,"file":"merge-deep.mjs","sources":["../../../../src/utils/merge-deep.ts"],"sourcesContent":["const isObject = (obj: any) => obj && typeof obj === 'object' && !Array.isArray(obj)\n\n/**\n * Merge objects deep\n * If property is array, it will replace target value\n */\nexport const mergeDeep = (target: any, source: any): any => {\n if (!isObject(target)) {\n target = {}\n }\n\n Object.keys(source).forEach(key => {\n const targetValue = target[key]\n const sourceValue = source[key]\n\n if (sourceValue instanceof RegExp || sourceValue instanceof Date) {\n target[key] = sourceValue\n } else if (isObject(targetValue) && isObject(sourceValue)) {\n target[key] = mergeDeep(Object.create(\n Object.getPrototypeOf(targetValue),\n Object.getOwnPropertyDescriptors(targetValue),\n ), sourceValue)\n } else {\n target[key] = sourceValue\n }\n })\n\n return target\n}\n\nexport const mergeDeepMultiple = (...objects: any[]): any => {\n return objects.reduce((acc, obj) => mergeDeep(acc, obj), {})\n}\n"],"names":[],"mappings":"AAAA,MAAM,WAAW,CAAC,QAAa,OAAO,OAAO,QAAQ,YAAY,CAAC,MAAM,QAAQ,GAAG;AAMtE,MAAA,YAAY,CAAC,QAAa,WAAqB;AACtD,MAAA,CAAC,SAAS,MAAM,GAAG;AACrB,aAAS,CAAA;AAAA,EACX;AAEA,SAAO,KAAK,MAAM,EAAE,QAAQ,CAAO,QAAA;AAC3B,UAAA,cAAc,OAAO,GAAG;AACxB,UAAA,cAAc,OAAO,GAAG;AAE1B,QAAA,uBAAuB,UAAU,uBAAuB,MAAM;AAChE,aAAO,GAAG,IAAI;AAAA,eACL,SAAS,WAAW,KAAK,SAAS,WAAW,GAAG;AAClD,aAAA,GAAG,IAAI,UAAU,OAAO;AAAA,QAC7B,OAAO,eAAe,WAAW;AAAA,QACjC,OAAO,0BAA0B,WAAW;AAAA,SAC3C,WAAW;AAAA,IAAA,OACT;AACL,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EAAA,CACD;AAEM,SAAA;AACT;AAEa,MAAA,oBAAoB,IAAI,YAAwB;AACpD,SAAA,QAAQ,OAAO,CAAC,KAAK,QAAQ,UAAU,KAAK,GAAG,GAAG,CAAA,CAAE;AAC7D;"}