summaryrefslogtreecommitdiff
path: root/node_modules/blake3-wasm/esm/base/hash-instance.d.ts
diff options
context:
space:
mode:
authorakiyamn2023-09-24 23:22:21 +1000
committerakiyamn2023-09-24 23:22:21 +1000
commit4e87195739f2a5d9a05451b48773c8afdc680765 (patch)
tree9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/blake3-wasm/esm/base/hash-instance.d.ts
downloadprice-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz
price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/blake3-wasm/esm/base/hash-instance.d.ts')
-rw-r--r--node_modules/blake3-wasm/esm/base/hash-instance.d.ts79
1 files changed, 79 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/esm/base/hash-instance.d.ts b/node_modules/blake3-wasm/esm/base/hash-instance.d.ts
new file mode 100644
index 0000000..3f55095
--- /dev/null
+++ b/node_modules/blake3-wasm/esm/base/hash-instance.d.ts
@@ -0,0 +1,79 @@
+import { BaseHashInput, IBaseHashOptions } from './hash-fn';
+import { IHashReader } from './hash-reader';
+/**
+ * A blake3 hash. Quite similar to Node's crypto hashing.
+ *
+ * Note that you must call {@link IHash#dispose} or {@link IHash#done} when
+ * you're finished with it to free memory.
+ */
+export interface IHasher<T> {
+ /**
+ * Adds the given data to the hash.
+ * @throws {Error} if {@link IHash#digest} has already been called.
+ */
+ update(data: BaseHashInput): this;
+ /**
+ * Returns a digest of the hash.
+ *
+ * If `dispose: false` is given in the options, the hash will not
+ * automatically be disposed of, allowing you to continue updating
+ * it after obtaining the current reader.
+ */
+ digest(options?: IBaseHashOptions & {
+ dispose?: boolean;
+ }): T;
+ /**
+ * Returns a {@link HashReader} for the current hash.
+ *
+ * If `dispose: false` is given in the options, the hash will not
+ * automatically be disposed of, allowing you to continue updating
+ * it after obtaining the current reader.
+ */
+ reader(options?: {
+ dispose?: boolean;
+ }): IHashReader<T>;
+ /**
+ * Frees data associated with the hash. This *must* be called if
+ * {@link IHash#digest} is not called in order to free memory.
+ */
+ dispose(): void;
+}
+/**
+ * @hidden
+ */
+export interface IInternalHash<Reader> {
+ free(): void;
+ reader(): Reader;
+ update(bytes: Uint8Array): void;
+ digest(into: Uint8Array): void;
+}
+export interface IHasherDigestOptions extends IBaseHashOptions {
+ dispose?: boolean;
+}
+/**
+ * Base implementation of hashing.
+ */
+export declare class BaseHash<Binary extends Uint8Array, InternalReader, Reader extends IHashReader<Binary>> implements IHasher<Binary> {
+ private readonly alloc;
+ private readonly getReader;
+ private hash;
+ constructor(implementation: IInternalHash<InternalReader>, alloc: (length: number) => Binary, getReader: (internal: InternalReader) => Reader);
+ /**
+ * @inheritdoc
+ */
+ update(data: BaseHashInput): this;
+ /**
+ * @inheritdoc
+ */
+ digest({ length, dispose }?: IHasherDigestOptions): Binary;
+ /**
+ * @inheritdoc
+ */
+ reader({ dispose }?: {
+ dispose?: boolean;
+ }): Reader;
+ /**
+ * @inheritdoc
+ */
+ dispose(): void;
+}