UNPKG

quasar-app-extension-ssg

Version:
38 lines (27 loc) 940 B
const TRAILING_SLASH_RE = /\/$|\/\?/; function hasTrailingSlash(input = '', queryParams = false) { if (!queryParams) { return input.endsWith('/'); } return TRAILING_SLASH_RE.test(input); } module.exports.withTrailingSlash = function withTrailingSlash(input = '', queryParams = false) { if (!queryParams) { return input.endsWith('/') ? input : (`${input}/`); } if (hasTrailingSlash(input, true)) { return input || '/'; } const [s0, ...s] = input.split('?'); return `${s0}/${s.length ? `?${s.join('?')}` : ''}`; }; module.exports.withoutTrailingSlash = function withoutTrailingSlash(input = '', queryParams = false) { if (!queryParams) { return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || '/'; } if (!hasTrailingSlash(input, true)) { return input || '/'; } const [s0, ...s] = input.split('?'); return (s0.slice(0, -1) || '/') + (s.length ? `?${s.join('?')}` : ''); };