UNPKG

@hazae41/base64

Version:

Base64 adapter for WebAssembly and JS implementations

61 lines (57 loc) 2.09 kB
'use strict'; 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