Skip to content

Commit e0cfdef

Browse files
Merge pull request #594 from kitbagjs/fix-registered-assset-types
fix: Registered Router Assets type fix
2 parents 43e7468 + 6e0bc83 commit e0cfdef

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

src/main.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ export const query = withParams
6161

6262
// Assets
6363
import { routerInjectionKey } from './keys'
64-
import { createRouterAssets } from './services/createRouterAssets'
64+
import { createRouterAssets, RouterAssets } from './services/createRouterAssets'
65+
import { RegisteredRouter } from './types/register'
6566

6667
const routerAssets = createRouterAssets(routerInjectionKey)
6768

@@ -73,7 +74,7 @@ const routerAssets = createRouterAssets(routerInjectionKey)
7374
* @returns {RouteHookRemove} A function that removes the added hook.
7475
* @group Hooks
7576
*/
76-
export const onBeforeRouteLeave = routerAssets.onBeforeRouteLeave
77+
export const onBeforeRouteLeave: RouterAssets<RegisteredRouter>['onBeforeRouteLeave'] = routerAssets.onBeforeRouteLeave
7778

7879
/**
7980
* Registers a hook that is called before a route is updated. Must be called from setup.
@@ -83,7 +84,7 @@ export const onBeforeRouteLeave = routerAssets.onBeforeRouteLeave
8384
* @returns {RouteHookRemove} A function that removes the added hook.
8485
* @group Hooks
8586
*/
86-
export const onBeforeRouteUpdate = routerAssets.onBeforeRouteUpdate
87+
export const onBeforeRouteUpdate: RouterAssets<RegisteredRouter>['onBeforeRouteUpdate'] = routerAssets.onBeforeRouteUpdate
8788

8889
/**
8990
* Registers a hook that is called after a route has been left. Must be called during setup.
@@ -93,7 +94,7 @@ export const onBeforeRouteUpdate = routerAssets.onBeforeRouteUpdate
9394
* @returns {RouteHookRemove} A function that removes the added hook.
9495
* @group Hooks
9596
*/
96-
export const onAfterRouteLeave = routerAssets.onAfterRouteLeave
97+
export const onAfterRouteLeave: RouterAssets<RegisteredRouter>['onAfterRouteLeave'] = routerAssets.onAfterRouteLeave
9798

9899
/**
99100
* Registers a hook that is called after a route has been updated. Must be called during setup.
@@ -103,7 +104,7 @@ export const onAfterRouteLeave = routerAssets.onAfterRouteLeave
103104
* @returns {RouteHookRemove} A function that removes the added hook.
104105
* @group Hooks
105106
*/
106-
export const onAfterRouteUpdate = routerAssets.onAfterRouteUpdate
107+
export const onAfterRouteUpdate: RouterAssets<RegisteredRouter>['onAfterRouteUpdate'] = routerAssets.onAfterRouteUpdate
107108

108109
/**
109110
* A guard to verify if a route or unknown value matches a given route name.
@@ -112,7 +113,7 @@ export const onAfterRouteUpdate = routerAssets.onAfterRouteUpdate
112113
* @returns True if the current route matches the given route name, false otherwise.
113114
* @group Type Guards
114115
*/
115-
export const isRoute = routerAssets.isRoute
116+
export const isRoute: RouterAssets<RegisteredRouter>['isRoute'] = routerAssets.isRoute
116117

117118
/**
118119
* A component to render the current route's component.
@@ -121,7 +122,7 @@ export const isRoute = routerAssets.isRoute
121122
* @returns The router view component.
122123
* @group Components
123124
*/
124-
export const RouterView = routerAssets.RouterView
125+
export const RouterView: RouterAssets<RegisteredRouter>['RouterView'] = routerAssets.RouterView
125126

126127
/**
127128
* A component to render a link to a route or any url.
@@ -130,7 +131,7 @@ export const RouterView = routerAssets.RouterView
130131
* @returns The router link component.
131132
* @group Components
132133
*/
133-
export const RouterLink = routerAssets.RouterLink
134+
export const RouterLink: RouterAssets<RegisteredRouter>['RouterLink'] = routerAssets.RouterLink
134135

135136
/**
136137
* A composition to access the current route or verify a specific route name within a Vue component.
@@ -147,7 +148,7 @@ export const RouterLink = routerAssets.RouterLink
147148
* @throws {UseRouteInvalidError} Throws an error if the provided route name is not valid or does not match the current route.
148149
* @group Compositions
149150
*/
150-
export const useRoute = routerAssets.useRoute
151+
export const useRoute: RouterAssets<RegisteredRouter>['useRoute'] = routerAssets.useRoute
151152

152153
/**
153154
* A composition to access the installed router instance within a Vue component.
@@ -157,15 +158,15 @@ export const useRoute = routerAssets.useRoute
157158
* ensuring the component does not operate without routing functionality.
158159
* @group Compositions
159160
*/
160-
export const useRouter = routerAssets.useRouter
161+
export const useRouter: RouterAssets<RegisteredRouter>['useRouter'] = routerAssets.useRouter
161162

162163
/**
163164
* A composition to access a specific query value from the current route.
164165
*
165166
* @returns The query value from the router.
166167
* @group Compositions
167168
*/
168-
export const useQueryValue = routerAssets.useQueryValue
169+
export const useQueryValue: RouterAssets<RegisteredRouter>['useQueryValue'] = routerAssets.useQueryValue
169170

170171
/**
171172
* A composition to export much of the functionality that drives RouterLink component.
@@ -178,7 +179,7 @@ export const useQueryValue = routerAssets.useQueryValue
178179
* @returns {UseLink} Reactive context values for as well as navigation methods.
179180
* @group Compositions
180181
*/
181-
export const useLink = routerAssets.useLink
182+
export const useLink: RouterAssets<RegisteredRouter>['useLink'] = routerAssets.useLink
182183

183184
declare module 'vue' {
184185
export interface GlobalComponents {

src/services/createRouterAssets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { createUseQueryValue } from '@/compositions/useQueryValue'
99
import { createUseLink } from '@/compositions/useLink'
1010
import { createIsRoute } from '@/guards/routes'
1111

12-
type RouterAssets<TRouter extends Router> = {
12+
export type RouterAssets<TRouter extends Router> = {
1313
/**
1414
* Registers a hook that is called before a route is left. Must be called from setup.
1515
* This is useful for performing actions or cleanups before navigating away from a route component.

0 commit comments

Comments
 (0)