@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
57 lines (55 loc) • 1.63 kB
JavaScript
// src/utils/instance.ts
function isStaging(frontendApi) {
return frontendApi.endsWith(".lclstage.dev") || frontendApi.endsWith(".stgstage.dev") || frontendApi.endsWith(".clerkstage.dev") || frontendApi.endsWith(".accountsstage.dev");
}
// src/url.ts
function parseSearchParams(queryString = "") {
if (queryString.startsWith("?")) {
queryString = queryString.slice(1);
}
return new URLSearchParams(queryString);
}
function stripScheme(url = "") {
return (url || "").replace(/^.+:\/\//, "");
}
function addClerkPrefix(str) {
if (!str) {
return "";
}
let regex;
if (str.match(/^(clerk\.)+\w*$/)) {
regex = /(clerk\.)*(?=clerk\.)/;
} else if (str.match(/\.clerk.accounts/)) {
return str;
} else {
regex = /^(clerk\.)*/gi;
}
const stripped = str.replace(regex, "");
return `clerk.${stripped}`;
}
var getClerkJsMajorVersionOrTag = (frontendApi, pkgVersion) => {
if (!pkgVersion && isStaging(frontendApi)) {
return "staging";
}
if (!pkgVersion) {
return "latest";
}
if (pkgVersion.includes("next")) {
return "next";
}
return pkgVersion.split(".")[0] || "latest";
};
var getScriptUrl = (frontendApi, { pkgVersion, clerkJSVersion }) => {
const noSchemeFrontendApi = frontendApi.replace(/http(s)?:\/\//, "");
const major = getClerkJsMajorVersionOrTag(frontendApi, pkgVersion);
return `https://${noSchemeFrontendApi}/npm/@clerk/clerk-js@${clerkJSVersion || major}/dist/clerk.browser.js`;
};
export {
isStaging,
parseSearchParams,
stripScheme,
addClerkPrefix,
getClerkJsMajorVersionOrTag,
getScriptUrl
};
//# sourceMappingURL=chunk-RUQRCEI6.mjs.map