UNPKG

ts-cast

Version:
24 lines (23 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.and = exports.or = exports.not = void 0; var predicate_1 = require("./predicate"); var names_1 = require("../helpers/names"); var not = function (predicate) { return (0, names_1.withName)(function (value) { return !predicate(value); }, "not ".concat((0, predicate_1.predicateName)(predicate))); }; exports.not = not; var or = function () { var predicates = []; for (var _i = 0; _i < arguments.length; _i++) { predicates[_i] = arguments[_i]; } return (0, names_1.withName)(function (value) { return predicates.some(function (p) { return p(value); }); }, (0, names_1.joinNames)(predicates.map(predicate_1.predicateName), 'or')); }; exports.or = or; var and = function () { var predicates = []; for (var _i = 0; _i < arguments.length; _i++) { predicates[_i] = arguments[_i]; } return (0, names_1.withName)(function (value) { return predicates.every(function (p) { return p(value); }); }, (0, names_1.joinNames)(predicates.map(predicate_1.predicateName), 'and')); }; exports.and = and;