Urara-Blog/node_modules/.pnpm-store/v3/files/ea/0db73c89d04af92068b595c13c5a1bc533ef68b526bde829c926a79914fd753926913edcd9c428aa9efec6babb465c6914039aa4b13e40684d4adbf43054e0
2022-08-14 01:14:53 +08:00

41 lines
No EOL
909 B
Text

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
function deepClone(value, cache) {
if (value !== null) {
if (cache.has(value)) return cache.get(value);
let cloned;
if (Array.isArray(value)) {
cloned = new Array(value.length);
for (let i = 0; i < value.length; i++) {
cloned[i] = typeof value[i] !== "object" ? value[i] : deepClone(value[i], cache);
}
} else {
cloned = {};
const keys = Object.keys(value);
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
cloned[key] = typeof value[key] !== "object" ? value[key] : deepClone(value[key], cache);
}
}
cache.set(value, cloned);
return cloned;
}
return value;
}
function _default(value) {
if (typeof value !== "object") return value;
return deepClone(value, new Map());
}
0 && 0;