@naverpay/hidash
Version:
improved lodash
2 lines (1 loc) • 913 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("core-js-pure/features/instance/push.js"),s=require("./internal/to-string-tags.js"),f=require("./isArray.js");function a(i){const u=new WeakSet;function n(e){const c=Object.prototype.toString.call(e);if(c===s.WEAK_MAP_TAG||c===s.WEAK_SET_TAG||c===s.FUNCTION_TAG)return{};if(e===null||typeof e!="object")return e;if(u.has(e))return{};if(u.add(e),f.isArray(e)){const t=[];return e.forEach(r=>{l(t).call(t,n(r))}),t}if(e instanceof Map){const t=new Map;return e.forEach((r,o)=>{t.set(o,n(r))}),t}if(e instanceof Set){const t=new Set;return e.forEach(r=>{t.add(n(r))}),t}if(c==="[object Object]"){const t=Object.getPrototypeOf(e),r=Object.create(t);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=n(e[o]));return r}return e}return n(i)}exports.cloneDeep=a;exports.default=a;