Skip to main content
Module

x/regexparam/index.d.ts

A tiny (394B) utility that converts route patterns into RegExp. Limited alternative to `path-to-regexp` πŸ™‡β€β™‚οΈ
Go to Latest
File
export function parse(route: string, loose?: boolean): { keys: string[]; pattern: RegExp;}
export function parse(route: RegExp): { keys: false; pattern: RegExp;}
export type RouteParams<T extends string> = T extends `${infer Prev}/*/${infer Rest}` ? RouteParams<Prev> & { wild: string } & RouteParams<Rest> : T extends `${string}:${infer P}?/${infer Rest}` ? { [K in P]?: string } & RouteParams<Rest> : T extends `${string}:${infer P}/${infer Rest}` ? { [K in P]: string } & RouteParams<Rest> : T extends `${string}:${infer P}?` ? { [K in P]?: string } : T extends `${string}:${infer P}` ? { [K in P]: string } : T extends `${string}*` ? { wild: string } : {};
export function inject<T extends string>(route: T, values: RouteParams<T>): string;