UNPKG

1.9 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.DataViewPredicate = void 0;
4const predicate_1 = require("./predicate");
5class DataViewPredicate extends predicate_1.Predicate {
6 /**
7 @hidden
8 */
9 constructor(options) {
10 super('DataView', options);
11 }
12 /**
13 Test a DataView to have a specific byte length.
14
15 @param byteLength - The byte length of the DataView.
16 */
17 byteLength(byteLength) {
18 return this.addValidator({
19 message: (value, label) => `Expected ${label} to have byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
20 validator: value => value.byteLength === byteLength
21 });
22 }
23 /**
24 Test a DataView to have a minimum byte length.
25
26 @param byteLength - The minimum byte length of the DataView.
27 */
28 minByteLength(byteLength) {
29 return this.addValidator({
30 message: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
31 validator: value => value.byteLength >= byteLength,
32 negatedMessage: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength - 1}\`, got \`${value.byteLength}\``
33 });
34 }
35 /**
36 Test a DataView to have a minimum byte length.
37
38 @param length - The minimum byte length of the DataView.
39 */
40 maxByteLength(byteLength) {
41 return this.addValidator({
42 message: (value, label) => `Expected ${label} to have a maximum byte length of \`${byteLength}\`, got \`${value.byteLength}\``,
43 validator: value => value.byteLength <= byteLength,
44 negatedMessage: (value, label) => `Expected ${label} to have a minimum byte length of \`${byteLength + 1}\`, got \`${value.byteLength}\``
45 });
46 }
47}
48exports.DataViewPredicate = DataViewPredicate;