{"version":3,"sources":["../../../../src/objects/clone-deps/clone-deep.ts"],"sourcesContent":["import { isObject } from \"../../comparators\";\n\n/**\n * Deep clone an object\n * A deep clone is a clone of the source object and all of its children, and their children, and so on.\n * @param source <T> - The source object to clone\n * @returns <T> - A deep clone of the source object\n */\nexport function cloneDeep<T>(source: T): T {\n  if (!isObject(source)) {\n    return source;\n  }\n\n  const output: Record<string, unknown> = {};\n\n  for (const key in source) {\n    output[key] = cloneDeep(source[key]);\n  }\n\n  return output as T;\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAQlB,SAAS,UAAa,QAAc;AACzC,MAAI,CAAC,SAAS,MAAM,GAAG;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,SAAkC,CAAC;AAEzC,aAAW,OAAO,QAAQ;AACxB,WAAO,GAAG,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,EACrC;AAEA,SAAO;AACT;","names":[]}