UNPKG

1.28 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ArrayContains = exports.arrayContains = exports.ARRAY_CONTAINS = void 0;
4const ValidateBy_1 = require("../common/ValidateBy");
5exports.ARRAY_CONTAINS = 'arrayContains';
6/**
7 * Checks if array contains all values from the given array of values.
8 * If null or undefined is given then this function returns false.
9 */
10function arrayContains(array, values) {
11 if (!Array.isArray(array))
12 return false;
13 return values.every(value => array.indexOf(value) !== -1);
14}
15exports.arrayContains = arrayContains;
16/**
17 * Checks if array contains all values from the given array of values.
18 * If null or undefined is given then this function returns false.
19 */
20function ArrayContains(values, validationOptions) {
21 return (0, ValidateBy_1.ValidateBy)({
22 name: exports.ARRAY_CONTAINS,
23 constraints: [values],
24 validator: {
25 validate: (value, args) => arrayContains(value, args.constraints[0]),
26 defaultMessage: (0, ValidateBy_1.buildMessage)(eachPrefix => eachPrefix + '$property must contain $constraint1 values', validationOptions),
27 },
28 }, validationOptions);
29}
30exports.ArrayContains = ArrayContains;
31//# sourceMappingURL=ArrayContains.js.map
\No newline at end of file