From 4e87195739f2a5d9a05451b48773c8afdc680765 Mon Sep 17 00:00:00 2001 From: akiyamn Date: Sun, 24 Sep 2023 23:22:21 +1000 Subject: Initial commit (by create-cloudflare CLI) --- .../blake3-wasm/dist/base/hash-instance.js | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 node_modules/blake3-wasm/dist/base/hash-instance.js (limited to 'node_modules/blake3-wasm/dist/base/hash-instance.js') diff --git a/node_modules/blake3-wasm/dist/base/hash-instance.js b/node_modules/blake3-wasm/dist/base/hash-instance.js new file mode 100644 index 0000000..aae0e56 --- /dev/null +++ b/node_modules/blake3-wasm/dist/base/hash-instance.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const hash_fn_1 = require("./hash-fn"); +/** + * Base implementation of hashing. + */ +class BaseHash { + constructor(implementation, alloc, getReader) { + this.alloc = alloc; + this.getReader = getReader; + this.hash = implementation; + } + /** + * @inheritdoc + */ + update(data) { + if (!this.hash) { + throw new Error('Cannot continue updating hashing after dispose() has been called'); + } + this.hash.update(hash_fn_1.inputToArray(data)); + return this; + } + /** + * @inheritdoc + */ + digest({ length = hash_fn_1.defaultHashLength, dispose = true } = {}) { + if (!this.hash) { + throw new Error('Cannot call digest() after dipose() has been called'); + } + const digested = this.alloc(length); + this.hash.digest(digested); + if (dispose) { + this.dispose(); + } + return digested; + } + /** + * @inheritdoc + */ + reader({ dispose = true } = {}) { + if (!this.hash) { + throw new Error('Cannot call reader() after dipose() has been called'); + } + const reader = this.getReader(this.hash.reader()); + if (dispose) { + this.dispose(); + } + return reader; + } + /** + * @inheritdoc + */ + dispose() { + var _a; + (_a = this.hash) === null || _a === void 0 ? void 0 : _a.free(); + this.hash = undefined; + } +} +exports.BaseHash = BaseHash; +//# sourceMappingURL=hash-instance.js.map \ No newline at end of file -- cgit v1.2.3