@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
24 lines (23 loc) • 652 B
JavaScript
//#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
export { decodeB64, encodeB64, urlDecodeB64, urlEncodeB64 };
//# sourceMappingURL=encoders.mjs.map