eslint-plugin-comment-length
Version:
An ESLint plugin that provides rules that limit the line length of your comments
31 lines (29 loc) • 709 B
JavaScript
function deepCloneValue(val) {
if (isRecord(val)) {
return deepCloneObject(val);
} else if (Array.isArray(val)) {
return deepCloneArray(val);
} else {
return val;
}
}
function deepCloneObject(a) {
const keys = new Set(Object.keys(a));
const clone = {};
for (const key of keys) {
clone[key] = deepCloneValue(a[key]);
}
return clone;
}
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);
}
export { deepCloneObject, deepCloneValue };
//# sourceMappingURL=immutable-deep-merge.js.map