@isentinel/eslint-plugin-comment-length
Version:
35 lines • 939 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepCloneObject = exports.deepCloneValue = void 0;
function deepCloneValue(val) {
if (isRecord(val)) {
return deepCloneObject(val);
}
else if (Array.isArray(val)) {
return deepCloneArray(val);
}
else {
return val;
}
}
exports.deepCloneValue = deepCloneValue;
function deepCloneObject(a) {
const keys = new Set(Object.keys(a));
const clone = {};
for (const key of keys) {
clone[key] = deepCloneValue(a[key]);
}
return clone;
}
exports.deepCloneObject = deepCloneObject;
function deepCloneArray(arr) {
const newArr = [];
for (const val of arr) {
newArr.push(deepCloneValue(val));
}
return newArr;
}
function isRecord(value) {
return typeof value === "object" && value != null && !Array.isArray(value);
}
//# sourceMappingURL=immutable-deep-merge.js.map