1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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
|