@hazae41/base64
Version:
Base64 adapter for JS implementations
34 lines (30 loc) • 1.08 kB
JavaScript
;
var buffers = require('../../../libs/buffers/buffers.cjs');
var bytes = require('../../../libs/bytes/bytes.cjs');
var index = require('../native/index.cjs');
function fromNativeOrBuffer() {
if ("fromBase64" in Uint8Array)
return index.fromNative();
return fromBuffer();
}
function fromBuffer() {
return {
encodePaddedOrThrow(bytes) {
const unpadded = buffers.Buffers.fromView(bytes).toString("base64url");
const repadded = unpadded + "=".repeat((4 - unpadded.length % 4) % 4);
return repadded;
},
decodePaddedOrThrow(text) {
return bytes.Bytes.fromView(Buffer.from(text, "base64url"));
},
encodeUnpaddedOrThrow(bytes) {
return buffers.Buffers.fromView(bytes).toString("base64url");
},
decodeUnpaddedOrThrow(text) {
return bytes.Bytes.fromView(Buffer.from(text, "base64url"));
}
};
}
exports.fromBuffer = fromBuffer;
exports.fromNativeOrBuffer = fromNativeOrBuffer;
//# sourceMappingURL=index.cjs.map