ngx-route-manager
Version:
A route management library for Angular
12 lines (11 loc) • 665 B
TypeScript
export type ExtractStaticSegments<T extends string> = T extends `${infer First}/${infer Rest}` ? First extends `:${string}` ? ExtractStaticSegments<Rest> : First | ExtractStaticSegments<Rest> : T extends `:${string}` ? never : T;
export type SegmentObject<T extends string> = {
[K in T]: K;
};
/**
* Extracts static segments from a URL pattern and returns them as a typed object
* Types are automatically inferred from the URL pattern
* @param url - The URL pattern to parse
* @returns Object with extracted segments with automatic type inference
*/
export declare function urlToSegments<T extends string>(url: T): SegmentObject<ExtractStaticSegments<T>>;