@compas/code-gen
Version:
Generate various boring parts of your server
52 lines (51 loc) • 1.28 kB
TypeScript
/**
* Build a route trie
*
* @param {import("../generate").GenerateContext} generateContext
*/
export function routeTrieBuild(
generateContext: import("../generate").GenerateContext,
): void;
/**
* Get the cached route trie
*
* @param {import("../generate").GenerateContext} generateContext
* @returns {RouteTrie}
*/
export function routeTrieGet(
generateContext: import("../generate").GenerateContext,
): RouteTrie;
/**
* Remove unnecessary trie nodes, and collapse static trie nodes as much as possible.
*
* @param {RouteTrie} trie
*/
export function trieCleanAndCollapse(trie: RouteTrie): void;
/**
* Sort the route trie to optimize the matching later on.
*
* @param {RouteTrie} trie
*/
export function trieSort(trie: RouteTrie): void;
export type RouteTrie = {
route?:
| import("../generated/common/types").ExperimentalRouteDefinition
| undefined;
prio: keyof typeof RoutePrio;
children: RouteTrie[];
parent?: RouteTrie | undefined;
path: string;
paramName?: string | undefined;
};
/**
* Route prio's used for sorting.
*
* @type {{WILDCARD: "WILDCARD", PARAM: "PARAM", STATIC: "STATIC"}}
*/
declare const RoutePrio: {
WILDCARD: "WILDCARD";
PARAM: "PARAM";
STATIC: "STATIC";
};
export {};
//# sourceMappingURL=route-trie.d.ts.map