jose
Version:
Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies
18 lines (17 loc) • 583 B
JavaScript
import { decoder } from '../lib/buffer_utils.js';
let encodeImpl;
function normalize(input) {
let encoded = input;
if (encoded instanceof Uint8Array) {
encoded = decoder.decode(encoded);
}
return encoded;
}
if (Buffer.isEncoding('base64url')) {
encodeImpl = (input) => Buffer.from(input).toString('base64url');
}
else {
encodeImpl = (input) => Buffer.from(input).toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
}
export const encode = encodeImpl;
export const decode = (input) => Buffer.from(normalize(input), 'base64');