1 | import { Predicate } from './predicate.js';
|
2 | export class ArrayBufferPredicate 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 | }
|