@hazae41/base64
Version:
Base64 adapter for WebAssembly and JS implementations
31 lines (28 loc) • 968 B
JavaScript
import { Copied } from '../../libs/copiable/index.mjs';
import { fromBuffer } from './buffer.mjs';
function fromBufferOrScure(scure) {
if ("process" in globalThis)
return fromBuffer();
return fromScure(scure);
}
function fromScure(scure) {
const { base64, base64nopad } = scure;
function getBytes(bytes) {
return "bytes" in bytes ? bytes.bytes : bytes;
}
function encodePaddedOrThrow(bytes) {
return base64.encode(getBytes(bytes));
}
function decodePaddedOrThrow(text) {
return new Copied(base64.decode(text));
}
function encodeUnpaddedOrThrow(bytes) {
return base64nopad.encode(getBytes(bytes));
}
function decodeUnpaddedOrThrow(text) {
return new Copied(base64nopad.decode(text));
}
return { encodePaddedOrThrow, decodePaddedOrThrow, encodeUnpaddedOrThrow, decodeUnpaddedOrThrow };
}
export { fromBufferOrScure, fromScure };
//# sourceMappingURL=scure.mjs.map