1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ArrayContains = exports.arrayContains = exports.ARRAY_CONTAINS = void 0;
|
4 | const ValidateBy_1 = require("../common/ValidateBy");
|
5 | exports.ARRAY_CONTAINS = 'arrayContains';
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function arrayContains(array, values) {
|
11 | if (!Array.isArray(array))
|
12 | return false;
|
13 | return values.every(value => array.indexOf(value) !== -1);
|
14 | }
|
15 | exports.arrayContains = arrayContains;
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | function 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 | }
|
30 | exports.ArrayContains = ArrayContains;
|
31 |
|
\ | No newline at end of file |