Spaces:
Configuration error
Configuration error
File size: 2,235 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 77 78 79 |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const hash_fn_1 = require("./hash-fn");
const index_1 = require("../base/index");
const stream_1 = require("stream");
const wasm_1 = require("./wasm");
const hash_reader_1 = require("./hash-reader");
/**
* @inheritdoc
*/
class NodeHash extends stream_1.Transform {
constructor(implementation, getReader) {
super();
this.hash = new index_1.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(hash_fn_1.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());
}
}
exports.NodeHash = NodeHash;
/**
* A Node.js crypto-like createHash method.
*/
exports.createHash = () => new NodeHash(wasm_1.getWasm().create_hasher(), r => new hash_reader_1.NodeHashReader(r));
/**
* Construct a new Hasher for the keyed hash function.
*/
exports.createKeyed = (key) => new NodeHash(wasm_1.getWasm().create_keyed(key), r => new hash_reader_1.NodeHashReader(r));
/**
* Construct a new Hasher for the key derivation function.
*/
exports.createDeriveKey = (context) => new NodeHash(wasm_1.getWasm().create_derive(context), r => new hash_reader_1.NodeHashReader(r));
//# sourceMappingURL=hash-instance.js.map |