waanverse-react-routes
Version:
A lightweight and customizable route management library for React applications using React Router. This library allows you to define and extend route names while ensuring TypeScript autocompletion.
15 lines (13 loc) • 523 B
TypeScript
interface RouteConfig<K extends string> {
name: K;
path: string;
}
declare class RouterBuilder<RouteNames extends string = never> {
private routes;
addRoute<K extends string>(route: RouteConfig<K>): RouterBuilder<RouteNames | K>;
build(): RouteConfig<RouteNames>[];
private replaceParams;
private addQueryParams;
getPath<K extends RouteNames>(name: K, params?: Record<string, string | number>, query?: Record<string, string | number>): string;
}
export { type RouteConfig, RouterBuilder };