{"version":3,"file":"deep-assign.mjs","sources":["../../../../../packages/utils/deep-assign.ts"],"sourcesContent":["import { isDef, isObject } from './'\n\ntype ObjectIndex = Record<string, unknown>\n\nconst { hasOwnProperty } = Object.prototype\n\nfunction assignKey(to: ObjectIndex, from: ObjectIndex, key: string) {\n  const val = from[key]\n\n  if (!isDef(val)) {\n    return\n  }\n\n  if (!hasOwnProperty.call(to, key) || !isObject(val)) {\n    to[key] = val\n  } else {\n    // eslint-disable-next-line no-use-before-define\n    to[key] = deepAssign(new Object(to[key]) as ObjectIndex, val)\n  }\n}\n\nexport function deepAssign(to: ObjectIndex, from: ObjectIndex): ObjectIndex {\n  Object.keys(from).forEach((key) => {\n    assignKey(to, from, key)\n  })\n\n  return to\n}\n"],"names":[],"mappings":";;;;AAIA,MAAM,EAAE,cAAe,EAAA,GAAI,MAAO,CAAA,SAAA,CAAA;AAElC,SAAS,SAAA,CAAU,EAAiB,EAAA,IAAA,EAAmB,GAAa,EAAA;AAClE,EAAA,MAAM,MAAM,IAAK,CAAA,GAAA,CAAA,CAAA;AAEjB,EAAI,IAAA,CAAC,KAAM,CAAA,GAAG,CAAG,EAAA;AACf,IAAA,OAAA;AAAA,GACF;AAEA,EAAI,IAAA,CAAC,eAAe,IAAK,CAAA,EAAA,EAAI,GAAG,CAAK,IAAA,CAAC,QAAS,CAAA,GAAG,CAAG,EAAA;AACnD,IAAA,EAAA,CAAG,GAAO,CAAA,GAAA,GAAA,CAAA;AAAA,GACL,MAAA;AAEL,IAAA,EAAA,CAAG,OAAO,UAAW,CAAA,IAAI,OAAO,EAAG,CAAA,GAAA,CAAI,GAAkB,GAAG,CAAA,CAAA;AAAA,GAC9D;AACF,CAAA;AAEgB,SAAA,UAAA,CAAW,IAAiB,IAAgC,EAAA;AAC1E,EAAA,MAAA,CAAO,IAAK,CAAA,IAAI,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACjC,IAAU,SAAA,CAAA,EAAA,EAAI,MAAM,GAAG,CAAA,CAAA;AAAA,GACxB,CAAA,CAAA;AAED,EAAO,OAAA,EAAA,CAAA;AACT;;;;"}