blob: 6f93c204ea93c161db11e0e0c8bd4e6cc7312b8b (
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
32
33
34
35
36
37
38
39
40
41
|
import { BaseHash as BaseHasher } from '../base/index.js';
import { normalizeInput } from './hash-fn.js';
import { mustGetEncoder } from './encoding.js';
import { BrowserHashReader } from './hash-reader.js';
import { Hash } from './hash.js';
import { getWasm } from './wasm.js';
/**
* @inheritdoc
*/
export class BrowserHasher extends BaseHasher {
/**
* @inheritdoc
* @override
*/
update(data) {
return super.update(normalizeInput(data));
}
digest(encoding, options) {
let resolvedOpts;
let resolvedEnc;
if (encoding && typeof encoding === 'object') {
resolvedOpts = encoding;
resolvedEnc = undefined;
}
else {
resolvedOpts = options;
resolvedEnc = encoding;
}
const result = super.digest(resolvedOpts);
return resolvedEnc ? mustGetEncoder(resolvedEnc)(result) : result;
}
}
/**
* A Node.js crypto-like createHash method.
*/
export const createHash = () => new BrowserHasher(getWasm().create_hasher(), l => new Hash(l), r => new BrowserHashReader(r));
/**
* A Node.js crypto-like createHash method.
*/
export const createKeyed = (key) => new BrowserHasher(getWasm().create_keyed(key), l => new Hash(l), r => new BrowserHashReader(r));
//# sourceMappingURL=hash-instance.js.map
|