@kitbag/router 0.20.7 → 0.20.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compositions/useRouterHooks.d.ts +2 -2
- package/dist/kitbag-router.js +1416 -1384
- package/dist/kitbag-router.umd.cjs +3 -3
- package/dist/main.d.ts +13 -150
- package/dist/models/RouterRouteHooks.d.ts +7 -7
- package/dist/services/createCallbackContext.d.ts +6 -0
- package/dist/services/createComponentHooks.d.ts +7 -7
- package/dist/services/createRouterAssets.d.ts +6 -7
- package/dist/services/createRouterCallbackContext.d.ts +45 -0
- package/dist/services/createRouterHooks.d.ts +13 -13
- package/dist/services/getGlobalRouteHooks.d.ts +2 -2
- package/dist/services/getRouteHooks.d.ts +6 -0
- package/dist/types/hooks.d.ts +25 -7
- package/dist/types/register.d.ts +11 -0
- package/dist/types/router.d.ts +16 -15
- package/package.json +6 -6
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Router, RouterRejections, RouterRoutes } from '../types/router';
|
|
2
|
+
import { RouterPush } from '../types/routerPush';
|
|
3
|
+
import { RouterReject } from '../types/routerReject';
|
|
4
|
+
import { RouterReplace } from '../types/routerReplace';
|
|
5
|
+
import { InjectionKey } from 'vue';
|
|
6
|
+
import { BuiltInRejectionType } from './createRouterReject';
|
|
7
|
+
import { AsString } from '../types/utilities';
|
|
8
|
+
import { Routes } from '../types/route';
|
|
9
|
+
/**
|
|
10
|
+
* Defines the structure of a successful callback response.
|
|
11
|
+
*/
|
|
12
|
+
export type RouterCallbackSuccessResponse = {
|
|
13
|
+
status: 'SUCCESS';
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Defines the structure of an aborted callback response.
|
|
17
|
+
*/
|
|
18
|
+
export type RouterCallbackAbortResponse = {
|
|
19
|
+
status: 'ABORT';
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Defines the structure of a callback response that results in a push to a new route.
|
|
23
|
+
*/
|
|
24
|
+
export type RouterCallbackPushResponse<TRoutes extends Routes> = {
|
|
25
|
+
status: 'PUSH';
|
|
26
|
+
to: Parameters<RouterPush<TRoutes>>;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Defines the structure of a callback response that results in the rejection of a route transition.
|
|
30
|
+
*/
|
|
31
|
+
export type RouterCallbackRejectResponse<TRejections extends PropertyKey> = {
|
|
32
|
+
status: 'REJECT';
|
|
33
|
+
type: AsString<TRejections> | BuiltInRejectionType;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* A function that can be called to abort a routing operation.
|
|
37
|
+
*/
|
|
38
|
+
export type CallbackContextAbort = () => void;
|
|
39
|
+
export type RouterCallbackContext<TRouter extends Router> = {
|
|
40
|
+
reject: RouterReject<RouterRejections<TRouter>>;
|
|
41
|
+
push: RouterPush<RouterRoutes<TRouter>>;
|
|
42
|
+
replace: RouterReplace<RouterRoutes<TRouter>>;
|
|
43
|
+
abort: CallbackContextAbort;
|
|
44
|
+
};
|
|
45
|
+
export declare function createRouterCallbackContext<TRouter extends Router>(_routerKey: InjectionKey<TRouter>): RouterCallbackContext<TRouter>;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { AddGlobalRouteHooks, AddComponentAfterRouteHook, AddComponentBeforeRouteHook } from '../types/hooks';
|
|
2
2
|
import { HasVueAppStore } from './createVueAppStore';
|
|
3
|
-
import { AddRouterAfterRouteHook, AddRouterBeforeRouteHook, Router, RouterRoutes, RouterRouteHookBeforeRunner, RouterRouteHookAfterRunner } from '../types/router';
|
|
3
|
+
import { AddRouterAfterRouteHook, AddRouterBeforeRouteHook, Router, RouterRoutes, RouterRouteHookBeforeRunner, RouterRouteHookAfterRunner, RouterRejections } from '../types/router';
|
|
4
4
|
import { Routes } from '../types/route';
|
|
5
5
|
import { InjectionKey } from 'vue';
|
|
6
|
-
export declare const getRouterHooksKey: (routerKey: InjectionKey<Router>) => InjectionKey<RouterHooks<any>>;
|
|
7
|
-
export type RouterHooks<TRoutes extends Routes> = HasVueAppStore & {
|
|
6
|
+
export declare const getRouterHooksKey: (routerKey: InjectionKey<Router>) => InjectionKey<RouterHooks<any, any>>;
|
|
7
|
+
export type RouterHooks<TRoutes extends Routes, TRejections extends PropertyKey> = HasVueAppStore & {
|
|
8
8
|
runBeforeRouteHooks: RouterRouteHookBeforeRunner<TRoutes>;
|
|
9
9
|
runAfterRouteHooks: RouterRouteHookAfterRunner<TRoutes>;
|
|
10
|
-
addComponentBeforeRouteHook: AddComponentBeforeRouteHook<TRoutes>;
|
|
11
|
-
addComponentAfterRouteHook: AddComponentAfterRouteHook<TRoutes>;
|
|
12
|
-
addGlobalRouteHooks: AddGlobalRouteHooks<TRoutes>;
|
|
13
|
-
onBeforeRouteEnter: AddRouterBeforeRouteHook<TRoutes>;
|
|
14
|
-
onBeforeRouteUpdate: AddRouterBeforeRouteHook<TRoutes>;
|
|
15
|
-
onBeforeRouteLeave: AddRouterBeforeRouteHook<TRoutes>;
|
|
16
|
-
onAfterRouteEnter: AddRouterAfterRouteHook<TRoutes>;
|
|
17
|
-
onAfterRouteUpdate: AddRouterAfterRouteHook<TRoutes>;
|
|
18
|
-
onAfterRouteLeave: AddRouterAfterRouteHook<TRoutes>;
|
|
10
|
+
addComponentBeforeRouteHook: AddComponentBeforeRouteHook<TRoutes, TRejections>;
|
|
11
|
+
addComponentAfterRouteHook: AddComponentAfterRouteHook<TRoutes, TRejections>;
|
|
12
|
+
addGlobalRouteHooks: AddGlobalRouteHooks<TRoutes, TRejections>;
|
|
13
|
+
onBeforeRouteEnter: AddRouterBeforeRouteHook<TRoutes, TRejections>;
|
|
14
|
+
onBeforeRouteUpdate: AddRouterBeforeRouteHook<TRoutes, TRejections>;
|
|
15
|
+
onBeforeRouteLeave: AddRouterBeforeRouteHook<TRoutes, TRejections>;
|
|
16
|
+
onAfterRouteEnter: AddRouterAfterRouteHook<TRoutes, TRejections>;
|
|
17
|
+
onAfterRouteUpdate: AddRouterAfterRouteHook<TRoutes, TRejections>;
|
|
18
|
+
onAfterRouteLeave: AddRouterAfterRouteHook<TRoutes, TRejections>;
|
|
19
19
|
};
|
|
20
|
-
export declare function createRouterHooks<TRouter extends Router>(_routerKey: InjectionKey<TRouter>): RouterHooks<RouterRoutes<TRouter>>;
|
|
20
|
+
export declare function createRouterHooks<TRouter extends Router>(_routerKey: InjectionKey<TRouter>): RouterHooks<RouterRoutes<TRouter>, RouterRejections<TRouter>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ResolvedRoute } from '../types/resolved';
|
|
2
2
|
import { RouterRouteHooks } from '../models/RouterRouteHooks';
|
|
3
3
|
import { Routes } from '../main';
|
|
4
|
-
export declare function getGlobalBeforeRouteHooks<TRoutes extends Routes>(to: ResolvedRoute, from: ResolvedRoute | null, globalHooks: RouterRouteHooks<TRoutes>): RouterRouteHooks<TRoutes>;
|
|
5
|
-
export declare function getGlobalAfterRouteHooks<TRoutes extends Routes>(to: ResolvedRoute, from: ResolvedRoute | null, globalHooks: RouterRouteHooks<TRoutes>): RouterRouteHooks<TRoutes>;
|
|
4
|
+
export declare function getGlobalBeforeRouteHooks<TRoutes extends Routes, TRejections extends PropertyKey>(to: ResolvedRoute, from: ResolvedRoute | null, globalHooks: RouterRouteHooks<TRoutes, TRejections>): RouterRouteHooks<TRoutes, TRejections>;
|
|
5
|
+
export declare function getGlobalAfterRouteHooks<TRoutes extends Routes, TRejections extends PropertyKey>(to: ResolvedRoute, from: ResolvedRoute | null, globalHooks: RouterRouteHooks<TRoutes, TRejections>): RouterRouteHooks<TRoutes, TRejections>;
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { RouteHooks } from '../models/RouteHooks';
|
|
2
2
|
import { ResolvedRoute } from '../types/resolved';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated will be removed in a future version
|
|
5
|
+
*/
|
|
3
6
|
export declare function getBeforeRouteHooksFromRoutes(to: ResolvedRoute, from: ResolvedRoute | null): RouteHooks;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated will be removed in a future version
|
|
9
|
+
*/
|
|
4
10
|
export declare function getAfterRouteHooksFromRoutes(to: ResolvedRoute, from: ResolvedRoute | null): RouteHooks;
|
package/dist/types/hooks.d.ts
CHANGED
|
@@ -8,11 +8,29 @@ import { RouterAfterRouteHook, RouterBeforeRouteHook } from './router';
|
|
|
8
8
|
* Defines route hooks that can be applied before entering, updating, or leaving a route, as well as after these events.
|
|
9
9
|
*/
|
|
10
10
|
export type WithHooks = {
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use router.onBeforeRouteEnter instead
|
|
13
|
+
*/
|
|
11
14
|
onBeforeRouteEnter?: MaybeArray<BeforeRouteHook>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use router.onBeforeRouteUpdate instead
|
|
17
|
+
*/
|
|
12
18
|
onBeforeRouteUpdate?: MaybeArray<BeforeRouteHook>;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use router.onBeforeRouteLeave instead
|
|
21
|
+
*/
|
|
13
22
|
onBeforeRouteLeave?: MaybeArray<BeforeRouteHook>;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use router.onAfterRouteEnter instead
|
|
25
|
+
*/
|
|
14
26
|
onAfterRouteEnter?: MaybeArray<AfterRouteHook>;
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use router.onAfterRouteUpdate instead
|
|
29
|
+
*/
|
|
15
30
|
onAfterRouteUpdate?: MaybeArray<AfterRouteHook>;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use router.onAfterRouteLeave instead
|
|
33
|
+
*/
|
|
16
34
|
onAfterRouteLeave?: MaybeArray<AfterRouteHook>;
|
|
17
35
|
};
|
|
18
36
|
export type BeforeHookContext = {
|
|
@@ -26,19 +44,19 @@ export type AfterHookContext = {
|
|
|
26
44
|
};
|
|
27
45
|
export type RouteHookAfterRunner = (context: AfterHookContext) => Promise<AfterRouteHookResponse>;
|
|
28
46
|
export type RouteHookTiming = 'global' | 'component';
|
|
29
|
-
|
|
47
|
+
type BeforeRouteHookRegistration<TRoutes extends Routes, TRejections extends PropertyKey> = {
|
|
30
48
|
lifecycle: 'onBeforeRouteEnter' | 'onBeforeRouteUpdate' | 'onBeforeRouteLeave';
|
|
31
|
-
hook: RouterBeforeRouteHook<TRoutes>;
|
|
49
|
+
hook: RouterBeforeRouteHook<TRoutes, TRejections>;
|
|
32
50
|
depth: number;
|
|
33
51
|
};
|
|
34
|
-
export type AddComponentBeforeRouteHook<TRoutes extends Routes> = (hook: BeforeRouteHookRegistration<TRoutes>) => RouteHookRemove;
|
|
35
|
-
|
|
52
|
+
export type AddComponentBeforeRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (hook: BeforeRouteHookRegistration<TRoutes, TRejections>) => RouteHookRemove;
|
|
53
|
+
type AfterRouteHookRegistration<TRoutes extends Routes, TRejections extends PropertyKey> = {
|
|
36
54
|
lifecycle: 'onAfterRouteEnter' | 'onAfterRouteUpdate' | 'onAfterRouteLeave';
|
|
37
|
-
hook: RouterAfterRouteHook<TRoutes>;
|
|
55
|
+
hook: RouterAfterRouteHook<TRoutes, TRejections>;
|
|
38
56
|
depth: number;
|
|
39
57
|
};
|
|
40
|
-
export type AddComponentAfterRouteHook<TRoutes extends Routes> = (hook: AfterRouteHookRegistration<TRoutes>) => RouteHookRemove;
|
|
41
|
-
export type AddGlobalRouteHooks<TRoutes extends Routes> = (hooks: RouterRouteHooks<TRoutes>) => void;
|
|
58
|
+
export type AddComponentAfterRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (hook: AfterRouteHookRegistration<TRoutes, TRejections>) => RouteHookRemove;
|
|
59
|
+
export type AddGlobalRouteHooks<TRoutes extends Routes, TRejections extends PropertyKey> = (hooks: RouterRouteHooks<TRoutes, TRejections>) => void;
|
|
42
60
|
/**
|
|
43
61
|
* Context provided to route hooks, containing context of previous route and functions for triggering rejections and push/replace to another route.
|
|
44
62
|
*/
|
package/dist/types/register.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Route, Routes } from './route';
|
|
|
3
3
|
import { Router, RouterOptions } from './router';
|
|
4
4
|
import { RouterPush } from './routerPush';
|
|
5
5
|
import { RouterReplace } from './routerReplace';
|
|
6
|
+
import { RoutesName } from './routesMap';
|
|
6
7
|
/**
|
|
7
8
|
* Represents the state of currently registered router, and route meta. Used to provide correct type context for
|
|
8
9
|
* components like `RouterLink`, as well as for composables like `useRouter`, `useRoute`, and hooks.
|
|
@@ -27,12 +28,14 @@ export type RegisteredRouter<T = Register> = T extends {
|
|
|
27
28
|
} ? TRouter : Router;
|
|
28
29
|
/**
|
|
29
30
|
* Represents the Router routes property within {@link Register}
|
|
31
|
+
* @deprecated will be removed in a future version
|
|
30
32
|
*/
|
|
31
33
|
export type RegisteredRoutes<T = Register> = T extends {
|
|
32
34
|
router: Router<infer TRoutes extends Routes>;
|
|
33
35
|
} ? TRoutes : Route[];
|
|
34
36
|
/**
|
|
35
37
|
* Represents the possible Rejections registered within {@link Register}
|
|
38
|
+
* @deprecated use `createRouter(..., { rejections: {}}) instead
|
|
36
39
|
*/
|
|
37
40
|
export type RegisteredRejectionType<T = Register> = T extends {
|
|
38
41
|
router: Router<any, infer TOptions extends RouterOptions>;
|
|
@@ -45,13 +48,21 @@ export type RouteMeta<T = Register> = T extends {
|
|
|
45
48
|
} ? RouteMeta : Record<string, unknown>;
|
|
46
49
|
/**
|
|
47
50
|
* Represents the type for router `push`, with types for routes registered within {@link Register}
|
|
51
|
+
* @deprecated will be removed in a future version
|
|
48
52
|
*/
|
|
49
53
|
export type RegisteredRouterPush = RouterPush<RegisteredRoutes>;
|
|
50
54
|
/**
|
|
51
55
|
* Represents the type for router `replace`, with types for routes registered within {@link Register}
|
|
56
|
+
* @deprecated will be removed in a future version
|
|
52
57
|
*/
|
|
53
58
|
export type RegisteredRouterReplace = RouterReplace<RegisteredRoutes>;
|
|
54
59
|
/**
|
|
55
60
|
* Type for Router Reject method. Triggers rejections registered within {@link Register}
|
|
61
|
+
* @deprecated will be removed in a future version
|
|
56
62
|
*/
|
|
57
63
|
export type RegisteredRouterReject = (type: RegisteredRejectionType) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Represents the union of all possible route names registered within {@link Register}
|
|
66
|
+
* @deprecated will be removed in a future version
|
|
67
|
+
*/
|
|
68
|
+
export type RegisteredRoutesName = RoutesName<RegisteredRoutes>;
|
package/dist/types/router.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { RouterReject } from './routerReject';
|
|
|
12
12
|
import { RouterPlugin } from './routerPlugin';
|
|
13
13
|
import { KeysOfUnion, MaybePromise } from './utilities';
|
|
14
14
|
import { RoutesName } from './routesMap';
|
|
15
|
-
import { AfterRouteHookResponse, BeforeRouteHookResponse
|
|
15
|
+
import { AfterRouteHookResponse, BeforeRouteHookResponse } from '../main';
|
|
16
16
|
import { CallbackContextAbort } from '../services/createCallbackContext';
|
|
17
17
|
/**
|
|
18
18
|
* Options to initialize a {@link Router} instance.
|
|
@@ -100,27 +100,27 @@ export type Router<TRoutes extends Routes = any, TOptions extends RouterOptions
|
|
|
100
100
|
/**
|
|
101
101
|
* Registers a hook to be called before a route is entered.
|
|
102
102
|
*/
|
|
103
|
-
onBeforeRouteEnter: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes']
|
|
103
|
+
onBeforeRouteEnter: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
104
104
|
/**
|
|
105
105
|
* Registers a hook to be called before a route is left.
|
|
106
106
|
*/
|
|
107
|
-
onBeforeRouteLeave: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes']
|
|
107
|
+
onBeforeRouteLeave: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
108
108
|
/**
|
|
109
109
|
* Registers a hook to be called before a route is updated.
|
|
110
110
|
*/
|
|
111
|
-
onBeforeRouteUpdate: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes']
|
|
111
|
+
onBeforeRouteUpdate: AddRouterBeforeRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
112
112
|
/**
|
|
113
113
|
* Registers a hook to be called after a route is entered.
|
|
114
114
|
*/
|
|
115
|
-
onAfterRouteEnter: AddRouterAfterRouteHook<TRoutes | TPlugin['routes']
|
|
115
|
+
onAfterRouteEnter: AddRouterAfterRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
116
116
|
/**
|
|
117
117
|
* Registers a hook to be called after a route is left.
|
|
118
118
|
*/
|
|
119
|
-
onAfterRouteLeave: AddRouterAfterRouteHook<TRoutes | TPlugin['routes']
|
|
119
|
+
onAfterRouteLeave: AddRouterAfterRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
120
120
|
/**
|
|
121
121
|
* Registers a hook to be called after a route is updated.
|
|
122
122
|
*/
|
|
123
|
-
onAfterRouteUpdate: AddRouterAfterRouteHook<TRoutes | TPlugin['routes']
|
|
123
|
+
onAfterRouteUpdate: AddRouterAfterRouteHook<TRoutes | TPlugin['routes'], keyof TOptions['rejections'] | KeysOfUnion<TPlugin['rejections']>>;
|
|
124
124
|
/**
|
|
125
125
|
* Given a URL, returns true if host does not match host stored on router instance
|
|
126
126
|
*/
|
|
@@ -148,24 +148,24 @@ export type Router<TRoutes extends Routes = any, TOptions extends RouterOptions
|
|
|
148
148
|
*/
|
|
149
149
|
key: InjectionKey<Router<TRoutes, TOptions, TPlugin>>;
|
|
150
150
|
};
|
|
151
|
-
type RouterHookContext<TRoutes extends Routes> = {
|
|
151
|
+
type RouterHookContext<TRoutes extends Routes, TRejections extends PropertyKey> = {
|
|
152
152
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
153
|
-
reject:
|
|
153
|
+
reject: RouterReject<TRejections>;
|
|
154
154
|
push: RouterPush<TRoutes>;
|
|
155
155
|
replace: RouterReplace<TRoutes>;
|
|
156
156
|
};
|
|
157
|
-
type RouterBeforeRouteHookContext<TRoutes extends Routes> = RouterHookContext<TRoutes> & {
|
|
157
|
+
type RouterBeforeRouteHookContext<TRoutes extends Routes, TRejections extends PropertyKey> = RouterHookContext<TRoutes, TRejections> & {
|
|
158
158
|
abort: CallbackContextAbort;
|
|
159
159
|
};
|
|
160
160
|
export type HookContext<TRoutes extends Routes> = {
|
|
161
161
|
to: RouterResolvedRouteUnion<TRoutes>;
|
|
162
162
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
163
163
|
};
|
|
164
|
-
export type RouterBeforeRouteHook<TRoutes extends Routes> = (to: RouterResolvedRouteUnion<TRoutes>, context: RouterBeforeRouteHookContext<TRoutes>) => MaybePromise<void>;
|
|
165
|
-
export type AddRouterBeforeRouteHook<TRoutes extends Routes> = (hook: RouterBeforeRouteHook<TRoutes>) => RouteHookRemove;
|
|
166
|
-
type RouterAfterRouteHookContext<TRoutes extends Routes> = RouterHookContext<TRoutes>;
|
|
167
|
-
export type RouterAfterRouteHook<TRoutes extends Routes> = (to: RouterResolvedRouteUnion<TRoutes>, context: RouterAfterRouteHookContext<TRoutes>) => MaybePromise<void>;
|
|
168
|
-
export type AddRouterAfterRouteHook<TRoutes extends Routes> = (hook: RouterAfterRouteHook<TRoutes>) => RouteHookRemove;
|
|
164
|
+
export type RouterBeforeRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (to: RouterResolvedRouteUnion<TRoutes>, context: RouterBeforeRouteHookContext<TRoutes, TRejections>) => MaybePromise<void>;
|
|
165
|
+
export type AddRouterBeforeRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (hook: RouterBeforeRouteHook<TRoutes, TRejections>) => RouteHookRemove;
|
|
166
|
+
type RouterAfterRouteHookContext<TRoutes extends Routes, TRejections extends PropertyKey> = RouterHookContext<TRoutes, TRejections>;
|
|
167
|
+
export type RouterAfterRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (to: RouterResolvedRouteUnion<TRoutes>, context: RouterAfterRouteHookContext<TRoutes, TRejections>) => MaybePromise<void>;
|
|
168
|
+
export type AddRouterAfterRouteHook<TRoutes extends Routes, TRejections extends PropertyKey> = (hook: RouterAfterRouteHook<TRoutes, TRejections>) => RouteHookRemove;
|
|
169
169
|
export type RouterRouteHookBeforeRunner<TRoutes extends Routes> = (context: HookContext<TRoutes>) => Promise<BeforeRouteHookResponse>;
|
|
170
170
|
export type RouterRouteHookAfterRunner<TRoutes extends Routes> = (context: HookContext<TRoutes>) => Promise<AfterRouteHookResponse>;
|
|
171
171
|
/**
|
|
@@ -181,5 +181,6 @@ type RouterResolvedRouteUnion<TRoutes extends Routes> = {
|
|
|
181
181
|
[K in keyof TRoutes]: ResolvedRoute<TRoutes[K]>;
|
|
182
182
|
}[number];
|
|
183
183
|
export type RouterRoutes<TRouter extends Router> = TRouter extends Router<infer TRoutes extends Routes> ? TRoutes : Routes;
|
|
184
|
+
export type RouterRejections<TRouter extends Router> = TRouter extends Router<any, infer TOptions extends RouterOptions, infer TPlugins extends RouterPlugin> ? keyof TOptions['rejections'] | KeysOfUnion<TPlugins['rejections']> : PropertyKey;
|
|
184
185
|
export type RouterRouteName<TRouter extends Router> = TRouter extends Router<infer TRoutes extends Routes> ? RoutesName<TRoutes> : RoutesName<Route[]>;
|
|
185
186
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitbag/router",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.20.
|
|
4
|
+
"version": "0.20.9",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/kitbagjs/router/issues"
|
|
7
7
|
},
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "vite build",
|
|
19
19
|
"build:watch": "vite build --watch --minify=false",
|
|
20
|
-
"test": "vitest
|
|
20
|
+
"test": "vitest",
|
|
21
21
|
"lint": "eslint ./src",
|
|
22
22
|
"lint:fix": "eslint ./src --fix",
|
|
23
23
|
"types": "vue-tsc --noEmit",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"@kitbag/eslint-config": "1.0.2",
|
|
44
44
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
45
45
|
"@vue/test-utils": "^2.4.6",
|
|
46
|
-
"eslint": "^9.
|
|
47
|
-
"globals": "^16.
|
|
48
|
-
"happy-dom": "^20.0.
|
|
46
|
+
"eslint": "^9.39.1",
|
|
47
|
+
"globals": "^16.5.0",
|
|
48
|
+
"happy-dom": "^20.0.8",
|
|
49
49
|
"typedoc": "^0.28.14",
|
|
50
50
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
51
51
|
"typedoc-vitepress-theme": "^1.1.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"vite": "^7.1.12",
|
|
55
55
|
"vite-plugin-dts": "^4.5.4",
|
|
56
56
|
"vitepress": "^1.6.4",
|
|
57
|
-
"vitest": "^
|
|
57
|
+
"vitest": "^4.0.4",
|
|
58
58
|
"vue-tsc": "^3.1.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|