You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
416 B
15 lines
416 B
const deepFreeze = (obj) => {
|
|
if (obj && typeof obj === "object" && !Object.isFrozen(obj)) {
|
|
Object.getOwnPropertyNames(obj).forEach((prop) => {
|
|
const value = obj[prop];
|
|
if (value && typeof value === "object") deepFreeze(value);
|
|
});
|
|
Object.freeze(obj);
|
|
}
|
|
return obj;
|
|
};
|
|
|
|
const isFiniteNumber = (v) => typeof v === "number" && Number.isFinite(v);
|
|
|
|
export { deepFreeze, isFiniteNumber };
|