@hazae41/base58
Version:
Base58 adapter for WebAssembly and JS implementations
35 lines (32 loc) • 1.15 kB
JavaScript
import { __addDisposableResource, __disposeResources } from '../../../node_modules/tslib/tslib.es6.mjs';
import { Ref, Pin } from '@hazae41/box';
function fromWasm(wasm) {
const { Memory, base58_encode, base58_decode } = wasm;
function getMemory(bytesOrCopiable) {
if (bytesOrCopiable instanceof Memory)
return new Ref(bytesOrCopiable);
if (bytesOrCopiable instanceof Uint8Array)
return Pin.from(new Memory(bytesOrCopiable));
return Pin.from(new Memory(bytesOrCopiable.bytes));
}
function encodeOrThrow(bytes) {
const env_1 = { stack: [], error: void 0, hasError: false };
try {
const memory = __addDisposableResource(env_1, getMemory(bytes), false);
return base58_encode(memory.value);
}
catch (e_1) {
env_1.error = e_1;
env_1.hasError = true;
}
finally {
__disposeResources(env_1);
}
}
function decodeOrThrow(text) {
return base58_decode(text);
}
return { encodeOrThrow, decodeOrThrow };
}
export { fromWasm };
//# sourceMappingURL=wasm.mjs.map