1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.createDualHasher = exports.createBitHasher = exports.createAsHex = void 0;
|
4 | const util_1 = require("@polkadot/util");
|
5 | const wasm_crypto_1 = require("@polkadot/wasm-crypto");
|
6 |
|
7 | function createAsHex(fn) {
|
8 | return (...args) => (0, util_1.u8aToHex)(fn(...args));
|
9 | }
|
10 | exports.createAsHex = createAsHex;
|
11 |
|
12 | function createBitHasher(bitLength, fn) {
|
13 | return (data, onlyJs) => fn(data, bitLength, onlyJs);
|
14 | }
|
15 | exports.createBitHasher = createBitHasher;
|
16 |
|
17 | function createDualHasher(wa, js) {
|
18 | return (value, bitLength = 256, onlyJs) => {
|
19 | const u8a = (0, util_1.u8aToU8a)(value);
|
20 | return !util_1.hasBigInt || (!onlyJs && (0, wasm_crypto_1.isReady)())
|
21 | ? wa[bitLength](u8a)
|
22 | : js[bitLength](u8a);
|
23 | };
|
24 | }
|
25 | exports.createDualHasher = createDualHasher;
|