UNPKG

3.23 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.TypedArrayPredicate = void 0;
4const predicate_1 = require("./predicate");
5class TypedArrayPredicate extends predicate_1.Predicate {
6 /**
7 Test a typed array to have a specific byte length.
8
9 @param byteLength - The byte length of the typed array.
10 */
11 byteLength(byteLength) {
12 return this.addValidator({
13 message: (value, label) => `Expected ${label} to have byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
14 validator: value => value.byteLength === byteLength
15 });
16 }
17 /**
18 Test a typed array to have a minimum byte length.
19
20 @param byteLength - The minimum byte length of the typed array.
21 */
22 minByteLength(byteLength) {
23 return this.addValidator({
24 message: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
25 validator: value => value.byteLength >= byteLength,
26 negatedMessage: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength - 1}\`, got \`${value.byteLength}\``
27 });
28 }
29 /**
30 Test a typed array to have a minimum byte length.
31
32 @param length - The minimum byte length of the typed array.
33 */
34 maxByteLength(byteLength) {
35 return this.addValidator({
36 message: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
37 validator: value => value.byteLength <= byteLength,
38 negatedMessage: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength + 1}\`, got \`${value.byteLength}\``
39 });
40 }
41 /**
42 Test a typed array to have a specific length.
43
44 @param length - The length of the typed array.
45 */
46 length(length) {
47 return this.addValidator({
48 message: (value, label) => `Expected ${label} to have length \`${length}\`, got \`${value.length}\``,
49 validator: value => value.length === length
50 });
51 }
52 /**
53 Test a typed array to have a minimum length.
54
55 @param length - The minimum length of the typed array.
56 */
57 minLength(length) {
58 return this.addValidator({
59 message: (value, label) => `Expected ${label} to have a minimum length of \`${length}\`, got \`${value.length}\``,
60 validator: value => value.length >= length,
61 negatedMessage: (value, label) => `Expected ${label} to have a maximum length of \`${length - 1}\`, got \`${value.length}\``
62 });
63 }
64 /**
65 Test a typed array to have a maximum length.
66
67 @param length - The maximum length of the typed array.
68 */
69 maxLength(length) {
70 return this.addValidator({
71 message: (value, label) => `Expected ${label} to have a maximum length of \`${length}\`, got \`${value.length}\``,
72 validator: value => value.length <= length,
73 negatedMessage: (value, label) => `Expected ${label} to have a minimum length of \`${length + 1}\`, got \`${value.length}\``
74 });
75 }
76}
77exports.TypedArrayPredicate = TypedArrayPredicate;