55// It's recommended to commit this file.
66// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
77
8- /// <reference types="unplugin-vue-router/client" />
8+ declare module 'vue-router/auto-routes' {
9+ import type {
10+ RouteRecordInfo ,
11+ ParamValue ,
12+ ParamValueOneOrMore ,
13+ ParamValueZeroOrMore ,
14+ ParamValueZeroOrOne ,
15+ } from 'vue-router'
916
10- import type {
11- // type safe route locations
12- RouteLocationTypedList ,
13- RouteLocationResolvedTypedList ,
14- RouteLocationNormalizedTypedList ,
15- RouteLocationNormalizedLoadedTypedList ,
16- RouteLocationAsString ,
17- RouteLocationAsRelativeTypedList ,
18- RouteLocationAsPathTypedList ,
19-
20- // helper types
21- // route definitions
22- RouteRecordInfo ,
23- ParamValue ,
24- ParamValueOneOrMore ,
25- ParamValueZeroOrMore ,
26- ParamValueZeroOrOne ,
27-
28- // vue-router extensions
29- _RouterTyped ,
30- RouterLinkTyped ,
31- RouterLinkPropsTyped ,
32- NavigationGuard ,
33- UseLinkFnTyped ,
34-
35- // data fetching
36- _DataLoader ,
37- _DefineLoaderOptions ,
38- } from 'unplugin-vue-router/types'
39-
40- declare module 'vue-router/auto/routes' {
17+ /**
18+ * Route name map generated by unplugin-vue-router
19+ */
4120 export interface RouteNamedMap {
4221 '/' : RouteRecordInfo < '/' , '/' , Record < never , never > , Record < never , never > > ,
4322 '/app-check' : RouteRecordInfo < '/app-check' , '/app-check' , Record < never , never > , Record < never , never > > ,
@@ -53,100 +32,3 @@ declare module 'vue-router/auto/routes' {
5332 '/vuex-store' : RouteRecordInfo < '/vuex-store' , '/vuex-store' , Record < never , never > , Record < never , never > > ,
5433 }
5534}
56-
57- declare module 'vue-router/auto' {
58- import type { RouteNamedMap } from 'vue-router/auto/routes'
59-
60- export type RouterTyped = _RouterTyped < RouteNamedMap >
61-
62- /**
63- * Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards).
64- * Allows passing the name of the route to be passed as a generic.
65- */
66- export type RouteLocationNormalized < Name extends keyof RouteNamedMap = keyof RouteNamedMap > = RouteLocationNormalizedTypedList < RouteNamedMap > [ Name ]
67-
68- /**
69- * Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`).
70- * Allows passing the name of the route to be passed as a generic.
71- */
72- export type RouteLocationNormalizedLoaded < Name extends keyof RouteNamedMap = keyof RouteNamedMap > = RouteLocationNormalizedLoadedTypedList < RouteNamedMap > [ Name ]
73-
74- /**
75- * Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`).
76- * Allows passing the name of the route to be passed as a generic.
77- */
78- export type RouteLocationResolved < Name extends keyof RouteNamedMap = keyof RouteNamedMap > = RouteLocationResolvedTypedList < RouteNamedMap > [ Name ]
79-
80- /**
81- * Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic.
82- */
83- export type RouteLocation < Name extends keyof RouteNamedMap = keyof RouteNamedMap > = RouteLocationTypedList < RouteNamedMap > [ Name ]
84-
85- /**
86- * Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic.
87- */
88- export type RouteLocationRaw < Name extends keyof RouteNamedMap = keyof RouteNamedMap > =
89- | RouteLocationAsString < RouteNamedMap >
90- | RouteLocationAsRelativeTypedList < RouteNamedMap > [ Name ]
91- | RouteLocationAsPathTypedList < RouteNamedMap > [ Name ]
92-
93- /**
94- * Generate a type safe params for a route location. Requires the name of the route to be passed as a generic.
95- */
96- export type RouteParams < Name extends keyof RouteNamedMap > = RouteNamedMap [ Name ] [ 'params' ]
97- /**
98- * Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic.
99- */
100- export type RouteParamsRaw < Name extends keyof RouteNamedMap > = RouteNamedMap [ Name ] [ 'paramsRaw' ]
101-
102- export function useRouter ( ) : RouterTyped
103- export function useRoute < Name extends keyof RouteNamedMap = keyof RouteNamedMap > ( name ?: Name ) : RouteLocationNormalizedLoadedTypedList < RouteNamedMap > [ Name ]
104-
105- export const useLink : UseLinkFnTyped < RouteNamedMap >
106-
107- export function onBeforeRouteLeave ( guard : NavigationGuard < RouteNamedMap > ) : void
108- export function onBeforeRouteUpdate ( guard : NavigationGuard < RouteNamedMap > ) : void
109-
110- export const RouterLink : RouterLinkTyped < RouteNamedMap >
111- export const RouterLinkProps : RouterLinkPropsTyped < RouteNamedMap >
112-
113- // Experimental Data Fetching
114-
115- export function defineLoader <
116- P extends Promise < any > ,
117- Name extends keyof RouteNamedMap = keyof RouteNamedMap ,
118- isLazy extends boolean = false ,
119- > (
120- name : Name ,
121- loader : ( route : RouteLocationNormalizedLoaded < Name > ) => P ,
122- options ?: _DefineLoaderOptions < isLazy > ,
123- ) : _DataLoader < Awaited < P > , isLazy >
124- export function defineLoader <
125- P extends Promise < any > ,
126- isLazy extends boolean = false ,
127- > (
128- loader : ( route : RouteLocationNormalizedLoaded ) => P ,
129- options ?: _DefineLoaderOptions < isLazy > ,
130- ) : _DataLoader < Awaited < P > , isLazy >
131-
132- export {
133- _definePage as definePage ,
134- _HasDataLoaderMeta as HasDataLoaderMeta ,
135- _setupDataFetchingGuard as setupDataFetchingGuard ,
136- _stopDataFetchingScope as stopDataFetchingScope ,
137- } from 'unplugin-vue-router/runtime'
138- }
139-
140- declare module 'vue-router' {
141- import type { RouteNamedMap } from 'vue-router/auto/routes'
142-
143- export interface TypesConfig {
144- beforeRouteUpdate : NavigationGuard < RouteNamedMap >
145- beforeRouteLeave : NavigationGuard < RouteNamedMap >
146-
147- $route : RouteLocationNormalizedLoadedTypedList < RouteNamedMap > [ keyof RouteNamedMap ]
148- $router : _RouterTyped < RouteNamedMap >
149-
150- RouterLink : RouterLinkTyped < RouteNamedMap >
151- }
152- }
0 commit comments