1 | import { Predicate } from './predicate.js';
|
2 | export class TypedArrayPredicate extends Predicate {
|
3 | |
4 |
|
5 |
|
6 |
|
7 |
|
8 | byteLength(byteLength) {
|
9 | return this.addValidator({
|
10 | message: (value, label) => `Expected ${label} to have byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
|
11 | validator: value => value.byteLength === byteLength,
|
12 | });
|
13 | }
|
14 | |
15 |
|
16 |
|
17 |
|
18 |
|
19 | minByteLength(byteLength) {
|
20 | return this.addValidator({
|
21 | message: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
|
22 | validator: value => value.byteLength >= byteLength,
|
23 | negatedMessage: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength - 1}\`, got \`${value.byteLength}\``,
|
24 | });
|
25 | }
|
26 | |
27 |
|
28 |
|
29 |
|
30 |
|
31 | maxByteLength(byteLength) {
|
32 | return this.addValidator({
|
33 | message: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
|
34 | validator: value => value.byteLength <= byteLength,
|
35 | negatedMessage: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength + 1}\`, got \`${value.byteLength}\``,
|
36 | });
|
37 | }
|
38 | |
39 |
|
40 |
|
41 |
|
42 |
|
43 | length(length) {
|
44 | return this.addValidator({
|
45 | message: (value, label) => `Expected ${label} to have length \`${length}\`, got \`${value.length}\``,
|
46 | validator: value => value.length === length,
|
47 | });
|
48 | }
|
49 | |
50 |
|
51 |
|
52 |
|
53 |
|
54 | minLength(length) {
|
55 | return this.addValidator({
|
56 | message: (value, label) => `Expected ${label} to have a minimum length of \`${length}\`, got \`${value.length}\``,
|
57 | validator: value => value.length >= length,
|
58 | negatedMessage: (value, label) => `Expected ${label} to have a maximum length of \`${length - 1}\`, got \`${value.length}\``,
|
59 | });
|
60 | }
|
61 | |
62 |
|
63 |
|
64 |
|
65 |
|
66 | maxLength(length) {
|
67 | return this.addValidator({
|
68 | message: (value, label) => `Expected ${label} to have a maximum length of \`${length}\`, got \`${value.length}\``,
|
69 | validator: value => value.length <= length,
|
70 | negatedMessage: (value, label) => `Expected ${label} to have a minimum length of \`${length + 1}\`, got \`${value.length}\``,
|
71 | });
|
72 | }
|
73 | }
|