{"version":3,"sources":["../../../src/utils/clone.ts"],"sourcesContent":["import { isPlainObject, isObject } from './index'\n\nexport const clone = <T>(obj: T): T => {\n  if (isPlainObject(obj)) {\n    return cloneObject(obj)\n  } else if (Array.isArray(obj)) {\n    return cloneArray(obj)\n  } else {\n    return obj\n  }\n}\n\nconst cloneObject = <T extends Record<string, unknown>>(obj: T): T => {\n  const clone = {} as T\n  for (const i in obj) {\n    const value = obj[i]\n    if (isObject(value)) {\n      clone[i] = cloneObject(value)\n    } else if (Array.isArray(value)) {\n      clone[i] = cloneArray(value)\n    } else {\n      clone[i] = value\n    }\n  }\n  return clone\n}\n\nconst cloneArray = <T extends Array<unknown>>(obj: T): T => {\n  const clone = [] as unknown as T\n  for (const i in obj) {\n    const value = obj[i]\n    if (isObject(value)) {\n      clone.push(cloneObject(value))\n    } else if (Array.isArray(value)) {\n      clone.push(cloneArray(value))\n    } else {\n      clone.push(value)\n    }\n  }\n  return clone\n}\n"],"mappings":";AAAA,SAAS,eAAe,gBAAgB;AAEjC,IAAM,QAAQ,CAAI,QAAc;AACrC,MAAI,cAAc,GAAG,GAAG;AACtB,WAAO,YAAY,GAAG;AAAA,EACxB,WAAW,MAAM,QAAQ,GAAG,GAAG;AAC7B,WAAO,WAAW,GAAG;AAAA,EACvB,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,IAAM,cAAc,CAAoC,QAAc;AACpE,QAAMA,SAAQ,CAAC;AACf,aAAW,KAAK,KAAK;AACnB,UAAM,QAAQ,IAAI,CAAC;AACnB,QAAI,SAAS,KAAK,GAAG;AACnB,MAAAA,OAAM,CAAC,IAAI,YAAY,KAAK;AAAA,IAC9B,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,MAAAA,OAAM,CAAC,IAAI,WAAW,KAAK;AAAA,IAC7B,OAAO;AACL,MAAAA,OAAM,CAAC,IAAI;AAAA,IACb;AAAA,EACF;AACA,SAAOA;AACT;AAEA,IAAM,aAAa,CAA2B,QAAc;AAC1D,QAAMA,SAAQ,CAAC;AACf,aAAW,KAAK,KAAK;AACnB,UAAM,QAAQ,IAAI,CAAC;AACnB,QAAI,SAAS,KAAK,GAAG;AACnB,MAAAA,OAAM,KAAK,YAAY,KAAK,CAAC;AAAA,IAC/B,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,MAAAA,OAAM,KAAK,WAAW,KAAK,CAAC;AAAA,IAC9B,OAAO;AACL,MAAAA,OAAM,KAAK,KAAK;AAAA,IAClB;AAAA,EACF;AACA,SAAOA;AACT;","names":["clone"]}