mirror of
https://github.com/vercel/commerce.git
synced 2025-05-18 23:46:58 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { ReadonlyURLSearchParams } from "next/navigation";
|
|
|
|
export const createUrl = (pathname: string, params: URLSearchParams | ReadonlyURLSearchParams) => {
|
|
const paramsString = params.toString();
|
|
const queryString = `${paramsString.length ? "?" : ""}${paramsString}`;
|
|
|
|
return `${pathname}${queryString}`;
|
|
};
|
|
|
|
export const ensureStartsWith = (stringToCheck: string, startsWith: string) =>
|
|
stringToCheck.startsWith(startsWith) ? stringToCheck : `${startsWith}${stringToCheck}`;
|
|
|
|
export const validateEnvironmentVariables = () => {
|
|
const requiredEnvironmentVariables = [
|
|
"CTP_PROJECT_KEY",
|
|
"CTP_CLIENT_SECRET",
|
|
"CTP_CLIENT_ID",
|
|
"CTP_AUTH_URL",
|
|
"CTP_API_URL",
|
|
"CTP_SCOPES"
|
|
];
|
|
const missingEnvironmentVariables = [] as string[];
|
|
|
|
requiredEnvironmentVariables.forEach((envVar) => {
|
|
if (!process.env[envVar]) {
|
|
missingEnvironmentVariables.push(envVar);
|
|
}
|
|
});
|
|
|
|
if (missingEnvironmentVariables.length) {
|
|
throw new Error(
|
|
`The following environment variables are missing. Your site will not work without them.}\n`
|
|
);
|
|
}
|
|
};
|