summaryrefslogtreecommitdiff
path: root/node_modules/blake3-wasm/esm/node
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/blake3-wasm/esm/node')
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-fn.d.ts24
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-fn.js40
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-fn.js.map1
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-instance.d.ts75
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-instance.js76
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-instance.js.map1
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-reader.d.ts16
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-reader.js24
-rw-r--r--node_modules/blake3-wasm/esm/node/hash-reader.js.map1
-rw-r--r--node_modules/blake3-wasm/esm/node/index.d.ts4
-rw-r--r--node_modules/blake3-wasm/esm/node/index.js5
-rw-r--r--node_modules/blake3-wasm/esm/node/index.js.map1
-rw-r--r--node_modules/blake3-wasm/esm/node/wasm.d.ts6
-rw-r--r--node_modules/blake3-wasm/esm/node/wasm.js12
-rw-r--r--node_modules/blake3-wasm/esm/node/wasm.js.map1
15 files changed, 287 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/esm/node/hash-fn.d.ts b/node_modules/blake3-wasm/esm/node/hash-fn.d.ts
new file mode 100644
index 0000000..33d7927
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-fn.d.ts
@@ -0,0 +1,24 @@
+/// <reference types="node" />
+import { BaseHashInput, IBaseHashOptions } from '../base/hash-fn';
+/**
+ * Input used for node-based hashes.
+ */
+export declare type HashInput = BaseHashInput | string;
+/**
+ * @hidden
+ */
+export declare const normalizeInput: (input: HashInput, encoding?: "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex" | undefined) => Uint8Array;
+/**
+ * Returns a blake3 hash of the input, returning the binary hash data.
+ */
+export declare function hash(input: HashInput, { length }?: IBaseHashOptions): Buffer | string;
+/**
+ * Given cryptographic key material and a context string, services a subkey of
+ * any length. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.derive_key.html}
+ * for more information.
+ */
+export declare function deriveKey(context: string, material: HashInput, { length }?: IBaseHashOptions): Buffer;
+/**
+ * The keyed hash function. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.keyed_hash.html}.
+ */
+export declare function keyedHash(key: Buffer, input: HashInput, { length }?: IBaseHashOptions): Buffer;
diff --git a/node_modules/blake3-wasm/esm/node/hash-fn.js b/node_modules/blake3-wasm/esm/node/hash-fn.js
new file mode 100644
index 0000000..6c47599
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-fn.js
@@ -0,0 +1,40 @@
+import { inputToArray, defaultHashLength } from '../base/hash-fn.js';
+import { hash as rawHash, create_derive as createDerive, create_keyed as createKeyed, } from '../../dist/wasm/nodejs/blake3_js.js';
+/**
+ * @hidden
+ */
+export const normalizeInput = (input, encoding) => inputToArray(typeof input === 'string' ? Buffer.from(input, encoding) : input);
+/**
+ * Returns a blake3 hash of the input, returning the binary hash data.
+ */
+export function hash(input, { length = defaultHashLength } = {}) {
+ const result = Buffer.alloc(length);
+ rawHash(normalizeInput(input), result);
+ return result;
+}
+/**
+ * Given cryptographic key material and a context string, services a subkey of
+ * any length. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.derive_key.html}
+ * for more information.
+ */
+export function deriveKey(context, material, { length = defaultHashLength } = {}) {
+ const derive = createDerive(context);
+ derive.update(normalizeInput(material));
+ const result = Buffer.alloc(length);
+ derive.digest(result);
+ return result;
+}
+/**
+ * The keyed hash function. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.keyed_hash.html}.
+ */
+export function keyedHash(key, input, { length = defaultHashLength } = {}) {
+ if (key.length !== 32) {
+ throw new Error(`key provided to keyedHash must be 32 bytes, got ${key.length}`);
+ }
+ const derive = createKeyed(key);
+ derive.update(normalizeInput(input));
+ const result = Buffer.alloc(length);
+ derive.digest(result);
+ return result;
+}
+//# sourceMappingURL=hash-fn.js.map \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/hash-fn.js.map b/node_modules/blake3-wasm/esm/node/hash-fn.js.map
new file mode 100644
index 0000000..f8d886e
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-fn.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"hash-fn.js","sourceRoot":"","sources":["../../ts/node/hash-fn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EACL,IAAI,IAAI,OAAO,EACf,aAAa,IAAI,YAAY,EAC7B,YAAY,IAAI,WAAW,GAC5B,MAAM,kCAAkC,CAAC;AAO1C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,QAAyB,EAAc,EAAE,CACxF,YAAY,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,KAAgB,EAChB,EAAE,MAAM,GAAG,iBAAiB,KAAuB,EAAE;IAErD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,QAAmB,EACnB,EAAE,MAAM,GAAG,iBAAiB,KAAuB,EAAE;IAErD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,GAAW,EACX,KAAgB,EAChB,EAAE,MAAM,GAAG,iBAAiB,KAAuB,EAAE;IAErD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;KAClF;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/hash-instance.d.ts b/node_modules/blake3-wasm/esm/node/hash-instance.d.ts
new file mode 100644
index 0000000..3a72c9f
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-instance.d.ts
@@ -0,0 +1,75 @@
+/// <reference types="node" />
+import { HashInput } from './hash-fn';
+import { IHasher, IInternalHash, IHasherDigestOptions } from '../base/index';
+import { Transform, TransformCallback } from 'stream';
+import { IBaseHashOptions } from '../base/hash-fn';
+import { NodeHashReader } from './hash-reader';
+export interface INodeHash extends IHasher<Buffer> {
+ /**
+ * @inheritdoc
+ * @override
+ */
+ update(data: HashInput, encoding?: BufferEncoding): this;
+ /**
+ * @inheritdoc
+ * @override
+ */
+ digest(options?: IBaseHashOptions): Buffer;
+ /**
+ * Returns a digest of the hash with the given set of hash options.
+ */
+ digest(encoding: undefined, options: IBaseHashOptions): Buffer;
+ /**
+ * Returns a digest of the hash with the given encoding.
+ */
+ digest(encoding: BufferEncoding, options?: IBaseHashOptions): string;
+}
+/**
+ * @inheritdoc
+ */
+export declare class NodeHash<Reader> extends Transform implements IHasher<Buffer> {
+ private readonly hash;
+ constructor(implementation: IInternalHash<Reader>, getReader: (r: Reader) => NodeHashReader);
+ /**
+ * @reader
+ */
+ reader(options?: {
+ dispose?: boolean;
+ }): NodeHashReader;
+ /**
+ * @inheritdoc
+ */
+ update(data: HashInput, encoding?: BufferEncoding): this;
+ /**
+ * @inheritdoc
+ */
+ digest(encoding?: IHasherDigestOptions): Buffer;
+ digest(encoding: undefined, options: IHasherDigestOptions): Buffer;
+ digest(encoding: BufferEncoding, options?: IHasherDigestOptions): string;
+ /**
+ * @inheritdoc
+ */
+ dispose(): void;
+ /**
+ * @inheritdoc
+ * @hidden
+ */
+ _transform(chunk: Buffer | string, encoding: string, callback: TransformCallback): void;
+ /**
+ * @inheritdoc
+ * @hidden
+ */
+ _flush(callback: TransformCallback): void;
+}
+/**
+ * A Node.js crypto-like createHash method.
+ */
+export declare const createHash: () => NodeHash<import("../../dist/wasm/nodejs/blake3_js").HashReader>;
+/**
+ * Construct a new Hasher for the keyed hash function.
+ */
+export declare const createKeyed: (key: Buffer) => NodeHash<import("../../dist/wasm/nodejs/blake3_js").HashReader>;
+/**
+ * Construct a new Hasher for the key derivation function.
+ */
+export declare const createDeriveKey: (context: string) => NodeHash<import("../../dist/wasm/nodejs/blake3_js").HashReader>;
diff --git a/node_modules/blake3-wasm/esm/node/hash-instance.js b/node_modules/blake3-wasm/esm/node/hash-instance.js
new file mode 100644
index 0000000..4e08d4f
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-instance.js
@@ -0,0 +1,76 @@
+import { normalizeInput } from './hash-fn.js';
+import { BaseHash } from '../base/index.js';
+import { Transform } from 'stream.js';
+import { getWasm } from './wasm.js';
+import { NodeHashReader } from './hash-reader.js';
+/**
+ * @inheritdoc
+ */
+export class NodeHash extends Transform {
+ constructor(implementation, getReader) {
+ super();
+ this.hash = new BaseHash(implementation, l => Buffer.alloc(l), getReader);
+ }
+ /**
+ * @reader
+ */
+ reader(options) {
+ const reader = this.hash.reader(options);
+ return reader;
+ }
+ /**
+ * @inheritdoc
+ */
+ update(data, encoding) {
+ this.hash.update(normalizeInput(data, encoding));
+ return this;
+ }
+ digest(encoding, options) {
+ let resolvedOpts;
+ let resolvedEnc;
+ if (encoding && typeof encoding === 'object') {
+ resolvedOpts = encoding;
+ resolvedEnc = undefined;
+ }
+ else {
+ resolvedOpts = options;
+ resolvedEnc = encoding;
+ }
+ const result = this.hash.digest(resolvedOpts);
+ return resolvedEnc ? result.toString(resolvedEnc) : result;
+ }
+ /**
+ * @inheritdoc
+ */
+ dispose() {
+ this.hash.dispose();
+ }
+ /**
+ * @inheritdoc
+ * @hidden
+ */
+ _transform(chunk, encoding, callback) {
+ this.update(chunk, encoding);
+ callback();
+ }
+ /**
+ * @inheritdoc
+ * @hidden
+ */
+ _flush(callback) {
+ callback(null, this.digest());
+ }
+}
+/**
+ * A Node.js crypto-like createHash method.
+ */
+export const createHash = () => new NodeHash(getWasm().create_hasher(), r => new NodeHashReader(r));
+/**
+ * Construct a new Hasher for the keyed hash function.
+ */
+export const createKeyed = (key) => new NodeHash(getWasm().create_keyed(key), r => new NodeHashReader(r));
+/**
+ * Construct a new Hasher for the key derivation function.
+ */
+export const createDeriveKey = (context) => new NodeHash(getWasm().create_derive(context), r => new NodeHashReader(r));
+//# sourceMappingURL=hash-instance.js.map \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/hash-instance.js.map b/node_modules/blake3-wasm/esm/node/hash-instance.js.map
new file mode 100644
index 0000000..a5679a8
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-instance.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"hash-instance.js","sourceRoot":"","sources":["../../ts/node/hash-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAgD,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0B/C;;GAEG;AACH,MAAM,OAAO,QAAiB,SAAQ,SAAS;IAG7C,YAAY,cAAqC,EAAE,SAAwC;QACzF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAA+B;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAe,EAAE,QAAyB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAQM,MAAM,CACX,QAAgD,EAChD,OAA8B;QAE9B,IAAI,YAA8C,CAAC;QACnD,IAAI,WAAuC,CAAC;QAC5C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC5C,YAAY,GAAG,QAAQ,CAAC;YACxB,WAAW,GAAG,SAAS,CAAC;SACzB;aAAM;YACL,YAAY,GAAG,OAAO,CAAC;YACvB,WAAW,GAAG,QAAQ,CAAC;SACxB;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAsB,EAAE,QAAgB,EAAE,QAA2B;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAA0B,CAAC,CAAC;QAC/C,QAAQ,EAAE,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAA2B;QAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CACjD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC"} \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/hash-reader.d.ts b/node_modules/blake3-wasm/esm/node/hash-reader.d.ts
new file mode 100644
index 0000000..f217f7d
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-reader.d.ts
@@ -0,0 +1,16 @@
+/// <reference types="node" />
+import { BaseHashReader } from '../base/hash-reader';
+/**
+ * A hash reader for WebAssembly targets.
+ */
+export declare class NodeHashReader extends BaseHashReader<Buffer> {
+ /**
+ * Converts first 32 bytes of the hash to a string with the given encoding.
+ */
+ toString(encoding?: BufferEncoding): string;
+ /**
+ * Converts first 32 bytes of the hash to an array.
+ */
+ toBuffer(): Buffer;
+ protected alloc(bytes: number): Buffer;
+}
diff --git a/node_modules/blake3-wasm/esm/node/hash-reader.js b/node_modules/blake3-wasm/esm/node/hash-reader.js
new file mode 100644
index 0000000..fdb6d97
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-reader.js
@@ -0,0 +1,24 @@
+import { BaseHashReader } from '../base/hash-reader.js';
+import { defaultHashLength } from '../base/hash-fn.js';
+/**
+ * A hash reader for WebAssembly targets.
+ */
+export class NodeHashReader extends BaseHashReader {
+ /**
+ * Converts first 32 bytes of the hash to a string with the given encoding.
+ */
+ toString(encoding = 'hex') {
+ return this.toBuffer().toString(encoding);
+ }
+ /**
+ * Converts first 32 bytes of the hash to an array.
+ */
+ toBuffer() {
+ this.position = BigInt(0);
+ return this.read(defaultHashLength);
+ }
+ alloc(bytes) {
+ return Buffer.alloc(bytes);
+ }
+}
+//# sourceMappingURL=hash-reader.js.map \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/hash-reader.js.map b/node_modules/blake3-wasm/esm/node/hash-reader.js.map
new file mode 100644
index 0000000..d84088d
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/hash-reader.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"hash-reader.js","sourceRoot":"","sources":["../../ts/node/hash-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAsB;IACxD;;OAEG;IACI,QAAQ,CAAC,WAA2B,KAAK;QAC9C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,KAAa;QAC3B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF"} \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/index.d.ts b/node_modules/blake3-wasm/esm/node/index.d.ts
new file mode 100644
index 0000000..7cd09cc
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/index.d.ts
@@ -0,0 +1,4 @@
+export { hash, deriveKey, keyedHash, HashInput } from './hash-fn';
+export * from './hash-instance';
+export * from './hash-reader';
+export * from '../base/index';
diff --git a/node_modules/blake3-wasm/esm/node/index.js b/node_modules/blake3-wasm/esm/node/index.js
new file mode 100644
index 0000000..86df783
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/index.js
@@ -0,0 +1,5 @@
+export { hash, deriveKey, keyedHash } from './hash-fn.js';
+export * from './hash-instance.js';
+export * from './hash-reader.js';
+export * from '../base/index.js';
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/index.js.map b/node_modules/blake3-wasm/esm/node/index.js.map
new file mode 100644
index 0000000..22c4bc7
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,WAAW,CAAC;AAClE,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"} \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/wasm.d.ts b/node_modules/blake3-wasm/esm/node/wasm.d.ts
new file mode 100644
index 0000000..41e73fd
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/wasm.d.ts
@@ -0,0 +1,6 @@
+import * as wasm from '../../dist/wasm/nodejs/blake3_js';
+/**
+ * Lazyily get the WebAssembly module. Used to avoid unnecessarily importing
+ * the wasm when extending the WebAssembly node code for native bindings.
+ */
+export declare const getWasm: () => typeof wasm;
diff --git a/node_modules/blake3-wasm/esm/node/wasm.js b/node_modules/blake3-wasm/esm/node/wasm.js
new file mode 100644
index 0000000..026a374
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/wasm.js
@@ -0,0 +1,12 @@
+let w;
+/**
+ * Lazyily get the WebAssembly module. Used to avoid unnecessarily importing
+ * the wasm when extending the WebAssembly node code for native bindings.
+ */
+export const getWasm = () => {
+ if (!w) {
+ w = require('../../dist/wasm/nodejs/blake3_js');
+ }
+ return w;
+};
+//# sourceMappingURL=wasm.js.map \ No newline at end of file
diff --git a/node_modules/blake3-wasm/esm/node/wasm.js.map b/node_modules/blake3-wasm/esm/node/wasm.js.map
new file mode 100644
index 0000000..5249d6c
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/node/wasm.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../ts/node/wasm.ts"],"names":[],"mappings":"AAEA,IAAI,CAA0B,CAAC;AAE/B;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,IAAI,CAAC,CAAC,EAAE;QACN,CAAC,GAAG,OAAO,CAAC,kCAAkC,CAAgB,CAAC;KAChE;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"} \ No newline at end of file