@hazae41/base64
Version:
Base64 adapter for WebAssembly and JS implementations
61 lines (57 loc) • 2.09 kB
JavaScript
var tslib_es6 = require('../../../node_modules/tslib/tslib.es6.cjs');
var box = require('@hazae41/box');
var buffer = require('./buffer.cjs');
function fromBufferOrWasm(wasm) {
if ("process" in globalThis)
return buffer.fromBuffer();
return fromWasm(wasm);
}
function fromWasm(wasm) {
const { Memory, base64_encode_padded, base64_decode_padded, base64_encode_unpadded, base64_decode_unpadded } = wasm;
function getMemory(bytesOrCopiable) {
if (bytesOrCopiable instanceof Memory)
return new box.Ref(bytesOrCopiable);
if (bytesOrCopiable instanceof Uint8Array)
return box.Pin.from(new Memory(bytesOrCopiable));
return box.Pin.from(new Memory(bytesOrCopiable.bytes));
}
function encodePaddedOrThrow(bytes) {
const env_1 = { stack: [], error: void 0, hasError: false };
try {
const memory = tslib_es6.__addDisposableResource(env_1, getMemory(bytes), false);
return base64_encode_padded(memory.value);
}
catch (e_1) {
env_1.error = e_1;
env_1.hasError = true;
}
finally {
tslib_es6.__disposeResources(env_1);
}
}
function decodePaddedOrThrow(text) {
return base64_decode_padded(text);
}
function encodeUnpaddedOrThrow(bytes) {
const env_2 = { stack: [], error: void 0, hasError: false };
try {
const memory = tslib_es6.__addDisposableResource(env_2, getMemory(bytes), false);
return base64_encode_unpadded(memory.value);
}
catch (e_2) {
env_2.error = e_2;
env_2.hasError = true;
}
finally {
tslib_es6.__disposeResources(env_2);
}
}
function decodeUnpaddedOrThrow(text) {
return base64_decode_unpadded(text);
}
return { encodePaddedOrThrow, decodePaddedOrThrow, encodeUnpaddedOrThrow, decodeUnpaddedOrThrow };
}
exports.fromBufferOrWasm = fromBufferOrWasm;
exports.fromWasm = fromWasm;
//# sourceMappingURL=wasm.cjs.map
;