@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
29 lines (27 loc) • 800 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
//#region src/internal/clerk-js/encoders.ts
function encodeB64(input) {
return globalThis.btoa(input);
}
function decodeB64(input) {
return decodeURIComponent(globalThis.atob(input).split("").map((c) => {
return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
}).join(""));
}
function urlEncodeB64(input) {
const b64Chars = {
"+": "-",
"/": "_",
"=": ""
};
return encodeB64(input).replace(/[+/=]/g, (m) => b64Chars[m]);
}
function urlDecodeB64(input) {
return decodeB64(input.replace(/_/g, "/").replace(/-/g, "+"));
}
//#endregion
exports.decodeB64 = decodeB64;
exports.encodeB64 = encodeB64;
exports.urlDecodeB64 = urlDecodeB64;
exports.urlEncodeB64 = urlEncodeB64;
//# sourceMappingURL=encoders.js.map