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

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 };