@bshg/validation
Version:
Validation Library for TypeScript projects
83 lines (82 loc) • 2.64 kB
JavaScript
;
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;