import { Route, Routes } from './route'; import { StringHasValue } from '../utilities/guards'; type IsRouteUnnamed = StringHasValue extends true ? false : true; type AsNamedRoute = IsRouteUnnamed extends true ? never : T; export type RoutesMap = { [K in TRoutes[number] as AsNamedRoute['name']]: AsNamedRoute; }; export type RoutesName = string & keyof RoutesMap; export {};