@auth0/nextjs-auth0
Version:
Auth0 Next.js SDK
22 lines (21 loc) • 802 B
JavaScript
export function ensureLeadingSlash(value) {
return value && !value.startsWith("/") ? `/${value}` : value;
}
export function ensureTrailingSlash(value) {
return value && !value.endsWith("/") ? `${value}/` : value;
}
export function ensureNoLeadingSlash(value) {
return value && value.startsWith("/")
? value.substring(1, value.length)
: value;
}
export const removeTrailingSlash = (path) => path.endsWith("/") ? path.slice(0, -1) : path;
export const normalizeWithBasePath = (path) => {
const basePath = process.env.NEXT_PUBLIC_BASE_PATH;
if (!basePath) {
return path;
}
// basePath can be `docs` or `/docs`
const sanitizedBasePath = ensureLeadingSlash(basePath);
return ensureTrailingSlash(sanitizedBasePath) + ensureNoLeadingSlash(path);
};