The title is a bit confusing, I don't know how to explain what I want, but I have an example:
interface Routes {
'1': { data: string },
'2': { data: string },
'3': { data: string },
}
type RouteName = keyof Routes;
type RouteParameters<T extends RouteName> = Record<keyof Routes[T], any> & Record<string, any>;
interface RouteLink<T extends RouteName> {
name: T
parameters?: RouteParameters<T>
}
// How would I type this
const links: RouteLink[] = [ // err: Generic type 'RouteLink<T>' requires 1 type argument(s).ts(2314)
{
name: '1', // where I can infer T here
}
]```
right now, sorry