blob: cd30204923eaa1e9414cd40f0716595a2a62c33f (
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
27
28
29
30
31
|
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const native_1 = __importDefault(require("./native"));
const hash_instance_1 = require("../node/hash-instance");
const hash_reader_1 = require("../node/hash-reader");
// 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 hash_reader_1.NodeHashReader({
fill: target => r.fill(target),
set_position: position => {
bigIntBuffer.writeBigUInt64BE(position);
r.set_position(bigIntBuffer);
},
});
/**
* A Node.js crypto-like createHash method.
*/
exports.createHash = () => new hash_instance_1.NodeHash(new native_1.default.Hasher(), readerFactory);
/**
* Construct a new Hasher for the keyed hash function.
*/
exports.createKeyed = (key) => new hash_instance_1.NodeHash(new native_1.default.Hasher(key), readerFactory);
/**
* Construct a new Hasher for the key derivation function.
*/
exports.createDeriveKey = (context) => new hash_instance_1.NodeHash(new native_1.default.Hasher(undefined, context), readerFactory);
//# sourceMappingURL=hash-instance.js.map
|