mirror of
https://github.com/JonasunderscoreJones/api-worker.git
synced 2025-10-23 18:39:19 +02:00
44 lines
No EOL
1.4 KiB
JavaScript
44 lines
No EOL
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const index_1 = require("../base/index");
|
|
const hash_fn_1 = require("./hash-fn");
|
|
const encoding_1 = require("./encoding");
|
|
const hash_reader_1 = require("./hash-reader");
|
|
const hash_1 = require("./hash");
|
|
const wasm_1 = require("./wasm");
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
class BrowserHasher extends index_1.BaseHash {
|
|
/**
|
|
* @inheritdoc
|
|
* @override
|
|
*/
|
|
update(data) {
|
|
return super.update(hash_fn_1.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 ? encoding_1.mustGetEncoder(resolvedEnc)(result) : result;
|
|
}
|
|
}
|
|
exports.BrowserHasher = BrowserHasher;
|
|
/**
|
|
* A Node.js crypto-like createHash method.
|
|
*/
|
|
exports.createHash = () => new BrowserHasher(wasm_1.getWasm().create_hasher(), l => new hash_1.Hash(l), r => new hash_reader_1.BrowserHashReader(r));
|
|
/**
|
|
* A Node.js crypto-like createHash method.
|
|
*/
|
|
exports.createKeyed = (key) => new BrowserHasher(wasm_1.getWasm().create_keyed(key), l => new hash_1.Hash(l), r => new hash_reader_1.BrowserHashReader(r));
|
|
//# sourceMappingURL=hash-instance.js.map
|