blob: 86da52d012d8b824b2ec42c4042893ddaa1bf61d (
plain)
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
|
import native from './native.js';
import { NodeHash } from '../node/hash-instance.js';
import { NodeHashReader } from '../node/hash-reader.js';
// A buffer we reuse for sending bigints. set_position is synchronous, so
// this just saves creating garbage.
const bigIntBuffer = Buffer.alloc(8);
const readerFactory = (r) => new NodeHashReader({
fill: target => r.fill(target),
set_position: position => {
bigIntBuffer.writeBigUInt64BE(position);
r.set_position(bigIntBuffer);
},
});
/**
* A Node.js crypto-like createHash method.
*/
export const createHash = () => new NodeHash(new native.Hasher(), readerFactory);
/**
* Construct a new Hasher for the keyed hash function.
*/
export const createKeyed = (key) => new NodeHash(new native.Hasher(key), readerFactory);
/**
* Construct a new Hasher for the key derivation function.
*/
export const createDeriveKey = (context) => new NodeHash(new native.Hasher(undefined, context), readerFactory);
//# sourceMappingURL=hash-instance.js.map
|