UNPKG

@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
"use strict"; 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