UNPKG

@bshg/validation

Version:

Validation Library for TypeScript projects

83 lines (82 loc) 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Arrays = void 0; const base_1 = require("./base"); const messages_1 = require("../messages"); const msgs = () => messages_1.CurrentLocalize.array; class Arrays extends base_1.TypeValidator { undefined() { return new Arrays(); } length(length, options) { return this.useCostume({ error: value => value !== undefined && value.length !== length, message: msgs().length, options: options, args: [length], }); } min(length, options) { return this.useCostume({ error: value => value !== undefined && value.length < length, message: msgs().min, options: options, args: [length], }); } max(length, options) { return this.useCostume({ error: value => value !== undefined && value.length > length, message: msgs().max, options: options, args: [length], }); } has(value, options) { return this.useCostume({ error: (array) => array !== undefined && !array.includes(value), message: msgs().has, options: options, args: [value], }); } hasAll(values, options) { return this.useCostume({ error: (array) => array !== undefined && !values.every(value => array.includes(value)), message: msgs().hasAll, options: options, args: [values.join(", ")], }); } hasAny(values, options) { return this.useCostume({ error: (array) => array !== undefined && values.some(value => array.includes(value)), message: msgs().hasAny, options: options, args: [values.join(", ")], }); } hasNone(values, options) { return this.useCostume({ error: (array) => array !== undefined && values.every(value => !array.includes(value)), message: msgs().hasNone, options: options, args: [values.join(", ")], }); } some(predicate, options) { return this.useCostume({ error: (array) => array !== undefined && array.some(predicate), message: msgs().some, options: options, }); } every(predicate, options) { return this.useCostume({ error: (array) => array !== undefined && array.every(predicate), message: msgs().every, options: options, }); } } exports.Arrays = Arrays;