File size: 2,376 Bytes
5641073
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/// <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>;