UNPKG

blake3

Version:

BLAKE3 hashing for JavaScript: native Node bindings (where available) and WebAssembly

40 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const base_1 = require("../base"); const hash_fn_1 = require("./hash-fn"); const encoding_1 = require("./encoding"); const blake3_js_1 = require("../../dist/wasm/browser/blake3_js"); const hash_reader_1 = require("./hash-reader"); const hash_1 = require("./hash"); /** * @inheritdoc */ class BrowserHasher extends base_1.BaseHash { /** * @inheritdoc * @override */ update(data) { return super.update(hash_fn_1.normalizeInput(data)); } digest(encoding, options) { let resolvedOpts; let resolvedEnc; if (encoding && typeof encoding === 'object') { resolvedOpts = encoding; resolvedEnc = undefined; } else { resolvedOpts = options; resolvedEnc = encoding; } const result = super.digest(resolvedOpts); return resolvedEnc ? encoding_1.mustGetEncoder(resolvedEnc)(result) : result; } } exports.BrowserHasher = BrowserHasher; /** * A Node.js crypto-like createHash method. */ exports.createHash = () => new BrowserHasher(blake3_js_1.create_hasher(), l => new hash_1.Hash(l), r => new hash_reader_1.BrowserHashReader(r)); //# sourceMappingURL=hash-instance.js.map