UNPKG

@sveltejs/kit

Version:

SvelteKit is the fastest way to build Svelte apps

24 lines (21 loc) 660 B
import { PathnameWithSearchOrHash, RouteId, RouteIdWithSearchOrHash, RouteParams } from '$app/types'; type StripSearchOrHash<T extends string> = T extends `${infer Pathname}?${string}` ? Pathname : T extends `${infer Pathname}#${string}` ? Pathname : T; export type ResolveArgs<T extends RouteIdWithSearchOrHash | PathnameWithSearchOrHash> = T extends RouteId ? RouteParams<T> extends Record<string, never> ? [route: T] : [route: T, params: RouteParams<T>] : StripSearchOrHash<T> extends infer U extends RouteId ? RouteParams<U> extends Record<string, never> ? [route: T] : [route: T, params: RouteParams<U>] : [route: T];