UNPKG

immutable-class

Version:

A template for creating immutable classes

25 lines (24 loc) 829 B
"use strict"; 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;