Spaces:
Configuration error
Configuration error
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 |