Files
WRNexusJS/examples/basic-app/app/routes.gen.ts
2026-07-12 15:55:18 +05:30

32 lines
954 B
TypeScript

// AUTO-GENERATED by `wrnexus dev` — do not edit.
// Typed routes: a compile-time map of every page path to its [param] types,
// plus an href() builder that fills params and rejects unknown paths.
export interface Routes {
"/": Record<string, never>;
"/about": Record<string, never>;
"/chat": Record<string, never>;
"/dashboard": Record<string, never>;
"/hello": Record<string, never>;
"/login": Record<string, never>;
"/reactive": Record<string, never>;
"/ui": Record<string, never>;
}
export type RoutePath = keyof Routes;
export function href<P extends RoutePath>(
path: P,
...args: Routes[P] extends Record<string, never> ? [] : [params: Routes[P]]
): string {
const params = (args[0] ?? {}) as Record<string, string>;
return String(path)
.split("/")
.map((seg) =>
seg.startsWith("[") && seg.endsWith("]")
? encodeURIComponent(params[seg.slice(1, -1)] ?? "")
: seg,
)
.join("/");
}