UNPKG

1.63 kBTypeScriptView Raw
1import { Delegate, Route, Opaque, MatchCallback } from "./route-recognizer/dsl";
2export { Delegate, MatchCallback } from './route-recognizer/dsl';
3export interface Params {
4 [key: string]: Opaque;
5 [key: number]: Opaque;
6 queryParams?: QueryParams | null;
7}
8export interface QueryParams {
9 [param: string]: any[] | any | null | undefined;
10}
11export interface Result {
12 handler: Opaque;
13 params: Params;
14 isDynamic: boolean;
15}
16export interface Results extends ArrayLike<Result | undefined> {
17 queryParams: QueryParams;
18 slice(start?: number, end?: number): Result[];
19 splice(start: number, deleteCount: number, ...items: Result[]): Result[];
20 push(...results: Result[]): number;
21}
22declare class RouteRecognizer {
23 private states;
24 private rootState;
25 private names;
26 map: (context: MatchCallback, addCallback?: (router: this, routes: Route[]) => void) => void;
27 delegate: Delegate | undefined;
28 constructor();
29 static VERSION: string;
30 static ENCODE_AND_DECODE_PATH_SEGMENTS: boolean;
31 static Normalizer: {
32 normalizeSegment: (segment: string) => string;
33 normalizePath: (path: string) => string;
34 encodePathSegment: (str: string) => string;
35 };
36 add(routes: Route[], options?: {
37 as: string;
38 }): void;
39 handlersFor(name: string): any[];
40 hasRoute(name: string): boolean;
41 generate(name: string, params?: Params | null): string;
42 generateQueryString(params: QueryParams): string;
43 parseQueryString(queryString: string): QueryParams;
44 recognize(path: string): Results | undefined;
45}
46export default RouteRecognizer;