UNPKG

auth0-js

Version:

Auth0 headless browser sdk

49 lines (39 loc) 954 B
import base64 from 'base64-js'; function padding(str) { var mod = str.length % 4; var pad = 4 - mod; if (mod === 0) { return str; } return str + new Array(1 + pad).join('='); } function stringToByteArray(str) { var arr = new Array(str.length); for (var a = 0; a < str.length; a++) { arr[a] = str.charCodeAt(a); } return arr; } function byteArrayToString(array) { var result = ''; for (var i = 0; i < array.length; i++) { result += String.fromCharCode(array[i]); } return result; } function encode(str) { return base64 .fromByteArray(stringToByteArray(str)) .replace(/\+/g, '-') // Convert '+' to '-' .replace(/\//g, '_'); // Convert '/' to '_' } function decode(str) { str = padding(str) .replace(/-/g, '+') // Convert '-' to '+' .replace(/_/g, '/'); // Convert '_' to '/' return byteArrayToString(base64.toByteArray(str)); } export default { encode: encode, decode: decode };