52 lines
1.6 KiB
Plaintext
52 lines
1.6 KiB
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;
|
|
function number(n) {
|
|
if (!Number.isSafeInteger(n) || n < 0)
|
|
throw new Error(`Wrong positive integer: ${n}`);
|
|
}
|
|
exports.number = number;
|
|
function bool(b) {
|
|
if (typeof b !== 'boolean')
|
|
throw new Error(`Expected boolean, not ${b}`);
|
|
}
|
|
exports.bool = bool;
|
|
function bytes(b, ...lengths) {
|
|
if (!(b instanceof Uint8Array))
|
|
throw new TypeError('Expected Uint8Array');
|
|
if (lengths.length > 0 && !lengths.includes(b.length))
|
|
throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
|
|
}
|
|
exports.bytes = bytes;
|
|
function hash(hash) {
|
|
if (typeof hash !== 'function' || typeof hash.create !== 'function')
|
|
throw new Error('Hash should be wrapped by utils.wrapConstructor');
|
|
number(hash.outputLen);
|
|
number(hash.blockLen);
|
|
}
|
|
exports.hash = hash;
|
|
function exists(instance, checkFinished = true) {
|
|
if (instance.destroyed)
|
|
throw new Error('Hash instance has been destroyed');
|
|
if (checkFinished && instance.finished)
|
|
throw new Error('Hash#digest() has already been called');
|
|
}
|
|
exports.exists = exists;
|
|
function output(out, instance) {
|
|
bytes(out);
|
|
const min = instance.outputLen;
|
|
if (out.length < min) {
|
|
throw new Error(`digestInto() expects output buffer of length at least ${min}`);
|
|
}
|
|
}
|
|
exports.output = output;
|
|
const assert = {
|
|
number,
|
|
bool,
|
|
bytes,
|
|
hash,
|
|
exists,
|
|
output,
|
|
};
|
|
exports.default = assert;
|
|
//# sourceMappingURL=_assert.js.map |