11 * Convert Base64 to Base64URL.
12 * @param {String} input
15 const base64ToBase64URL
= (input
) => {
19 .replace(reSlash
, '_');
23 * Convert Base64URL to normal Base64.
24 * @param {String} input
27 const base64URLToBase64
= (input
) => {
28 return base64RePad(input
)
30 .replace(reUnder
, '/');
34 * Add any missing trailing padding which may have been removed from Base64URL encoding.
35 * @param {String} input
37 const base64RePad
= (input
) => {
38 const lastBlockSize
= input
.length
% blockSize
;
40 const missing
= blockSize
- lastBlockSize
;
41 return input
+ '='.repeat(missing
);