UNPKG

@polgubau/utils

Version:

A collection of utility functions for TypeScript

1 lines 875 B
{"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":[]}