summaryrefslogtreecommitdiff
path: root/node_modules/blake3-wasm/browser-async.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/blake3-wasm/browser-async.js')
-rw-r--r--node_modules/blake3-wasm/browser-async.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/browser-async.js b/node_modules/blake3-wasm/browser-async.js
new file mode 100644
index 0000000..b1b9b65
--- /dev/null
+++ b/node_modules/blake3-wasm/browser-async.js
@@ -0,0 +1,20 @@
+import { provideWasm } from './esm/browser/wasm.js';
+import * as wasm from './dist/wasm/web/blake3_js.js';
+import * as blake3 from './esm/browser/index.js';
+
+let cached;
+
+/**
+ * Manually loads the WebAssembly module, returning a promise that resolves
+ * to the BLAKE3 implementation once available.
+ */
+export default function load(module) {
+ if (!cached) {
+ cached = wasm.default(module).then(() => {
+ provideWasm(wasm);
+ return blake3;
+ });
+ }
+
+ return cached;
+}