UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

16 lines (15 loc) 812 B
export { resolveRoute }; import { assertUsage } from '../../utils/assert.js'; import { resolveRouteString } from './resolveRouteString.js'; import pc from '@brillout/picocolors'; function resolveRoute(routeString, urlPathname) { const errMsg = (propName, msg = 'a non-empty string') => `[resolveRoute(routeString, urlPathname)] ${pc.cyan(propName)} should be ` + msg; assertUsage(routeString, errMsg('routeString'), { showStackTrace: true }); assertUsage(urlPathname, errMsg('urlPathname'), { showStackTrace: true }); assertUsage(urlPathname.startsWith('/'), errMsg('urlPathname', 'pageContext.urlPathname'), { showStackTrace: true }); const result = resolveRouteString(routeString, urlPathname); return { match: !!result, routeParams: result?.routeParams ?? {}, }; }