mirror of
https://github.com/danbulant/jose
synced 2026-05-25 04:51:47 +00:00
17 lines
583 B
JavaScript
17 lines
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');
|