plain-object-clone
Version:
Extremely fast function optimized for deep cloning json-serializable plain objects.
21 lines (20 loc) • 511 B
JavaScript
/* MAIN */
const cloneBase = (object, base) => {
for (const key in object) {
if (!object.hasOwnProperty(key))
continue;
const value = object[key];
if (typeof value === 'object' && value !== null) {
base[key] = cloneBase(value, value.constructor());
}
else {
base[key] = value;
}
}
return base;
};
const clone = (object) => {
return cloneBase(object, object.constructor());
};
/* EXPORT */
export default clone;