| 1234567891011121314151617181920212223242526272829 |
- // src/utils/encode.ts
- var decodeBase64Url = (str) => {
- return decodeBase64(str.replace(/_|-/g, (m) => ({ _: "/", "-": "+" })[m] ?? m));
- };
- var encodeBase64Url = (buf) => encodeBase64(buf).replace(/\/|\+/g, (m) => ({ "/": "_", "+": "-" })[m] ?? m);
- var encodeBase64 = (buf) => {
- let binary = "";
- const bytes = new Uint8Array(buf);
- for (let i = 0, len = bytes.length; i < len; i++) {
- binary += String.fromCharCode(bytes[i]);
- }
- return btoa(binary);
- };
- var decodeBase64 = (str) => {
- const binary = atob(str);
- const bytes = new Uint8Array(new ArrayBuffer(binary.length));
- const half = binary.length / 2;
- for (let i = 0, j = binary.length - 1; i <= half; i++, j--) {
- bytes[i] = binary.charCodeAt(i);
- bytes[j] = binary.charCodeAt(j);
- }
- return bytes;
- };
- export {
- decodeBase64,
- decodeBase64Url,
- encodeBase64,
- encodeBase64Url
- };
|