@real-router/core 0.36.0 → 0.36.2
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/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metafile-cjs.json +1 -1
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/api.mjs.map +1 -1
- package/dist/esm/chunk-PKKD6URG.mjs +1 -0
- package/dist/esm/chunk-PKKD6URG.mjs.map +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/metafile-esm.json +1 -1
- package/package.json +4 -4
- package/src/Router.ts +33 -12
- package/src/api/getPluginApi.ts +10 -4
- package/src/constants.ts +2 -0
- package/src/fsm/routerFSM.ts +2 -21
- package/src/internals.ts +21 -2
- package/src/namespaces/EventBusNamespace/EventBusNamespace.ts +50 -39
- package/src/namespaces/NavigationNamespace/NavigationNamespace.ts +221 -153
- package/src/namespaces/NavigationNamespace/constants.ts +55 -0
- package/src/namespaces/NavigationNamespace/transition/completeTransition.ts +100 -0
- package/src/namespaces/NavigationNamespace/transition/errorHandling.ts +34 -0
- package/src/namespaces/NavigationNamespace/transition/guardPhase.ts +214 -0
- package/src/namespaces/NavigationNamespace/types.ts +14 -30
- package/src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts +6 -1
- package/src/namespaces/RoutesNamespace/RoutesNamespace.ts +36 -35
- package/src/namespaces/RoutesNamespace/forwardToValidation.ts +2 -5
- package/src/namespaces/RoutesNamespace/types.ts +1 -2
- package/src/namespaces/StateNamespace/StateNamespace.ts +13 -17
- package/src/transitionPath.ts +68 -39
- package/src/wiring/RouterWiringBuilder.ts +8 -11
- package/dist/esm/chunk-AP4ME3HM.mjs +0 -1
- package/dist/esm/chunk-AP4ME3HM.mjs.map +0 -1
- package/src/namespaces/NavigationNamespace/transition/executeLifecycleGuards.ts +0 -52
- package/src/namespaces/NavigationNamespace/transition/index.ts +0 -93
package/dist/esm/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Router as e}from"./chunk-
|
|
1
|
+
import{Router as e}from"./chunk-PKKD6URG.mjs";export{Router,RouterError,UNKNOWN_ROUTE,constants,errorCodes,events}from"./chunk-PKKD6URG.mjs";var t=(t=[],r={},a={})=>new e(t,r,a),r=new WeakMap,a=e=>{let t=r.get(e);return t||(t=Object.freeze({navigate:e.navigate,getState:e.getState,isActiveRoute:e.isActiveRoute,canNavigateTo:e.canNavigateTo,subscribe:e.subscribe}),r.set(e,t)),t};export{t as createRouter,a as getNavigator};//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1617,"imports":[],"format":"esm"},"../type-guards/dist/esm/index.mjs":{"bytes":3451,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":4078,"imports":[],"format":"esm"},"src/fsm/routerFSM.ts":{"bytes":3369,"imports":[{"path":"@real-router/fsm","kind":"import-statement","external":true}],"format":"esm"},"src/fsm/index.ts":{"bytes":188,"imports":[{"path":"src/fsm/routerFSM.ts","kind":"import-statement","original":"./routerFSM"}],"format":"esm"},"src/helpers.ts":{"bytes":5658,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/internals.ts":{"bytes":4548,"imports":[],"format":"esm"},"src/namespaces/DependenciesNamespace/dependenciesStore.ts":{"bytes":828,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/DependenciesNamespace/index.ts":{"bytes":190,"imports":[{"path":"src/namespaces/DependenciesNamespace/dependenciesStore.ts","kind":"import-statement","original":"./dependenciesStore"}],"format":"esm"},"src/namespaces/OptionsNamespace/constants.ts":{"bytes":1156,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/helpers.ts":{"bytes":1627,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/validators.ts":{"bytes":6937,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytes":1613,"imports":[{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/OptionsNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/OptionsNamespace/validators.ts","kind":"import-statement","original":"./validators"}],"format":"esm"},"src/namespaces/OptionsNamespace/index.ts":{"bytes":265,"imports":[{"path":"src/namespaces/OptionsNamespace/OptionsNamespace.ts","kind":"import-statement","original":"./OptionsNamespace"},{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/OptionsNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/StateNamespace/helpers.ts":{"bytes":1045,"imports":[],"format":"esm"},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytes":7317,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/StateNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/StateNamespace/index.ts":{"bytes":168,"imports":[{"path":"src/namespaces/StateNamespace/StateNamespace.ts","kind":"import-statement","original":"./StateNamespace"}],"format":"esm"},"src/namespaces/PluginsNamespace/constants.ts":{"bytes":1120,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/validators.ts":{"bytes":2525,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytes":9397,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/PluginsNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/PluginsNamespace/index.ts":{"bytes":230,"imports":[{"path":"src/namespaces/PluginsNamespace/PluginsNamespace.ts","kind":"import-statement","original":"./PluginsNamespace"},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytes":1873,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytes":12937,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RouteLifecycleNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytes":195,"imports":[{"path":"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","kind":"import-statement","original":"./RouteLifecycleNamespace"}],"format":"esm"},"src/namespaces/RoutesNamespace/constants.ts":{"bytes":503,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/helpers.ts":{"bytes":3038,"imports":[],"format":"esm"},"../path-matcher/dist/esm/index.mjs":{"bytes":9525,"imports":[],"format":"esm"},"../search-params/dist/esm/index.mjs":{"bytes":3813,"imports":[],"format":"esm"},"../route-tree/dist/esm/index.mjs":{"bytes":6514,"imports":[{"path":"../path-matcher/dist/esm/index.mjs","kind":"import-statement","original":"path-matcher"},{"path":"../search-params/dist/esm/index.mjs","kind":"import-statement","original":"search-params"}],"format":"esm"},"src/namespaces/RoutesNamespace/forwardToValidation.ts":{"bytes":11832,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/RoutesNamespace/validators.ts":{"bytes":16834,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RoutesNamespace/forwardToValidation.ts","kind":"import-statement","original":"./forwardToValidation"}],"format":"esm"},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytes":11975,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/forwardToValidation.ts","kind":"import-statement","original":"./forwardToValidation"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./validators"}],"format":"esm"},"src/transitionPath.ts":{"bytes":12824,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":15382,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"./routesStore"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"../../transitionPath"}],"format":"esm"},"src/namespaces/RoutesNamespace/index.ts":{"bytes":347,"imports":[{"path":"src/namespaces/RoutesNamespace/RoutesNamespace.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/RouterError.ts":{"bytes":10101,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytes":2613,"imports":[{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/executeLifecycleGuards.ts":{"bytes":1575,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/errorHandling.ts","kind":"import-statement","original":"./errorHandling"},{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/index.ts":{"bytes":2518,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/executeLifecycleGuards.ts","kind":"import-statement","original":"./executeLifecycleGuards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"../../../transitionPath"}],"format":"esm"},"src/namespaces/NavigationNamespace/validators.ts":{"bytes":1409,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytes":8913,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/NavigationNamespace/transition/index.ts","kind":"import-statement","original":"./transition"},{"path":"src/namespaces/NavigationNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"../../transitionPath"}],"format":"esm"},"src/namespaces/NavigationNamespace/index.ts":{"bytes":179,"imports":[{"path":"src/namespaces/NavigationNamespace/NavigationNamespace.ts","kind":"import-statement","original":"./NavigationNamespace"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytes":2863,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytes":199,"imports":[{"path":"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts","kind":"import-statement","original":"./RouterLifecycleNamespace"}],"format":"esm"},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytes":6454,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"../../fsm"}],"format":"esm"},"src/namespaces/EventBusNamespace/index.ts":{"bytes":166,"imports":[{"path":"src/namespaces/EventBusNamespace/EventBusNamespace.ts","kind":"import-statement","original":"./EventBusNamespace"}],"format":"esm"},"src/namespaces/index.ts":{"bytes":899,"imports":[{"path":"src/namespaces/DependenciesNamespace/index.ts","kind":"import-statement","original":"./DependenciesNamespace"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"./OptionsNamespace"},{"path":"src/namespaces/StateNamespace/index.ts","kind":"import-statement","original":"./StateNamespace"},{"path":"src/namespaces/PluginsNamespace/index.ts","kind":"import-statement","original":"./PluginsNamespace"},{"path":"src/namespaces/RouteLifecycleNamespace/index.ts","kind":"import-statement","original":"./RouteLifecycleNamespace"},{"path":"src/namespaces/RoutesNamespace/index.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/NavigationNamespace/index.ts","kind":"import-statement","original":"./NavigationNamespace"},{"path":"src/namespaces/RouterLifecycleNamespace/index.ts","kind":"import-statement","original":"./RouterLifecycleNamespace"},{"path":"src/namespaces/EventBusNamespace/index.ts","kind":"import-statement","original":"./EventBusNamespace"}],"format":"esm"},"src/namespaces/DependenciesNamespace/validators.ts":{"bytes":2852,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytes":1142,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/typeGuards.ts":{"bytes":1830,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/wiring/RouterWiringBuilder.ts":{"bytes":8896,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../namespaces/OptionsNamespace"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"}],"format":"esm"},"src/wiring/wireRouter.ts":{"bytes":1058,"imports":[],"format":"esm"},"src/wiring/index.ts":{"bytes":190,"imports":[{"path":"src/wiring/RouterWiringBuilder.ts","kind":"import-statement","original":"./RouterWiringBuilder"},{"path":"src/wiring/wireRouter.ts","kind":"import-statement","original":"./wireRouter"}],"format":"esm"},"src/Router.ts":{"bytes":21303,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../event-emitter/dist/esm/index.mjs","kind":"import-statement","original":"event-emitter"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"./fsm"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"./internals"},{"path":"src/namespaces/index.ts","kind":"import-statement","original":"./namespaces"},{"path":"src/namespaces/DependenciesNamespace/validators.ts","kind":"import-statement","original":"./namespaces/DependenciesNamespace/validators"},{"path":"src/namespaces/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./namespaces/RoutesNamespace/validators"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"./transitionPath"},{"path":"src/typeGuards.ts","kind":"import-statement","original":"./typeGuards"},{"path":"src/wiring/index.ts","kind":"import-statement","original":"./wiring"}],"format":"esm"},"src/createRouter.ts":{"bytes":897,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"}],"format":"esm"},"src/getNavigator.ts":{"bytes":605,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1031,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/createRouter.ts","kind":"import-statement","original":"./createRouter"},{"path":"src/getNavigator.ts","kind":"import-statement","original":"./getNavigator"}],"format":"esm"},"src/api/helpers.ts":{"bytes":277,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/namespaces/EventBusNamespace/validators.ts":{"bytes":961,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/StateNamespace/validators.ts":{"bytes":1240,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/api/getPluginApi.ts":{"bytes":4258,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/EventBusNamespace/validators.ts","kind":"import-statement","original":"../namespaces/EventBusNamespace/validators"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"},{"path":"src/namespaces/StateNamespace/validators.ts","kind":"import-statement","original":"../namespaces/StateNamespace/validators"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/api/getRoutesApi.ts":{"bytes":17668,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/helpers"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routesStore"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"}],"format":"esm"},"src/api/getDependenciesApi.ts":{"bytes":6039,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/helpers.ts","kind":"import-statement","original":"../helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/DependenciesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/DependenciesNamespace/validators"}],"format":"esm"},"src/api/getLifecycleApi.ts":{"bytes":1795,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/RouteLifecycleNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RouteLifecycleNamespace/validators"}],"format":"esm"},"src/api/cloneRouter.ts":{"bytes":3216,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/Router.ts","kind":"import-statement","original":"../Router"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"},{"path":"src/api/getLifecycleApi.ts","kind":"import-statement","original":"./getLifecycleApi"}],"format":"esm"},"src/api/index.ts":{"bytes":349,"imports":[{"path":"src/api/getPluginApi.ts","kind":"import-statement","original":"./getPluginApi"},{"path":"src/api/getRoutesApi.ts","kind":"import-statement","original":"./getRoutesApi"},{"path":"src/api/getDependenciesApi.ts","kind":"import-statement","original":"./getDependenciesApi"},{"path":"src/api/getLifecycleApi.ts","kind":"import-statement","original":"./getLifecycleApi"},{"path":"src/api/cloneRouter.ts","kind":"import-statement","original":"./cloneRouter"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2150},"dist/esm/index.mjs":{"imports":[{"path":"dist/esm/chunk-AP4ME3HM.mjs","kind":"import-statement"}],"exports":["Router","RouterError","UNKNOWN_ROUTE","constants","createRouter","errorCodes","events","getNavigator"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":390}},"bytes":804},"dist/esm/api.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":52431},"dist/esm/api.mjs":{"imports":[{"path":"dist/esm/chunk-AP4ME3HM.mjs","kind":"import-statement"},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["cloneRouter","getDependenciesApi","getLifecycleApi","getPluginApi","getRoutesApi"],"entryPoint":"src/api/index.ts","inputs":{"src/api/helpers.ts":{"bytesInOutput":122},"src/namespaces/EventBusNamespace/validators.ts":{"bytesInOutput":369},"src/namespaces/StateNamespace/validators.ts":{"bytesInOutput":659},"src/api/getPluginApi.ts":{"bytesInOutput":3370},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10690},"src/api/getDependenciesApi.ts":{"bytesInOutput":4180},"src/api/getLifecycleApi.ts":{"bytesInOutput":1147},"src/api/cloneRouter.ts":{"bytesInOutput":2365}},"bytes":24447},"dist/esm/chunk-AP4ME3HM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":297029},"dist/esm/chunk-AP4ME3HM.mjs":{"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/fsm","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["Router","RouterError","UNKNOWN_ROUTE","b","clearConfigEntries","clearRouteData","computeThresholds","constants","errorCodes","events","f","g","getInternals","j","refreshForwardMap","registerAllRouteHandlers","removeFromDefinitions","s","sanitizeRoute","throwIfInternalRoute","throwIfInternalRouteInArray","validEventNames","validateAddRouteArgs","validateClearRoutes","validateDependenciesObject","validateDependencyExists","validateDependencyLimit","validateDependencyName","validateHandler","validateMatchPathArgs","validateParentOption","validateRemoveRoute","validateRemoveRouteArgs","validateSetDependencyArgs","validateSetRootPathArgs","validateStateBuilderArgs","validateUpdateRoute","validateUpdateRouteBasicArgs","validateUpdateRoutePropertyTypes"],"inputs":{"src/constants.ts":{"bytesInOutput":2595},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3182},"src/helpers.ts":{"bytesInOutput":1794},"src/RouterError.ts":{"bytesInOutput":8509},"src/Router.ts":{"bytesInOutput":14255},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2382},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/internals.ts":{"bytesInOutput":851},"src/namespaces/DependenciesNamespace/dependenciesStore.ts":{"bytesInOutput":336},"src/namespaces/DependenciesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/index.ts":{"bytesInOutput":0},"src/namespaces/OptionsNamespace/constants.ts":{"bytesInOutput":705},"src/namespaces/OptionsNamespace/helpers.ts":{"bytesInOutput":385},"src/namespaces/OptionsNamespace/validators.ts":{"bytesInOutput":4294},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytesInOutput":930},"src/namespaces/OptionsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/StateNamespace/helpers.ts":{"bytesInOutput":580},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytesInOutput":5352},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":7151},"src/namespaces/PluginsNamespace/constants.ts":{"bytesInOutput":482},"src/namespaces/PluginsNamespace/validators.ts":{"bytesInOutput":1421},"src/namespaces/PluginsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytesInOutput":10431},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytesInOutput":898},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":82},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":1653},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytesInOutput":6346},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13115},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4202},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":8191},"src/namespaces/RoutesNamespace/forwardToValidation.ts":{"bytesInOutput":7015},"src/namespaces/RoutesNamespace/validators.ts":{"bytesInOutput":8653},"src/transitionPath.ts":{"bytesInOutput":4084},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":11313},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":7266},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytesInOutput":949},"src/namespaces/NavigationNamespace/transition/executeLifecycleGuards.ts":{"bytesInOutput":855},"src/namespaces/NavigationNamespace/transition/index.ts":{"bytesInOutput":1605},"src/namespaces/NavigationNamespace/validators.ts":{"bytesInOutput":650},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":2116},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":4654},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/DependenciesNamespace/validators.ts":{"bytesInOutput":1493},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":6552},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":240}},"bytes":163434}}}
|
|
1
|
+
{"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1750,"imports":[],"format":"esm"},"../type-guards/dist/esm/index.mjs":{"bytes":3451,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":4159,"imports":[],"format":"esm"},"src/fsm/routerFSM.ts":{"bytes":3088,"imports":[{"path":"@real-router/fsm","kind":"import-statement","external":true}],"format":"esm"},"src/fsm/index.ts":{"bytes":188,"imports":[{"path":"src/fsm/routerFSM.ts","kind":"import-statement","original":"./routerFSM"}],"format":"esm"},"src/helpers.ts":{"bytes":5658,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/internals.ts":{"bytes":5123,"imports":[],"format":"esm"},"src/namespaces/DependenciesNamespace/dependenciesStore.ts":{"bytes":828,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/DependenciesNamespace/index.ts":{"bytes":190,"imports":[{"path":"src/namespaces/DependenciesNamespace/dependenciesStore.ts","kind":"import-statement","original":"./dependenciesStore"}],"format":"esm"},"src/namespaces/OptionsNamespace/constants.ts":{"bytes":1156,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/helpers.ts":{"bytes":1627,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/validators.ts":{"bytes":6937,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytes":1613,"imports":[{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/OptionsNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/OptionsNamespace/validators.ts","kind":"import-statement","original":"./validators"}],"format":"esm"},"src/namespaces/OptionsNamespace/index.ts":{"bytes":265,"imports":[{"path":"src/namespaces/OptionsNamespace/OptionsNamespace.ts","kind":"import-statement","original":"./OptionsNamespace"},{"path":"src/namespaces/OptionsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/OptionsNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/StateNamespace/helpers.ts":{"bytes":1045,"imports":[],"format":"esm"},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytes":7409,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/StateNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/StateNamespace/index.ts":{"bytes":168,"imports":[{"path":"src/namespaces/StateNamespace/StateNamespace.ts","kind":"import-statement","original":"./StateNamespace"}],"format":"esm"},"src/namespaces/PluginsNamespace/constants.ts":{"bytes":1120,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/validators.ts":{"bytes":2525,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytes":9397,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/PluginsNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/PluginsNamespace/index.ts":{"bytes":230,"imports":[{"path":"src/namespaces/PluginsNamespace/PluginsNamespace.ts","kind":"import-statement","original":"./PluginsNamespace"},{"path":"src/namespaces/PluginsNamespace/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytes":1873,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytes":13116,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RouteLifecycleNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../helpers"}],"format":"esm"},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytes":195,"imports":[{"path":"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","kind":"import-statement","original":"./RouteLifecycleNamespace"}],"format":"esm"},"src/namespaces/RoutesNamespace/constants.ts":{"bytes":503,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/helpers.ts":{"bytes":3038,"imports":[],"format":"esm"},"../path-matcher/dist/esm/index.mjs":{"bytes":9525,"imports":[],"format":"esm"},"../search-params/dist/esm/index.mjs":{"bytes":3813,"imports":[],"format":"esm"},"../route-tree/dist/esm/index.mjs":{"bytes":6514,"imports":[{"path":"../path-matcher/dist/esm/index.mjs","kind":"import-statement","original":"path-matcher"},{"path":"../search-params/dist/esm/index.mjs","kind":"import-statement","original":"search-params"}],"format":"esm"},"src/namespaces/RoutesNamespace/forwardToValidation.ts":{"bytes":11766,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/RoutesNamespace/validators.ts":{"bytes":16834,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RoutesNamespace/forwardToValidation.ts","kind":"import-statement","original":"./forwardToValidation"}],"format":"esm"},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytes":11975,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/forwardToValidation.ts","kind":"import-statement","original":"./forwardToValidation"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./validators"}],"format":"esm"},"src/transitionPath.ts":{"bytes":13289,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":15363,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"./routesStore"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"../../transitionPath"}],"format":"esm"},"src/namespaces/RoutesNamespace/index.ts":{"bytes":347,"imports":[{"path":"src/namespaces/RoutesNamespace/RoutesNamespace.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/RouterError.ts":{"bytes":10101,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/NavigationNamespace/constants.ts":{"bytes":2358,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytes":2242,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../../helpers"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytes":3458,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytes":4634,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/errorHandling.ts","kind":"import-statement","original":"./errorHandling"},{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/validators.ts":{"bytes":1409,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytes":11239,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/NavigationNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/NavigationNamespace/transition/completeTransition.ts","kind":"import-statement","original":"./transition/completeTransition"},{"path":"src/namespaces/NavigationNamespace/transition/errorHandling.ts","kind":"import-statement","original":"./transition/errorHandling"},{"path":"src/namespaces/NavigationNamespace/transition/guardPhase.ts","kind":"import-statement","original":"./transition/guardPhase"},{"path":"src/namespaces/NavigationNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"../../transitionPath"}],"format":"esm"},"src/namespaces/NavigationNamespace/index.ts":{"bytes":179,"imports":[{"path":"src/namespaces/NavigationNamespace/NavigationNamespace.ts","kind":"import-statement","original":"./NavigationNamespace"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytes":2863,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytes":199,"imports":[{"path":"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts","kind":"import-statement","original":"./RouterLifecycleNamespace"}],"format":"esm"},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytes":6898,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"../../fsm"}],"format":"esm"},"src/namespaces/EventBusNamespace/index.ts":{"bytes":166,"imports":[{"path":"src/namespaces/EventBusNamespace/EventBusNamespace.ts","kind":"import-statement","original":"./EventBusNamespace"}],"format":"esm"},"src/namespaces/index.ts":{"bytes":899,"imports":[{"path":"src/namespaces/DependenciesNamespace/index.ts","kind":"import-statement","original":"./DependenciesNamespace"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"./OptionsNamespace"},{"path":"src/namespaces/StateNamespace/index.ts","kind":"import-statement","original":"./StateNamespace"},{"path":"src/namespaces/PluginsNamespace/index.ts","kind":"import-statement","original":"./PluginsNamespace"},{"path":"src/namespaces/RouteLifecycleNamespace/index.ts","kind":"import-statement","original":"./RouteLifecycleNamespace"},{"path":"src/namespaces/RoutesNamespace/index.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/NavigationNamespace/index.ts","kind":"import-statement","original":"./NavigationNamespace"},{"path":"src/namespaces/RouterLifecycleNamespace/index.ts","kind":"import-statement","original":"./RouterLifecycleNamespace"},{"path":"src/namespaces/EventBusNamespace/index.ts","kind":"import-statement","original":"./EventBusNamespace"}],"format":"esm"},"src/namespaces/DependenciesNamespace/validators.ts":{"bytes":2852,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytes":1142,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/typeGuards.ts":{"bytes":1830,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/wiring/RouterWiringBuilder.ts":{"bytes":8763,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../namespaces/OptionsNamespace"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"}],"format":"esm"},"src/wiring/wireRouter.ts":{"bytes":1058,"imports":[],"format":"esm"},"src/wiring/index.ts":{"bytes":190,"imports":[{"path":"src/wiring/RouterWiringBuilder.ts","kind":"import-statement","original":"./RouterWiringBuilder"},{"path":"src/wiring/wireRouter.ts","kind":"import-statement","original":"./wireRouter"}],"format":"esm"},"src/Router.ts":{"bytes":22126,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../event-emitter/dist/esm/index.mjs","kind":"import-statement","original":"event-emitter"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"./fsm"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"./internals"},{"path":"src/namespaces/index.ts","kind":"import-statement","original":"./namespaces"},{"path":"src/namespaces/DependenciesNamespace/validators.ts","kind":"import-statement","original":"./namespaces/DependenciesNamespace/validators"},{"path":"src/namespaces/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./namespaces/RoutesNamespace/validators"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"./transitionPath"},{"path":"src/typeGuards.ts","kind":"import-statement","original":"./typeGuards"},{"path":"src/wiring/index.ts","kind":"import-statement","original":"./wiring"}],"format":"esm"},"src/createRouter.ts":{"bytes":897,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"}],"format":"esm"},"src/getNavigator.ts":{"bytes":605,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1031,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/createRouter.ts","kind":"import-statement","original":"./createRouter"},{"path":"src/getNavigator.ts","kind":"import-statement","original":"./getNavigator"}],"format":"esm"},"src/api/helpers.ts":{"bytes":277,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/namespaces/EventBusNamespace/validators.ts":{"bytes":961,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/StateNamespace/validators.ts":{"bytes":1240,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/api/getPluginApi.ts":{"bytes":4369,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/EventBusNamespace/validators.ts","kind":"import-statement","original":"../namespaces/EventBusNamespace/validators"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"},{"path":"src/namespaces/StateNamespace/validators.ts","kind":"import-statement","original":"../namespaces/StateNamespace/validators"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/api/getRoutesApi.ts":{"bytes":17668,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/helpers"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routesStore"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/validators"}],"format":"esm"},"src/api/getDependenciesApi.ts":{"bytes":6039,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/helpers.ts","kind":"import-statement","original":"../helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/DependenciesNamespace/validators.ts","kind":"import-statement","original":"../namespaces/DependenciesNamespace/validators"}],"format":"esm"},"src/api/getLifecycleApi.ts":{"bytes":1795,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/RouteLifecycleNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RouteLifecycleNamespace/validators"}],"format":"esm"},"src/api/cloneRouter.ts":{"bytes":3216,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/Router.ts","kind":"import-statement","original":"../Router"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"},{"path":"src/api/getLifecycleApi.ts","kind":"import-statement","original":"./getLifecycleApi"}],"format":"esm"},"src/api/index.ts":{"bytes":349,"imports":[{"path":"src/api/getPluginApi.ts","kind":"import-statement","original":"./getPluginApi"},{"path":"src/api/getRoutesApi.ts","kind":"import-statement","original":"./getRoutesApi"},{"path":"src/api/getDependenciesApi.ts","kind":"import-statement","original":"./getDependenciesApi"},{"path":"src/api/getLifecycleApi.ts","kind":"import-statement","original":"./getLifecycleApi"},{"path":"src/api/cloneRouter.ts","kind":"import-statement","original":"./cloneRouter"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2150},"dist/esm/index.mjs":{"imports":[{"path":"dist/esm/chunk-PKKD6URG.mjs","kind":"import-statement"}],"exports":["Router","RouterError","UNKNOWN_ROUTE","constants","createRouter","errorCodes","events","getNavigator"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":390}},"bytes":804},"dist/esm/api.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":52560},"dist/esm/api.mjs":{"imports":[{"path":"dist/esm/chunk-PKKD6URG.mjs","kind":"import-statement"},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["cloneRouter","getDependenciesApi","getLifecycleApi","getPluginApi","getRoutesApi"],"entryPoint":"src/api/index.ts","inputs":{"src/api/helpers.ts":{"bytesInOutput":122},"src/namespaces/EventBusNamespace/validators.ts":{"bytesInOutput":369},"src/namespaces/StateNamespace/validators.ts":{"bytesInOutput":659},"src/api/getPluginApi.ts":{"bytesInOutput":3396},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10690},"src/api/getDependenciesApi.ts":{"bytesInOutput":4180},"src/api/getLifecycleApi.ts":{"bytesInOutput":1147},"src/api/cloneRouter.ts":{"bytesInOutput":2365}},"bytes":24473},"dist/esm/chunk-PKKD6URG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":311995},"dist/esm/chunk-PKKD6URG.mjs":{"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/fsm","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["Router","RouterError","UNKNOWN_ROUTE","b","clearConfigEntries","clearRouteData","computeThresholds","constants","errorCodes","events","f","g","getInternals","j","refreshForwardMap","registerAllRouteHandlers","removeFromDefinitions","s","sanitizeRoute","throwIfInternalRoute","throwIfInternalRouteInArray","validEventNames","validateAddRouteArgs","validateClearRoutes","validateDependenciesObject","validateDependencyExists","validateDependencyLimit","validateDependencyName","validateHandler","validateMatchPathArgs","validateParentOption","validateRemoveRoute","validateRemoveRouteArgs","validateSetDependencyArgs","validateSetRootPathArgs","validateStateBuilderArgs","validateUpdateRoute","validateUpdateRouteBasicArgs","validateUpdateRoutePropertyTypes"],"inputs":{"src/constants.ts":{"bytesInOutput":2633},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3182},"src/helpers.ts":{"bytesInOutput":1794},"src/RouterError.ts":{"bytesInOutput":8509},"src/Router.ts":{"bytesInOutput":14801},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2699},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/internals.ts":{"bytesInOutput":1125},"src/namespaces/DependenciesNamespace/dependenciesStore.ts":{"bytesInOutput":336},"src/namespaces/DependenciesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/index.ts":{"bytesInOutput":0},"src/namespaces/OptionsNamespace/constants.ts":{"bytesInOutput":705},"src/namespaces/OptionsNamespace/helpers.ts":{"bytesInOutput":385},"src/namespaces/OptionsNamespace/validators.ts":{"bytesInOutput":4294},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytesInOutput":930},"src/namespaces/OptionsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/StateNamespace/helpers.ts":{"bytesInOutput":580},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytesInOutput":5385},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":7151},"src/namespaces/PluginsNamespace/constants.ts":{"bytesInOutput":482},"src/namespaces/PluginsNamespace/validators.ts":{"bytesInOutput":1421},"src/namespaces/PluginsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytesInOutput":10554},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytesInOutput":898},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":82},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":1653},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytesInOutput":6346},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13115},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4202},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":8191},"src/namespaces/RoutesNamespace/forwardToValidation.ts":{"bytesInOutput":6986},"src/namespaces/RoutesNamespace/validators.ts":{"bytesInOutput":8653},"src/transitionPath.ts":{"bytesInOutput":4755},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":11252},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":8637},"src/namespaces/NavigationNamespace/constants.ts":{"bytesInOutput":635},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytesInOutput":1508},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytesInOutput":1476},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytesInOutput":3516},"src/namespaces/NavigationNamespace/validators.ts":{"bytesInOutput":650},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":2116},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":4703},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/DependenciesNamespace/validators.ts":{"bytesInOutput":1493},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":6483},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":240}},"bytes":170696}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/core",
|
|
3
|
-
"version": "0.36.
|
|
3
|
+
"version": "0.36.2",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "A simple, powerful, view-agnostic, modular and extensible router",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
"homepage": "https://github.com/greydragon888/real-router",
|
|
64
64
|
"sideEffects": false,
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@real-router/fsm": "^0.2.
|
|
66
|
+
"@real-router/fsm": "^0.2.1",
|
|
67
67
|
"@real-router/logger": "^0.2.0",
|
|
68
|
-
"@real-router/types": "^0.23.
|
|
68
|
+
"@real-router/types": "^0.23.1"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"event-emitter": "^0.1.
|
|
71
|
+
"event-emitter": "^0.1.1",
|
|
72
72
|
"route-tree": "^0.3.3",
|
|
73
73
|
"type-guards": "^0.3.5"
|
|
74
74
|
},
|
package/src/Router.ts
CHANGED
|
@@ -10,11 +10,12 @@ import { logger } from "@real-router/logger";
|
|
|
10
10
|
import { EventEmitter } from "event-emitter";
|
|
11
11
|
import { validateRouteName } from "type-guards";
|
|
12
12
|
|
|
13
|
-
import { errorCodes } from "./constants";
|
|
13
|
+
import { EMPTY_PARAMS, errorCodes } from "./constants";
|
|
14
14
|
import { createRouterFSM } from "./fsm";
|
|
15
15
|
import { createLimits } from "./helpers";
|
|
16
16
|
import {
|
|
17
17
|
createInterceptable,
|
|
18
|
+
createInterceptable2,
|
|
18
19
|
getInternals,
|
|
19
20
|
registerInternals,
|
|
20
21
|
} from "./internals";
|
|
@@ -58,6 +59,8 @@ import type {
|
|
|
58
59
|
} from "@real-router/types";
|
|
59
60
|
import type { CreateMatcherOptions } from "route-tree";
|
|
60
61
|
|
|
62
|
+
const EMPTY_OPTS: Readonly<NavigationOptions> = Object.freeze({});
|
|
63
|
+
|
|
61
64
|
/**
|
|
62
65
|
* Router class with integrated namespace architecture.
|
|
63
66
|
*
|
|
@@ -212,11 +215,12 @@ export class Router<
|
|
|
212
215
|
registerInternals(this, {
|
|
213
216
|
makeState: (name, params, path, meta, forceId) =>
|
|
214
217
|
this.#state.makeState(name, params, path, meta, forceId),
|
|
215
|
-
forwardState:
|
|
218
|
+
forwardState: createInterceptable2(
|
|
216
219
|
"forwardState",
|
|
217
|
-
(name, params) =>
|
|
220
|
+
(name: string, params: Params) =>
|
|
221
|
+
this.#routes.forwardState(name, params),
|
|
218
222
|
interceptorsMap,
|
|
219
|
-
),
|
|
223
|
+
) as unknown as RouterInternals["forwardState"],
|
|
220
224
|
buildStateResolved: (name, params) =>
|
|
221
225
|
this.#routes.buildStateResolved(name, params),
|
|
222
226
|
matchPath: (path, matchOptions) =>
|
|
@@ -224,12 +228,16 @@ export class Router<
|
|
|
224
228
|
getOptions: () => this.#options.get(),
|
|
225
229
|
addEventListener: (eventName, cb) =>
|
|
226
230
|
this.#eventBus.addEventListener(eventName, cb),
|
|
227
|
-
buildPath:
|
|
231
|
+
buildPath: createInterceptable2(
|
|
228
232
|
"buildPath",
|
|
229
233
|
(route: string, params?: Params) =>
|
|
230
|
-
this.#routes.buildPath(
|
|
234
|
+
this.#routes.buildPath(
|
|
235
|
+
route,
|
|
236
|
+
params ?? EMPTY_PARAMS,
|
|
237
|
+
this.#options.get(),
|
|
238
|
+
),
|
|
231
239
|
interceptorsMap,
|
|
232
|
-
),
|
|
240
|
+
) as unknown as RouterInternals["buildPath"],
|
|
233
241
|
start: createInterceptable(
|
|
234
242
|
"start",
|
|
235
243
|
(path: string) => {
|
|
@@ -566,7 +574,7 @@ export class Router<
|
|
|
566
574
|
}
|
|
567
575
|
|
|
568
576
|
// 2. Validate parsed options
|
|
569
|
-
const opts = options ??
|
|
577
|
+
const opts = options ?? EMPTY_OPTS;
|
|
570
578
|
|
|
571
579
|
if (!this.#noValidate) {
|
|
572
580
|
NavigationNamespace.validateNavigationOptions(opts, "navigate");
|
|
@@ -575,11 +583,18 @@ export class Router<
|
|
|
575
583
|
// 3. Execute navigation with parsed arguments
|
|
576
584
|
const promiseState = this.#navigation.navigate(
|
|
577
585
|
routeName,
|
|
578
|
-
routeParams ??
|
|
586
|
+
routeParams ?? EMPTY_PARAMS,
|
|
579
587
|
opts,
|
|
580
588
|
);
|
|
581
589
|
|
|
582
|
-
|
|
590
|
+
if (this.#navigation.lastSyncResolved) {
|
|
591
|
+
this.#navigation.lastSyncResolved = false;
|
|
592
|
+
} else if (this.#navigation.lastSyncRejected) {
|
|
593
|
+
// Cached rejection — already pre-suppressed at module load, skip .catch()
|
|
594
|
+
this.#navigation.lastSyncRejected = false;
|
|
595
|
+
} else {
|
|
596
|
+
Router.#suppressUnhandledRejection(promiseState);
|
|
597
|
+
}
|
|
583
598
|
|
|
584
599
|
return promiseState;
|
|
585
600
|
}
|
|
@@ -591,7 +606,7 @@ export class Router<
|
|
|
591
606
|
}
|
|
592
607
|
|
|
593
608
|
// 2. Validate parsed options
|
|
594
|
-
const opts = options ??
|
|
609
|
+
const opts = options ?? EMPTY_OPTS;
|
|
595
610
|
|
|
596
611
|
if (!this.#noValidate) {
|
|
597
612
|
NavigationNamespace.validateNavigationOptions(opts, "navigateToDefault");
|
|
@@ -600,7 +615,13 @@ export class Router<
|
|
|
600
615
|
// 3. Execute navigation with parsed arguments
|
|
601
616
|
const promiseState = this.#navigation.navigateToDefault(opts);
|
|
602
617
|
|
|
603
|
-
|
|
618
|
+
if (this.#navigation.lastSyncResolved) {
|
|
619
|
+
this.#navigation.lastSyncResolved = false;
|
|
620
|
+
} else if (this.#navigation.lastSyncRejected) {
|
|
621
|
+
this.#navigation.lastSyncRejected = false;
|
|
622
|
+
} else {
|
|
623
|
+
Router.#suppressUnhandledRejection(promiseState);
|
|
624
|
+
}
|
|
604
625
|
|
|
605
626
|
return promiseState;
|
|
606
627
|
}
|
package/src/api/getPluginApi.ts
CHANGED
|
@@ -24,7 +24,15 @@ export function getPluginApi<
|
|
|
24
24
|
validateMakeStateArgs(name, params, path, forceId);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
return ctx.makeState(
|
|
27
|
+
return ctx.makeState(
|
|
28
|
+
name,
|
|
29
|
+
params,
|
|
30
|
+
path,
|
|
31
|
+
meta?.params as
|
|
32
|
+
| Record<string, Record<string, "url" | "query">>
|
|
33
|
+
| undefined,
|
|
34
|
+
forceId,
|
|
35
|
+
);
|
|
28
36
|
},
|
|
29
37
|
buildState: (routeName, routeParams) => {
|
|
30
38
|
if (!ctx.noValidate) {
|
|
@@ -90,9 +98,7 @@ export function getPluginApi<
|
|
|
90
98
|
routeInfo.name,
|
|
91
99
|
routeInfo.params,
|
|
92
100
|
ctx.buildPath(routeInfo.name, routeInfo.params),
|
|
93
|
-
|
|
94
|
-
params: routeInfo.meta,
|
|
95
|
-
},
|
|
101
|
+
routeInfo.meta,
|
|
96
102
|
);
|
|
97
103
|
},
|
|
98
104
|
getOptions: ctx.getOptions,
|
package/src/constants.ts
CHANGED
|
@@ -99,6 +99,8 @@ export const DEFAULT_LIMITS = {
|
|
|
99
99
|
maxLifecycleHandlers: 200,
|
|
100
100
|
} as const;
|
|
101
101
|
|
|
102
|
+
export const EMPTY_PARAMS: Readonly<Record<string, never>> = Object.freeze({});
|
|
103
|
+
|
|
102
104
|
/**
|
|
103
105
|
* Bounds for each limit - defines min and max allowed values.
|
|
104
106
|
* Used for runtime validation in setLimit/withLimits.
|
package/src/fsm/routerFSM.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import { FSM } from "@real-router/fsm";
|
|
4
4
|
|
|
5
5
|
import type { FSMConfig } from "@real-router/fsm";
|
|
6
|
-
import type { NavigationOptions, State } from "@real-router/types";
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Router FSM states.
|
|
@@ -54,26 +53,8 @@ export type RouterEvent = (typeof routerEvents)[keyof typeof routerEvents];
|
|
|
54
53
|
*
|
|
55
54
|
* Events without entries have no payload.
|
|
56
55
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
toState: State;
|
|
60
|
-
fromState: State | undefined;
|
|
61
|
-
};
|
|
62
|
-
COMPLETE: {
|
|
63
|
-
state: State;
|
|
64
|
-
fromState: State | undefined;
|
|
65
|
-
opts: NavigationOptions;
|
|
66
|
-
};
|
|
67
|
-
FAIL: {
|
|
68
|
-
toState?: State | undefined;
|
|
69
|
-
fromState?: State | undefined;
|
|
70
|
-
error?: unknown;
|
|
71
|
-
};
|
|
72
|
-
CANCEL: {
|
|
73
|
-
toState: State;
|
|
74
|
-
fromState: State | undefined;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- payloads stored in EventBusNamespace fields (N8+N9 optimization)
|
|
57
|
+
export interface RouterPayloads {}
|
|
77
58
|
|
|
78
59
|
/**
|
|
79
60
|
* Router FSM configuration.
|
package/src/internals.ts
CHANGED
|
@@ -12,7 +12,6 @@ import type {
|
|
|
12
12
|
RouteTreeState,
|
|
13
13
|
SimpleState,
|
|
14
14
|
State,
|
|
15
|
-
StateMetaInput,
|
|
16
15
|
Unsubscribe,
|
|
17
16
|
} from "@real-router/types";
|
|
18
17
|
import type { RouteTree } from "route-tree";
|
|
@@ -24,7 +23,7 @@ export interface RouterInternals<
|
|
|
24
23
|
name: string,
|
|
25
24
|
params?: P,
|
|
26
25
|
path?: string,
|
|
27
|
-
meta?:
|
|
26
|
+
meta?: Record<string, Record<string, "url" | "query">>,
|
|
28
27
|
forceId?: number,
|
|
29
28
|
) => State<P, MP>;
|
|
30
29
|
|
|
@@ -152,3 +151,23 @@ export function createInterceptable<T extends (...args: any[]) => any>(
|
|
|
152
151
|
return executeInterceptorChain(chain, original, args);
|
|
153
152
|
}) as T;
|
|
154
153
|
}
|
|
154
|
+
|
|
155
|
+
export function createInterceptable2<A, B, R>(
|
|
156
|
+
name: string,
|
|
157
|
+
original: (a: A, b: B) => R,
|
|
158
|
+
interceptors: Map<
|
|
159
|
+
string,
|
|
160
|
+
((next: (...args: any[]) => any, ...args: any[]) => any)[]
|
|
161
|
+
>,
|
|
162
|
+
): (a: A, b: B) => R {
|
|
163
|
+
return (a: A, b: B) => {
|
|
164
|
+
const chain = interceptors.get(name);
|
|
165
|
+
|
|
166
|
+
if (!chain || chain.length === 0) {
|
|
167
|
+
return original(a, b);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return executeInterceptorChain(chain, original, [a, b]);
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */
|
|
@@ -23,6 +23,9 @@ export class EventBusNamespace {
|
|
|
23
23
|
readonly #emitter: EventEmitter<RouterEventMap>;
|
|
24
24
|
|
|
25
25
|
#currentToState: State | undefined;
|
|
26
|
+
#pendingToState: State | undefined;
|
|
27
|
+
#pendingFromState: State | undefined;
|
|
28
|
+
#pendingError: unknown;
|
|
26
29
|
|
|
27
30
|
constructor(options: EventBusOptions) {
|
|
28
31
|
this.#fsm = options.routerFSM;
|
|
@@ -90,7 +93,9 @@ export class EventBusNamespace {
|
|
|
90
93
|
|
|
91
94
|
sendNavigate(toState: State, fromState?: State): void {
|
|
92
95
|
this.#currentToState = toState;
|
|
93
|
-
|
|
96
|
+
// Bypass FSM dispatch — forceState + direct emit (no action lookup, no rest params)
|
|
97
|
+
this.#fsm.forceState(routerStates.TRANSITIONING);
|
|
98
|
+
this.emitTransitionStart(toState, fromState);
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
sendComplete(
|
|
@@ -98,17 +103,26 @@ export class EventBusNamespace {
|
|
|
98
103
|
fromState?: State,
|
|
99
104
|
opts: NavigationOptions = {},
|
|
100
105
|
): void {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
// Bypass FSM dispatch — forceState + direct emit
|
|
107
|
+
this.#fsm.forceState(routerStates.READY);
|
|
108
|
+
this.emitTransitionSuccess(state, fromState, opts);
|
|
109
|
+
|
|
110
|
+
if (this.#currentToState === state) {
|
|
111
|
+
this.#currentToState = undefined;
|
|
112
|
+
}
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
sendFail(toState?: State, fromState?: State, error?: unknown): void {
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
const prev = this.#currentToState;
|
|
117
|
+
|
|
118
|
+
this.#pendingToState = toState;
|
|
119
|
+
this.#pendingFromState = fromState;
|
|
120
|
+
this.#pendingError = error;
|
|
121
|
+
this.#fsm.send(routerEvents.FAIL);
|
|
122
|
+
|
|
123
|
+
if (this.#currentToState === prev) {
|
|
124
|
+
this.#currentToState = undefined;
|
|
125
|
+
}
|
|
112
126
|
}
|
|
113
127
|
|
|
114
128
|
sendFailSafe(toState?: State, fromState?: State, error?: unknown): void {
|
|
@@ -120,8 +134,15 @@ export class EventBusNamespace {
|
|
|
120
134
|
}
|
|
121
135
|
|
|
122
136
|
sendCancel(toState: State, fromState?: State): void {
|
|
123
|
-
|
|
124
|
-
|
|
137
|
+
const prev = this.#currentToState;
|
|
138
|
+
|
|
139
|
+
this.#pendingToState = toState;
|
|
140
|
+
this.#pendingFromState = fromState;
|
|
141
|
+
this.#fsm.send(routerEvents.CANCEL);
|
|
142
|
+
|
|
143
|
+
if (this.#currentToState === prev) {
|
|
144
|
+
this.#currentToState = undefined;
|
|
145
|
+
}
|
|
125
146
|
}
|
|
126
147
|
|
|
127
148
|
canBeginTransition(): boolean {
|
|
@@ -197,6 +218,14 @@ export class EventBusNamespace {
|
|
|
197
218
|
this.sendCancel(this.#currentToState!, fromState); // eslint-disable-line @typescript-eslint/no-non-null-assertion -- guaranteed set before TRANSITIONING
|
|
198
219
|
}
|
|
199
220
|
|
|
221
|
+
#emitPendingError(): void {
|
|
222
|
+
this.emitTransitionError(
|
|
223
|
+
this.#pendingToState,
|
|
224
|
+
this.#pendingFromState,
|
|
225
|
+
this.#pendingError as RouterError | undefined,
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
|
|
200
229
|
#setupFSMActions(): void {
|
|
201
230
|
const fsm = this.#fsm;
|
|
202
231
|
|
|
@@ -208,40 +237,22 @@ export class EventBusNamespace {
|
|
|
208
237
|
this.emitRouterStop();
|
|
209
238
|
});
|
|
210
239
|
|
|
211
|
-
|
|
212
|
-
|
|
240
|
+
// NAVIGATE and COMPLETE actions bypassed — sendNavigate/sendComplete
|
|
241
|
+
// use fsm.forceState() + direct emit for zero-allocation hot path.
|
|
242
|
+
fsm.on(routerStates.TRANSITIONING, routerEvents.CANCEL, () => {
|
|
243
|
+
this.emitTransitionCancel(this.#pendingToState!, this.#pendingFromState); // eslint-disable-line @typescript-eslint/no-non-null-assertion -- set by sendCancel before send()
|
|
213
244
|
});
|
|
214
245
|
|
|
215
|
-
fsm.on(routerStates.
|
|
216
|
-
this
|
|
246
|
+
fsm.on(routerStates.STARTING, routerEvents.FAIL, () => {
|
|
247
|
+
this.#emitPendingError();
|
|
217
248
|
});
|
|
218
249
|
|
|
219
|
-
fsm.on(routerStates.
|
|
220
|
-
this
|
|
250
|
+
fsm.on(routerStates.READY, routerEvents.FAIL, () => {
|
|
251
|
+
this.#emitPendingError();
|
|
221
252
|
});
|
|
222
253
|
|
|
223
|
-
fsm.on(routerStates.
|
|
224
|
-
this
|
|
225
|
-
params.toState,
|
|
226
|
-
params.fromState,
|
|
227
|
-
params.error as RouterError | undefined,
|
|
228
|
-
);
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
fsm.on(routerStates.READY, routerEvents.FAIL, (params) => {
|
|
232
|
-
this.emitTransitionError(
|
|
233
|
-
params.toState,
|
|
234
|
-
params.fromState,
|
|
235
|
-
params.error as RouterError | undefined,
|
|
236
|
-
);
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
fsm.on(routerStates.TRANSITIONING, routerEvents.FAIL, (params) => {
|
|
240
|
-
this.emitTransitionError(
|
|
241
|
-
params.toState,
|
|
242
|
-
params.fromState,
|
|
243
|
-
params.error as RouterError | undefined,
|
|
244
|
-
);
|
|
254
|
+
fsm.on(routerStates.TRANSITIONING, routerEvents.FAIL, () => {
|
|
255
|
+
this.#emitPendingError();
|
|
245
256
|
});
|
|
246
257
|
}
|
|
247
258
|
}
|