UNPKG

@clerk/chrome-extension

Version:

Clerk SDK for Chrome extensions

69 lines 2.94 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var singleton_exports = {}; __export(singleton_exports, { buildClerk: () => buildClerk, clerk: () => clerk }); module.exports = __toCommonJS(singleton_exports); var import_clerk_js = __toESM(require("@clerk/clerk-js")); var import_utils = require("./utils"); const KEY = "__clerk_client_jwt"; let clerk; const logErrorHandler = (err) => console.error(err); async function buildClerk({ publishableKey, tokenCache }) { if (!clerk) { const clerkFrontendAPIOrigin = (0, import_utils.convertPublishableKeyToFrontendAPIOrigin)(publishableKey); const clientCookie = await (0, import_utils.getClientCookie)(clerkFrontendAPIOrigin).catch(logErrorHandler); if (clientCookie) { await tokenCache.saveToken(KEY, clientCookie.value).catch(logErrorHandler); } clerk = new import_clerk_js.default(publishableKey); clerk.__unstable__onBeforeRequest(async (requestInit) => { var _a; requestInit.credentials = "omit"; (_a = requestInit.url) == null ? void 0 : _a.searchParams.append("_is_native", "1"); const jwt = await tokenCache.getToken(KEY); requestInit.headers.set("authorization", jwt || ""); }); clerk.__unstable__onAfterResponse(async (_, response) => { const authHeader = response.headers.get("authorization"); if (authHeader) { await tokenCache.saveToken(KEY, authHeader); } }); } return clerk; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { buildClerk, clerk }); //# sourceMappingURL=singleton.js.map