@typed/io
Version:
Runtime IO type system
16 lines • 633 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Array = exports.array = void 0;
const refinement_1 = require("./refinement");
const Type_1 = require("./Type");
const arrayBase = Type_1.Type.fromGuard({ is: (u) => Array.isArray(u) }, '`ReadonlyArray<unknown>');
function array(type, name = `ReadonlyArray<${type.name}>`) {
return {
...refinement_1.refinement(arrayBase, (as) => as.every((a) => type.is(a)), name),
member: type,
};
}
exports.array = array;
const _Array = array(Type_1.Any, `ReadonlyArray<unknown>`);
exports.Array = _Array;
//# sourceMappingURL=Array.js.map