Icard/angular-clarity-master(work.../node_modules/klona/json/index.mjs

29 lines
605 B
JavaScript
Raw Normal View History

2024-07-16 14:55:36 +00:00
export function klona(val) {
var k, out, tmp;
if (Array.isArray(val)) {
out = Array(k=val.length);
while (k--) out[k] = (tmp=val[k]) && typeof tmp === 'object' ? klona(tmp) : tmp;
return out;
}
if (Object.prototype.toString.call(val) === '[object Object]') {
out = {}; // null
for (k in val) {
if (k === '__proto__') {
Object.defineProperty(out, k, {
value: klona(val[k]),
configurable: true,
enumerable: true,
writable: true,
});
} else {
out[k] = (tmp=val[k]) && typeof tmp === 'object' ? klona(tmp) : tmp;
}
}
return out;
}
return val;
}