@real-router/types 0.8.0 → 0.10.0
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/cjs/index.d.ts +54 -2
- package/dist/cjs/metafile-cjs.json +1 -1
- package/dist/esm/index.d.mts +54 -2
- package/dist/esm/metafile-esm.json +1 -1
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -233,7 +233,7 @@ interface NavigationOptions {
|
|
|
233
233
|
*
|
|
234
234
|
* @example
|
|
235
235
|
* // Accessing redirect flag in lifecycle
|
|
236
|
-
* router.
|
|
236
|
+
* router.addActivateGuard('dashboard', (toState, fromState) => {
|
|
237
237
|
* if (toState.meta?.redirected) {
|
|
238
238
|
* console.log('This navigation is from a redirect');
|
|
239
239
|
* }
|
|
@@ -460,8 +460,60 @@ interface Navigator {
|
|
|
460
460
|
navigate: (routeName: string, routeParamsOrDone?: Params | DoneFn, optionsOrDone?: NavigationOptions | DoneFn, done?: DoneFn) => CancelFn;
|
|
461
461
|
getState: () => State | undefined;
|
|
462
462
|
isActiveRoute: (name: string, params?: Params, strictEquality?: boolean, ignoreQueryParams?: boolean) => boolean;
|
|
463
|
+
canNavigateTo: (name: string, params?: Params) => boolean;
|
|
463
464
|
subscribe: (listener: SubscribeFn) => Unsubscribe;
|
|
464
465
|
}
|
|
466
|
+
/**
|
|
467
|
+
* Router interface - public API for route navigation and lifecycle management.
|
|
468
|
+
*
|
|
469
|
+
* Defines the contract for router implementations. The actual Router class in
|
|
470
|
+
* @real-router/core implements this interface with full functionality.
|
|
471
|
+
*
|
|
472
|
+
* This interface uses `ActivationFn | boolean` for guard types to avoid circular
|
|
473
|
+
* dependencies. The concrete Router class in @real-router/core narrows this to
|
|
474
|
+
* `ActivationFnFactory | boolean` for more precise type checking.
|
|
475
|
+
*/
|
|
476
|
+
interface Router {
|
|
477
|
+
/**
|
|
478
|
+
* Register an activation guard for a route.
|
|
479
|
+
*
|
|
480
|
+
* @param name - Route name
|
|
481
|
+
* @param guard - Guard function or boolean
|
|
482
|
+
* @returns this for method chaining
|
|
483
|
+
*/
|
|
484
|
+
addActivateGuard: (name: string, guard: ActivationFn | boolean) => this;
|
|
485
|
+
/**
|
|
486
|
+
* Register a deactivation guard for a route.
|
|
487
|
+
*
|
|
488
|
+
* @param name - Route name
|
|
489
|
+
* @param guard - Guard function or boolean
|
|
490
|
+
* @returns this for method chaining
|
|
491
|
+
*/
|
|
492
|
+
addDeactivateGuard: (name: string, guard: ActivationFn | boolean) => this;
|
|
493
|
+
/**
|
|
494
|
+
* Remove an activation guard from a route.
|
|
495
|
+
*
|
|
496
|
+
* @param name - Route name
|
|
497
|
+
*/
|
|
498
|
+
removeActivateGuard: (name: string) => void;
|
|
499
|
+
/**
|
|
500
|
+
* Remove a deactivation guard from a route.
|
|
501
|
+
*
|
|
502
|
+
* @param name - Route name
|
|
503
|
+
*/
|
|
504
|
+
removeDeactivateGuard: (name: string) => void;
|
|
505
|
+
/**
|
|
506
|
+
* Check if navigation to a route is allowed without performing actual navigation.
|
|
507
|
+
*
|
|
508
|
+
* Synchronously checks all activation and deactivation guards in the transition path.
|
|
509
|
+
* Async guards return false with a console warning.
|
|
510
|
+
*
|
|
511
|
+
* @param name - Route name to check
|
|
512
|
+
* @param params - Route parameters (optional)
|
|
513
|
+
* @returns true if navigation is allowed, false otherwise
|
|
514
|
+
*/
|
|
515
|
+
canNavigateTo: (name: string, params?: Params) => boolean;
|
|
516
|
+
}
|
|
465
517
|
|
|
466
518
|
/**
|
|
467
519
|
* Plugin lifecycle method names
|
|
@@ -520,4 +572,4 @@ interface ErrorCodeToValueMap {
|
|
|
520
572
|
TRANSITION_CANCELLED: "CANCELLED";
|
|
521
573
|
}
|
|
522
574
|
|
|
523
|
-
export type { ActivationFn, CancelFn, Config, DefaultDependencies, DefaultParamsCallback, DefaultRouteCallback, DoneFn, ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventName, EventToNameMap, EventToPluginMap, EventsKeys, ForwardToCallback, LimitsConfig, Listener, Middleware, NavigationOptions, Navigator, Options, Params, Plugin, PluginMethod, QueryParamsMode, QueryParamsOptions, RouteTreeState, RouterError, SimpleState, State, StateMeta, StateMetaInput, SubscribeFn, SubscribeState, Subscription, Unsubscribe };
|
|
575
|
+
export type { ActivationFn, CancelFn, Config, DefaultDependencies, DefaultParamsCallback, DefaultRouteCallback, DoneFn, ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventName, EventToNameMap, EventToPluginMap, EventsKeys, ForwardToCallback, LimitsConfig, Listener, Middleware, NavigationOptions, Navigator, Options, Params, Plugin, PluginMethod, QueryParamsMode, QueryParamsOptions, RouteTreeState, Router, RouterError, SimpleState, State, StateMeta, StateMetaInput, SubscribeFn, SubscribeState, Subscription, Unsubscribe };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js":{"bytes":569,"imports":[],"format":"esm"},"src/index.ts":{"bytes":
|
|
1
|
+
{"inputs":{"../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js":{"bytes":569,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1248,"imports":[{"path":"/home/runner/work/real-router/real-router/node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/cjs/index.js":{"imports":[],"exports":[],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":0}}}
|
package/dist/esm/index.d.mts
CHANGED
|
@@ -233,7 +233,7 @@ interface NavigationOptions {
|
|
|
233
233
|
*
|
|
234
234
|
* @example
|
|
235
235
|
* // Accessing redirect flag in lifecycle
|
|
236
|
-
* router.
|
|
236
|
+
* router.addActivateGuard('dashboard', (toState, fromState) => {
|
|
237
237
|
* if (toState.meta?.redirected) {
|
|
238
238
|
* console.log('This navigation is from a redirect');
|
|
239
239
|
* }
|
|
@@ -460,8 +460,60 @@ interface Navigator {
|
|
|
460
460
|
navigate: (routeName: string, routeParamsOrDone?: Params | DoneFn, optionsOrDone?: NavigationOptions | DoneFn, done?: DoneFn) => CancelFn;
|
|
461
461
|
getState: () => State | undefined;
|
|
462
462
|
isActiveRoute: (name: string, params?: Params, strictEquality?: boolean, ignoreQueryParams?: boolean) => boolean;
|
|
463
|
+
canNavigateTo: (name: string, params?: Params) => boolean;
|
|
463
464
|
subscribe: (listener: SubscribeFn) => Unsubscribe;
|
|
464
465
|
}
|
|
466
|
+
/**
|
|
467
|
+
* Router interface - public API for route navigation and lifecycle management.
|
|
468
|
+
*
|
|
469
|
+
* Defines the contract for router implementations. The actual Router class in
|
|
470
|
+
* @real-router/core implements this interface with full functionality.
|
|
471
|
+
*
|
|
472
|
+
* This interface uses `ActivationFn | boolean` for guard types to avoid circular
|
|
473
|
+
* dependencies. The concrete Router class in @real-router/core narrows this to
|
|
474
|
+
* `ActivationFnFactory | boolean` for more precise type checking.
|
|
475
|
+
*/
|
|
476
|
+
interface Router {
|
|
477
|
+
/**
|
|
478
|
+
* Register an activation guard for a route.
|
|
479
|
+
*
|
|
480
|
+
* @param name - Route name
|
|
481
|
+
* @param guard - Guard function or boolean
|
|
482
|
+
* @returns this for method chaining
|
|
483
|
+
*/
|
|
484
|
+
addActivateGuard: (name: string, guard: ActivationFn | boolean) => this;
|
|
485
|
+
/**
|
|
486
|
+
* Register a deactivation guard for a route.
|
|
487
|
+
*
|
|
488
|
+
* @param name - Route name
|
|
489
|
+
* @param guard - Guard function or boolean
|
|
490
|
+
* @returns this for method chaining
|
|
491
|
+
*/
|
|
492
|
+
addDeactivateGuard: (name: string, guard: ActivationFn | boolean) => this;
|
|
493
|
+
/**
|
|
494
|
+
* Remove an activation guard from a route.
|
|
495
|
+
*
|
|
496
|
+
* @param name - Route name
|
|
497
|
+
*/
|
|
498
|
+
removeActivateGuard: (name: string) => void;
|
|
499
|
+
/**
|
|
500
|
+
* Remove a deactivation guard from a route.
|
|
501
|
+
*
|
|
502
|
+
* @param name - Route name
|
|
503
|
+
*/
|
|
504
|
+
removeDeactivateGuard: (name: string) => void;
|
|
505
|
+
/**
|
|
506
|
+
* Check if navigation to a route is allowed without performing actual navigation.
|
|
507
|
+
*
|
|
508
|
+
* Synchronously checks all activation and deactivation guards in the transition path.
|
|
509
|
+
* Async guards return false with a console warning.
|
|
510
|
+
*
|
|
511
|
+
* @param name - Route name to check
|
|
512
|
+
* @param params - Route parameters (optional)
|
|
513
|
+
* @returns true if navigation is allowed, false otherwise
|
|
514
|
+
*/
|
|
515
|
+
canNavigateTo: (name: string, params?: Params) => boolean;
|
|
516
|
+
}
|
|
465
517
|
|
|
466
518
|
/**
|
|
467
519
|
* Plugin lifecycle method names
|
|
@@ -520,4 +572,4 @@ interface ErrorCodeToValueMap {
|
|
|
520
572
|
TRANSITION_CANCELLED: "CANCELLED";
|
|
521
573
|
}
|
|
522
574
|
|
|
523
|
-
export type { ActivationFn, CancelFn, Config, DefaultDependencies, DefaultParamsCallback, DefaultRouteCallback, DoneFn, ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventName, EventToNameMap, EventToPluginMap, EventsKeys, ForwardToCallback, LimitsConfig, Listener, Middleware, NavigationOptions, Navigator, Options, Params, Plugin, PluginMethod, QueryParamsMode, QueryParamsOptions, RouteTreeState, RouterError, SimpleState, State, StateMeta, StateMetaInput, SubscribeFn, SubscribeState, Subscription, Unsubscribe };
|
|
575
|
+
export type { ActivationFn, CancelFn, Config, DefaultDependencies, DefaultParamsCallback, DefaultRouteCallback, DoneFn, ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventName, EventToNameMap, EventToPluginMap, EventsKeys, ForwardToCallback, LimitsConfig, Listener, Middleware, NavigationOptions, Navigator, Options, Params, Plugin, PluginMethod, QueryParamsMode, QueryParamsOptions, RouteTreeState, Router, RouterError, SimpleState, State, StateMeta, StateMetaInput, SubscribeFn, SubscribeState, Subscription, Unsubscribe };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/index.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/index.ts":{"bytes":1248,"imports":[],"format":"esm"}},"outputs":{"dist/esm/index.mjs":{"imports":[],"exports":[],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":0}}}
|