{"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;"}