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` ); } };