{"version":3,"file":"object.mjs","names":[],"sources":["../../src/utils/object.ts"],"sourcesContent":["export function isObject(item: unknown): item is Record<string, unknown> {\n  return item != null && typeof item === 'object' && !Array.isArray(item)\n}\n\n/**\n * Deep merge two objects.\n * @param target\n * @param ...sources\n */\nexport function mergeDeep(target: unknown, ...sources: Array<unknown>): unknown {\n  if (!sources.length) return target\n  const source = sources.shift()\n\n  if (isObject(target) && isObject(source)) {\n    for (const key in source) {\n      if (isObject(source[key])) {\n        if (!target[key]) Object.assign(target, { [key]: {} })\n        mergeDeep(target[key], source[key])\n      } else {\n        Object.assign(target, { [key]: source[key] })\n      }\n    }\n  }\n\n  return mergeDeep(target, ...sources)\n}\n"],"mappings":";AAAA,SAAgB,SAAS,MAAgD;CACvE,OAAO,QAAQ,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AACxE"}