@zenweb/router
Version:
Zenweb Router module
21 lines (20 loc) • 681 B
TypeScript
import { Middleware } from "@zenweb/core";
import { RouterMatch, RouterParams } from "./types";
interface ParamParse {
SORT: number;
parse(input: string): RouterParams | undefined;
}
export declare function parseParams(segment: string): ParamParse;
declare class TrieNode {
children: Map<any, any>;
paramNodes?: TrieNode[];
paramParse?: ParamParse;
handler?: Middleware;
}
export declare class ParamPath {
root: TrieNode;
addRoute(path: string, handler: Middleware): void;
match(path: string): RouterMatch | undefined;
matchNode(node: TrieNode, segments: string[], index: number, params: RouterParams): RouterMatch | undefined;
}
export {};