immutable-class
Version:
A template for creating immutable classes
25 lines (24 loc) • 829 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.typeCheck = exports.isImmutableClass = exports.isArrayOf = void 0;
function isArrayOf(things, constructor) {
if (!Array.isArray(things))
return false;
for (let i = 0, length = things.length; i < length; i++) {
if (!(things[i] instanceof constructor))
return false;
}
return true;
}
exports.isArrayOf = isArrayOf;
function isImmutableClass(thing) {
if (!thing || typeof thing !== 'object')
return false;
const ClassFn = thing.constructor;
return (typeof ClassFn.fromJS === 'function' &&
typeof thing.toJS === 'function' &&
typeof thing.equals === 'function');
}
exports.isImmutableClass = isImmutableClass;
function typeCheck(_x) { }
exports.typeCheck = typeCheck;
;