@pedwise/next-firebase-auth-edge
Version:
Next.js 13 Firebase Authentication for Edge and server runtimes. Dedicated for Next 13 server components. Compatible with Next.js middleware.
58 lines • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pemToArrayBuffer = exports.base64StringToByteArray = exports.stringToByteArray = exports.base64StringToArrayBuffer = exports.stringToArrayBuffer = exports.base64StringToObject = exports.objectToBase64 = exports.stringToBase64 = exports.arrayBufferToBase64 = void 0;
function arrayBufferToBase64(buffer) {
let binary = "";
const bytes = new Uint8Array(buffer);
const len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return btoa(binary)
.replace(/\//g, "_")
.replace(/\+/g, "-")
.replace(/=+$/g, "");
}
exports.arrayBufferToBase64 = arrayBufferToBase64;
function stringToBase64(string) {
return btoa(string)
.replace(/\//g, "_")
.replace(/\+/g, "-")
.replace(/=+$/g, "");
}
exports.stringToBase64 = stringToBase64;
function objectToBase64(object) {
return stringToBase64(JSON.stringify(object));
}
exports.objectToBase64 = objectToBase64;
function base64StringToObject(base64) {
return JSON.parse(atob(prepareBase64String(base64)));
}
exports.base64StringToObject = base64StringToObject;
function stringToArrayBuffer(value) {
return stringToByteArray(value).buffer;
}
exports.stringToArrayBuffer = stringToArrayBuffer;
function base64StringToArrayBuffer(base64) {
return stringToArrayBuffer(atob(prepareBase64String(base64)));
}
exports.base64StringToArrayBuffer = base64StringToArrayBuffer;
function stringToByteArray(value) {
return new Uint8Array(value.split("").map((character) => character.charCodeAt(0)));
}
exports.stringToByteArray = stringToByteArray;
function base64StringToByteArray(base64) {
return stringToByteArray(atob(prepareBase64String(base64)));
}
exports.base64StringToByteArray = base64StringToByteArray;
function prepareBase64String(base64) {
return base64.replace(/-/g, "+").replace(/_/g, "/");
}
function pemToArrayBuffer(pem) {
return base64StringToArrayBuffer(pem
.replace("-----BEGIN PRIVATE KEY-----", "")
.replace("-----END PRIVATE KEY-----", "")
.replace(/\n/g, ""));
}
exports.pemToArrayBuffer = pemToArrayBuffer;
//# sourceMappingURL=utils.js.map