summaryrefslogtreecommitdiff
path: root/node_modules/blake3-wasm/esm/browser/hash-instance.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/blake3-wasm/esm/browser/hash-instance.js')
-rw-r--r--node_modules/blake3-wasm/esm/browser/hash-instance.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/esm/browser/hash-instance.js b/node_modules/blake3-wasm/esm/browser/hash-instance.js
new file mode 100644
index 0000000..6f93c20
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/browser/hash-instance.js
@@ -0,0 +1,41 @@
+import { BaseHash as BaseHasher } from '../base/index.js';
+import { normalizeInput } from './hash-fn.js';
+import { mustGetEncoder } from './encoding.js';
+import { BrowserHashReader } from './hash-reader.js';
+import { Hash } from './hash.js';
+import { getWasm } from './wasm.js';
+/**
+ * @inheritdoc
+ */
+export class BrowserHasher extends BaseHasher {
+ /**
+ * @inheritdoc
+ * @override
+ */
+ update(data) {
+ return super.update(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 ? mustGetEncoder(resolvedEnc)(result) : result;
+ }
+}
+/**
+ * A Node.js crypto-like createHash method.
+ */
+export const createHash = () => new BrowserHasher(getWasm().create_hasher(), l => new Hash(l), r => new BrowserHashReader(r));
+/**
+ * A Node.js crypto-like createHash method.
+ */
+export const createKeyed = (key) => new BrowserHasher(getWasm().create_keyed(key), l => new Hash(l), r => new BrowserHashReader(r));
+//# sourceMappingURL=hash-instance.js.map \ No newline at end of file