RouteLocationNormalizedLoaded,
RouteLocationOptions,
RouteQueryAndHash,
- RouteRecordName,
RouteLocationRaw,
_RouteLocationBase,
} from '../types'
import type { RouteRecord } from '../matcher/types'
/**
- * Type safe version if it exists of the routes' names.
+ * Possible values for a user-defined route record's name
*/
-export type _RouteRecordName = keyof RouteMap
+export type RouteRecordName = keyof RouteMap
/**
* Type safe version of the {@link RouteLocation} type.
RouteMap extends _RouteMapGeneric,
Name extends keyof RouteMap
> extends _RouteLocationBase {
- name: Extract<Name, RouteRecordName>
+ name: Extract<Name, string | symbol>
params: RouteMap[Name]['params']
/**
RouteMap extends _RouteMapGeneric = _RouteMapGeneric,
Name extends keyof RouteMap = keyof RouteMap
> extends RouteLocationNormalized {
- name: Extract<Name, RouteRecordName>
+ name: Extract<Name, string | symbol>
// we don't override path because it could contain params and in practice it's just not useful
params: RouteMap[Name]['params']
}
RouteMap extends _RouteMapGeneric = _RouteMapGeneric,
Name extends keyof RouteMap = keyof RouteMap
> extends RouteLocationNormalizedLoaded {
- name: Extract<Name, RouteRecordName>
+ name: Extract<Name, string | symbol>
// we don't override path because it could contain params and in practice it's just not useful
params: RouteMap[Name]['params']
}
* @see {@link RouteLocationNormalized}
*/
export type _RouteLocationNormalized<
- Name extends _RouteRecordName = _RouteRecordName
+ Name extends RouteRecordName = RouteRecordName
> = RouteLocationNormalizedTypedList<RouteMap>[Name]
/**
* @see {@link RouteLocationNormalizedLoaded}
*/
export type _RouteLocationNormalizedLoaded<
- Name extends _RouteRecordName = _RouteRecordName
+ Name extends RouteRecordName = RouteRecordName
> = RouteLocationNormalizedLoadedTypedList<RouteMap>[Name]
/**
* @see {@link RouteLocationAsRelative}
*/
export type _RouteLocationAsRelativePath<
- Name extends _RouteRecordName = _RouteRecordName
+ Name extends RouteRecordName = RouteRecordName
> = RouteLocationAsRelativeTypedList<RouteMap>[Name]
/**
import { RouteRecord, RouteRecordNormalized } from '../matcher/types'
import { HistoryState } from '../history/common'
import { NavigationFailure } from '../errors'
-import {
+import type {
NavigationGuardWithThis,
RouteLocation,
+ RouteRecordName,
RouteRecordRedirectOption,
} from '../typed-routes'
import { _Awaitable } from './utils'
*/
export type RawRouteComponent = RouteComponent | Lazy<RouteComponent>
-/**
- * Possible values for a user-defined route record's name
- */
-export type RouteRecordName = string | symbol
-
/**
* @internal
*/