vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
34 lines (33 loc) • 1.34 kB
TypeScript
export { route };
export type { PageContextForRoute };
export type { PageContextFromRoute };
export type { PageRoutes };
export type { RouteMatches };
import type { PageFile } from '../getPageFiles.js';
import { type PageContextUrlInternal, type PageContextUrlSource } from '../getPageContextUrlComputed.js';
import type { PageRoutes, RouteType } from './loadPageRoutes.js';
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
import type { Hook } from '../hooks/getHook.js';
type PageContextForRoute = PageContextUrlInternal & {
_pageFilesAll: PageFile[];
_pageConfigs: PageConfigRuntime[];
_allPageIds: string[];
_pageConfigGlobal: PageConfigGlobalRuntime;
_pageRoutes: PageRoutes;
_onBeforeRouteHook: Hook | null;
} & PageContextUrlSource;
type PageContextFromRoute = {
pageId: string | null;
routeParams: Record<string, string>;
_routingProvidedByOnBeforeRouteHook?: boolean;
_debugRouteMatches: RouteMatches;
};
type RouteMatch = {
pageId: string;
routeString?: string;
precedence?: number | null;
routeType: RouteType;
routeParams: Record<string, string>;
};
type RouteMatches = 'CUSTOM_ROUTING' | RouteMatch[];
declare function route(pageContext: PageContextForRoute, skipOnBeforeRouteHook?: true): Promise<PageContextFromRoute>;