@real-router/core 0.24.0 → 0.25.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/README.md +0 -15
- package/dist/cjs/index.d.ts +4 -10
- 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/index.d.mts +4 -10
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/metafile-esm.json +1 -1
- package/package.json +4 -4
- package/src/Router.ts +11 -54
- package/src/RouterError.ts +1 -1
- package/src/constants.ts +1 -3
- package/src/helpers.ts +1 -1
- package/src/index.ts +1 -3
- package/src/namespaces/CloneNamespace/CloneNamespace.ts +6 -6
- package/src/namespaces/CloneNamespace/types.ts +3 -7
- package/src/namespaces/DependenciesNamespace/DependenciesNamespace.ts +2 -4
- package/src/namespaces/NavigationNamespace/NavigationNamespace.ts +1 -0
- package/src/namespaces/NavigationNamespace/transition/{wrapSyncError.ts → errorHandling.ts} +23 -17
- package/src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts +6 -6
- package/src/namespaces/NavigationNamespace/transition/index.ts +3 -21
- package/src/namespaces/NavigationNamespace/types.ts +0 -4
- package/src/namespaces/PluginsNamespace/PluginsNamespace.ts +2 -2
- package/src/namespaces/RouteLifecycleNamespace/validators.ts +1 -1
- package/src/namespaces/RoutesNamespace/RoutesNamespace.ts +50 -31
- package/src/namespaces/RoutesNamespace/stateBuilder.ts +1 -1
- package/src/namespaces/index.ts +0 -2
- package/src/transitionPath.ts +4 -40
- package/src/typeGuards.ts +1 -1
- package/src/types.ts +0 -12
- package/src/wiring/RouterWiringBuilder.ts +1 -17
- package/src/wiring/types.ts +0 -3
- package/src/wiring/wireRouter.ts +0 -1
- package/src/namespaces/MiddlewareNamespace/MiddlewareNamespace.ts +0 -221
- package/src/namespaces/MiddlewareNamespace/constants.ts +0 -3
- package/src/namespaces/MiddlewareNamespace/index.ts +0 -5
- package/src/namespaces/MiddlewareNamespace/types.ts +0 -28
- package/src/namespaces/MiddlewareNamespace/validators.ts +0 -95
- package/src/namespaces/NavigationNamespace/transition/executeMiddleware.ts +0 -56
- package/src/namespaces/NavigationNamespace/transition/makeError.ts +0 -37
- package/src/namespaces/NavigationNamespace/transition/mergeStates.ts +0 -54
- package/src/namespaces/NavigationNamespace/transition/processLifecycleResult.ts +0 -69
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1617,"imports":[],"format":"esm"},"../type-guards/dist/esm/index.mjs":{"bytes":3561,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":4060,"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":5669,"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/namespaces/DependenciesNamespace/validators.ts":{"bytes":2922,"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/DependenciesNamespace/DependenciesNamespace.ts":{"bytes":7136,"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/DependenciesNamespace/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/DependenciesNamespace/index.ts":{"bytes":129,"imports":[{"path":"src/namespaces/DependenciesNamespace/DependenciesNamespace.ts","kind":"import-statement","original":"./DependenciesNamespace"}],"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":8822,"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/MiddlewareNamespace/constants.ts":{"bytes":120,"imports":[],"format":"esm"},"src/namespaces/MiddlewareNamespace/validators.ts":{"bytes":2860,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/namespaces/MiddlewareNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/MiddlewareNamespace/MiddlewareNamespace.ts":{"bytes":6646,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/MiddlewareNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/MiddlewareNamespace/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/MiddlewareNamespace/index.ts":{"bytes":179,"imports":[{"path":"src/namespaces/MiddlewareNamespace/MiddlewareNamespace.ts","kind":"import-statement","original":"./MiddlewareNamespace"}],"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":9761,"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":1876,"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":10462,"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"},"../path-matcher/dist/esm/index.mjs":{"bytes":9530,"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/constants.ts":{"bytes":503,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/helpers.ts":{"bytes":14659,"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/stateBuilder.ts":{"bytes":2209,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/validators.ts":{"bytes":9696,"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/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/transitionPath.ts":{"bytes":14307,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":44641,"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/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/stateBuilder.ts","kind":"import-statement","original":"./stateBuilder"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"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":296,"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/namespaces/NavigationNamespace/transition/wrapSyncError.ts":{"bytes":2509,"imports":[],"format":"esm"},"src/RouterError.ts":{"bytes":10112,"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/makeError.ts":{"bytes":840,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/wrapSyncError.ts","kind":"import-statement","original":"./wrapSyncError"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts":{"bytes":1259,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/makeError.ts","kind":"import-statement","original":"./makeError"},{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/mergeStates.ts":{"bytes":1900,"imports":[],"format":"esm"},"src/namespaces/NavigationNamespace/transition/processLifecycleResult.ts":{"bytes":1779,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"},{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/executeMiddleware.ts":{"bytes":1818,"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/NavigationNamespace/transition/makeError.ts","kind":"import-statement","original":"./makeError"},{"path":"src/namespaces/NavigationNamespace/transition/mergeStates.ts","kind":"import-statement","original":"./mergeStates"},{"path":"src/namespaces/NavigationNamespace/transition/processLifecycleResult.ts","kind":"import-statement","original":"./processLifecycleResult"},{"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":2889,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts","kind":"import-statement","original":"./executeLifecycleHooks"},{"path":"src/namespaces/NavigationNamespace/transition/executeMiddleware.ts","kind":"import-statement","original":"./executeMiddleware"},{"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":2474,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytes":8747,"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/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../OptionsNamespace"}],"format":"esm"},"src/namespaces/NavigationNamespace/index.ts":{"bytes":203,"imports":[{"path":"src/namespaces/NavigationNamespace/NavigationNamespace.ts","kind":"import-statement","original":"./NavigationNamespace"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytes":5027,"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/CloneNamespace/CloneNamespace.ts":{"bytes":3837,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/CloneNamespace/index.ts":{"bytes":124,"imports":[{"path":"src/namespaces/CloneNamespace/CloneNamespace.ts","kind":"import-statement","original":"./CloneNamespace"}],"format":"esm"},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytes":7224,"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":1026,"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/MiddlewareNamespace/index.ts","kind":"import-statement","original":"./MiddlewareNamespace"},{"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/CloneNamespace/index.ts","kind":"import-statement","original":"./CloneNamespace"},{"path":"src/namespaces/EventBusNamespace/index.ts","kind":"import-statement","original":"./EventBusNamespace"}],"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":1841,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/wiring/RouterWiringBuilder.ts":{"bytes":9035,"imports":[],"format":"esm"},"src/wiring/wireRouter.ts":{"bytes":1170,"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":34426,"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/namespaces/index.ts","kind":"import-statement","original":"./namespaces"},{"path":"src/namespaces/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"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":463,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1034,"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"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":373361},"dist/esm/index.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},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["Router","RouterError","constants","createRouter","errorCodes","events","getNavigator"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":24063},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3119},"src/constants.ts":{"bytesInOutput":2575},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/helpers.ts":{"bytesInOutput":1794},"src/namespaces/DependenciesNamespace/DependenciesNamespace.ts":{"bytesInOutput":5317},"src/namespaces/DependenciesNamespace/validators.ts":{"bytesInOutput":1493},"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":6391},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/MiddlewareNamespace/MiddlewareNamespace.ts":{"bytesInOutput":4561},"src/namespaces/MiddlewareNamespace/constants.ts":{"bytesInOutput":45},"src/namespaces/MiddlewareNamespace/validators.ts":{"bytesInOutput":1434},"src/namespaces/MiddlewareNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":7296},"src/namespaces/PluginsNamespace/constants.ts":{"bytesInOutput":483},"src/namespaces/PluginsNamespace/validators.ts":{"bytesInOutput":1421},"src/namespaces/PluginsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytesInOutput":7676},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytesInOutput":901},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":32356},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13131},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4200},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":8191},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":82},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":8668},"src/namespaces/RoutesNamespace/stateBuilder.ts":{"bytesInOutput":311},"src/namespaces/RoutesNamespace/validators.ts":{"bytesInOutput":5173},"src/transitionPath.ts":{"bytesInOutput":4558},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":7090},"src/namespaces/NavigationNamespace/transition/wrapSyncError.ts":{"bytesInOutput":747},"src/RouterError.ts":{"bytesInOutput":8509},"src/namespaces/NavigationNamespace/transition/makeError.ts":{"bytesInOutput":217},"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts":{"bytesInOutput":649},"src/namespaces/NavigationNamespace/transition/executeMiddleware.ts":{"bytesInOutput":1075},"src/namespaces/NavigationNamespace/transition/mergeStates.ts":{"bytesInOutput":684},"src/namespaces/NavigationNamespace/transition/processLifecycleResult.ts":{"bytesInOutput":995},"src/namespaces/NavigationNamespace/transition/index.ts":{"bytesInOutput":2025},"src/namespaces/NavigationNamespace/validators.ts":{"bytesInOutput":1390},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":3120},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/CloneNamespace/CloneNamespace.ts":{"bytesInOutput":2497},"src/namespaces/CloneNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":5178},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":6920},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":332},"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":217}},"bytes":202337}}}
|
|
1
|
+
{"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1617,"imports":[],"format":"esm"},"../type-guards/dist/esm/index.mjs":{"bytes":3561,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":3988,"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/namespaces/DependenciesNamespace/validators.ts":{"bytes":2922,"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/DependenciesNamespace/DependenciesNamespace.ts":{"bytes":7110,"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/DependenciesNamespace/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/DependenciesNamespace/index.ts":{"bytes":129,"imports":[{"path":"src/namespaces/DependenciesNamespace/DependenciesNamespace.ts","kind":"import-statement","original":"./DependenciesNamespace"}],"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":8822,"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":9720,"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":10462,"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"},"../path-matcher/dist/esm/index.mjs":{"bytes":9530,"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/constants.ts":{"bytes":503,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/helpers.ts":{"bytes":14659,"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/stateBuilder.ts":{"bytes":2220,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/validators.ts":{"bytes":9696,"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/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/transitionPath.ts":{"bytes":13076,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":45334,"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/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/namespaces/RoutesNamespace/stateBuilder.ts","kind":"import-statement","original":"./stateBuilder"},{"path":"src/namespaces/RoutesNamespace/validators.ts","kind":"import-statement","original":"./validators"},{"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":296,"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":2532,"imports":[{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts":{"bytes":1257,"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":2437,"imports":[{"path":"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts","kind":"import-statement","original":"./executeLifecycleHooks"},{"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":2474,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytes":8922,"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/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../OptionsNamespace"}],"format":"esm"},"src/namespaces/NavigationNamespace/index.ts":{"bytes":203,"imports":[{"path":"src/namespaces/NavigationNamespace/NavigationNamespace.ts","kind":"import-statement","original":"./NavigationNamespace"}],"format":"esm"},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytes":5027,"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/CloneNamespace/CloneNamespace.ts":{"bytes":3745,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/CloneNamespace/index.ts":{"bytes":124,"imports":[{"path":"src/namespaces/CloneNamespace/CloneNamespace.ts","kind":"import-statement","original":"./CloneNamespace"}],"format":"esm"},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytes":7224,"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":964,"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/CloneNamespace/index.ts","kind":"import-statement","original":"./CloneNamespace"},{"path":"src/namespaces/EventBusNamespace/index.ts","kind":"import-statement","original":"./EventBusNamespace"}],"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":8392,"imports":[],"format":"esm"},"src/wiring/wireRouter.ts":{"bytes":1138,"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":33062,"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/namespaces/index.ts","kind":"import-statement","original":"./namespaces"},{"path":"src/namespaces/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"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":463,"imports":[],"format":"esm"},"src/index.ts":{"bytes":988,"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"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":347139},"dist/esm/index.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","constants","createRouter","errorCodes","events","getNavigator"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":23117},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3119},"src/constants.ts":{"bytesInOutput":2515},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/helpers.ts":{"bytesInOutput":1794},"src/namespaces/DependenciesNamespace/DependenciesNamespace.ts":{"bytesInOutput":5291},"src/namespaces/DependenciesNamespace/validators.ts":{"bytesInOutput":1493},"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":6391},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":7247},"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":7676},"src/namespaces/RouteLifecycleNamespace/validators.ts":{"bytesInOutput":898},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":32761},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13131},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4200},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":8191},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":82},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":8668},"src/namespaces/RoutesNamespace/stateBuilder.ts":{"bytesInOutput":311},"src/namespaces/RoutesNamespace/validators.ts":{"bytesInOutput":5173},"src/transitionPath.ts":{"bytesInOutput":3928},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":7090},"src/RouterError.ts":{"bytesInOutput":8509},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytesInOutput":949},"src/namespaces/NavigationNamespace/transition/executeLifecycleHooks.ts":{"bytesInOutput":645},"src/namespaces/NavigationNamespace/transition/index.ts":{"bytesInOutput":1614},"src/namespaces/NavigationNamespace/validators.ts":{"bytesInOutput":1390},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":3120},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/CloneNamespace/CloneNamespace.ts":{"bytesInOutput":2438},"src/namespaces/CloneNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":5178},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":6507},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":300},"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":217}},"bytes":190895}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "A simple, powerful, view-agnostic, modular and extensible router",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@real-router/fsm": "^0.2.0",
|
|
51
51
|
"@real-router/logger": "^0.2.0",
|
|
52
|
-
"@real-router/types": "^0.
|
|
52
|
+
"@real-router/types": "^0.15.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"event-emitter": "^0.1.0",
|
|
56
|
-
"route-tree": "^0.3.
|
|
57
|
-
"type-guards": "^0.2.
|
|
56
|
+
"route-tree": "^0.3.3",
|
|
57
|
+
"type-guards": "^0.2.2"
|
|
58
58
|
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "tsup",
|
package/src/Router.ts
CHANGED
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
CloneNamespace,
|
|
19
19
|
DependenciesNamespace,
|
|
20
20
|
EventBusNamespace,
|
|
21
|
-
MiddlewareNamespace,
|
|
22
21
|
NavigationNamespace,
|
|
23
22
|
OptionsNamespace,
|
|
24
23
|
PluginsNamespace,
|
|
@@ -37,7 +36,6 @@ import type {
|
|
|
37
36
|
EventMethodMap,
|
|
38
37
|
GuardFnFactory,
|
|
39
38
|
Limits,
|
|
40
|
-
MiddlewareFactory,
|
|
41
39
|
PluginFactory,
|
|
42
40
|
Route,
|
|
43
41
|
RouteConfigUpdate,
|
|
@@ -69,7 +67,6 @@ import type { CreateMatcherOptions } from "route-tree";
|
|
|
69
67
|
* - StateNamespace: state storage (getState, setState, getPreviousState)
|
|
70
68
|
* - RoutesNamespace: route tree operations
|
|
71
69
|
* - RouteLifecycleNamespace: canActivate/canDeactivate guards
|
|
72
|
-
* - MiddlewareNamespace: middleware chain
|
|
73
70
|
* - PluginsNamespace: plugin lifecycle
|
|
74
71
|
* - NavigationNamespace: navigate, navigateToState
|
|
75
72
|
* - RouterLifecycleNamespace: start, stop, isStarted
|
|
@@ -92,7 +89,6 @@ export class Router<
|
|
|
92
89
|
readonly #state: StateNamespace;
|
|
93
90
|
readonly #routes: RoutesNamespace<Dependencies>;
|
|
94
91
|
readonly #routeLifecycle: RouteLifecycleNamespace<Dependencies>;
|
|
95
|
-
readonly #middleware: MiddlewareNamespace<Dependencies>;
|
|
96
92
|
readonly #plugins: PluginsNamespace<Dependencies>;
|
|
97
93
|
readonly #navigation: NavigationNamespace;
|
|
98
94
|
readonly #lifecycle: RouterLifecycleNamespace;
|
|
@@ -165,7 +161,6 @@ export class Router<
|
|
|
165
161
|
deriveMatcherOptions(this.#options.get()),
|
|
166
162
|
);
|
|
167
163
|
this.#routeLifecycle = new RouteLifecycleNamespace<Dependencies>();
|
|
168
|
-
this.#middleware = new MiddlewareNamespace<Dependencies>();
|
|
169
164
|
this.#plugins = new PluginsNamespace<Dependencies>();
|
|
170
165
|
this.#navigation = new NavigationNamespace();
|
|
171
166
|
this.#lifecycle = new RouterLifecycleNamespace();
|
|
@@ -204,7 +199,6 @@ export class Router<
|
|
|
204
199
|
state: this.#state,
|
|
205
200
|
routes: this.#routes,
|
|
206
201
|
routeLifecycle: this.#routeLifecycle,
|
|
207
|
-
middleware: this.#middleware,
|
|
208
202
|
plugins: this.#plugins,
|
|
209
203
|
navigation: this.#navigation,
|
|
210
204
|
lifecycle: this.#lifecycle,
|
|
@@ -226,6 +220,7 @@ export class Router<
|
|
|
226
220
|
this.removeRoute = this.removeRoute.bind(this);
|
|
227
221
|
this.clearRoutes = this.clearRoutes.bind(this);
|
|
228
222
|
this.getRoute = this.getRoute.bind(this);
|
|
223
|
+
this.getRouteConfig = this.getRouteConfig.bind(this);
|
|
229
224
|
this.hasRoute = this.hasRoute.bind(this);
|
|
230
225
|
this.updateRoute = this.updateRoute.bind(this);
|
|
231
226
|
|
|
@@ -265,8 +260,6 @@ export class Router<
|
|
|
265
260
|
// Plugins
|
|
266
261
|
this.usePlugin = this.usePlugin.bind(this);
|
|
267
262
|
|
|
268
|
-
// Middleware
|
|
269
|
-
this.useMiddleware = this.useMiddleware.bind(this);
|
|
270
263
|
// Dependencies
|
|
271
264
|
this.setDependency = this.setDependency.bind(this);
|
|
272
265
|
this.setDependencies = this.setDependencies.bind(this);
|
|
@@ -386,6 +379,10 @@ export class Router<
|
|
|
386
379
|
return this.#routes.getRoute(name);
|
|
387
380
|
}
|
|
388
381
|
|
|
382
|
+
getRouteConfig(name: string): Record<string, unknown> | undefined {
|
|
383
|
+
return this.#routes.getRouteConfig(name);
|
|
384
|
+
}
|
|
385
|
+
|
|
389
386
|
hasRoute(name: string): boolean {
|
|
390
387
|
if (!this.#noValidate) {
|
|
391
388
|
validateRouteName(name, "hasRoute");
|
|
@@ -715,7 +712,6 @@ export class Router<
|
|
|
715
712
|
this.#eventBus.clearAll();
|
|
716
713
|
|
|
717
714
|
this.#plugins.disposeAll();
|
|
718
|
-
this.#middleware.clearAll();
|
|
719
715
|
this.#routes.clearRoutes();
|
|
720
716
|
this.#routeLifecycle.clearAll();
|
|
721
717
|
this.#state.reset();
|
|
@@ -858,48 +854,6 @@ export class Router<
|
|
|
858
854
|
return this.#plugins.use(...plugins);
|
|
859
855
|
}
|
|
860
856
|
|
|
861
|
-
// ============================================================================
|
|
862
|
-
// Middleware
|
|
863
|
-
// ============================================================================
|
|
864
|
-
|
|
865
|
-
useMiddleware(
|
|
866
|
-
...middlewares: MiddlewareFactory<Dependencies>[]
|
|
867
|
-
): Unsubscribe {
|
|
868
|
-
if (!this.#noValidate) {
|
|
869
|
-
// 1. Validate input arguments
|
|
870
|
-
MiddlewareNamespace.validateUseMiddlewareArgs<Dependencies>(middlewares);
|
|
871
|
-
|
|
872
|
-
// 2. Validate no duplicates
|
|
873
|
-
MiddlewareNamespace.validateNoDuplicates<Dependencies>(
|
|
874
|
-
middlewares,
|
|
875
|
-
this.#middleware.has.bind(this.#middleware),
|
|
876
|
-
);
|
|
877
|
-
|
|
878
|
-
// 3. Validate limit
|
|
879
|
-
MiddlewareNamespace.validateMiddlewareLimit(
|
|
880
|
-
this.#middleware.count(),
|
|
881
|
-
middlewares.length,
|
|
882
|
-
this.#limits.maxMiddleware,
|
|
883
|
-
);
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
// 4. Initialize (without committing)
|
|
887
|
-
const initialized = this.#middleware.initialize(...middlewares);
|
|
888
|
-
|
|
889
|
-
// 5. Validate results
|
|
890
|
-
if (!this.#noValidate) {
|
|
891
|
-
for (const { middleware, factory } of initialized) {
|
|
892
|
-
MiddlewareNamespace.validateMiddleware<Dependencies>(
|
|
893
|
-
middleware,
|
|
894
|
-
factory,
|
|
895
|
-
);
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
// 6. Commit
|
|
900
|
-
return this.#middleware.commit(initialized);
|
|
901
|
-
}
|
|
902
|
-
|
|
903
857
|
// ============================================================================
|
|
904
858
|
// Dependencies (backed by DependenciesNamespace)
|
|
905
859
|
// ============================================================================
|
|
@@ -1090,10 +1044,14 @@ export class Router<
|
|
|
1090
1044
|
dependencies,
|
|
1091
1045
|
(routes, options, deps) =>
|
|
1092
1046
|
new Router<Dependencies>(routes, options, deps),
|
|
1093
|
-
(newRouter, config, resolvedForwardMap) => {
|
|
1047
|
+
(newRouter, config, resolvedForwardMap, routeCustomFields) => {
|
|
1094
1048
|
const typedRouter = newRouter as unknown as Router<Dependencies>;
|
|
1095
1049
|
|
|
1096
|
-
typedRouter.#routes.applyClonedConfig(
|
|
1050
|
+
typedRouter.#routes.applyClonedConfig(
|
|
1051
|
+
config,
|
|
1052
|
+
resolvedForwardMap,
|
|
1053
|
+
routeCustomFields,
|
|
1054
|
+
);
|
|
1097
1055
|
},
|
|
1098
1056
|
);
|
|
1099
1057
|
}
|
|
@@ -1140,7 +1098,6 @@ export class Router<
|
|
|
1140
1098
|
this.removeActivateGuard = throwDisposed as never;
|
|
1141
1099
|
this.removeDeactivateGuard = throwDisposed as never;
|
|
1142
1100
|
this.usePlugin = throwDisposed as never;
|
|
1143
|
-
this.useMiddleware = throwDisposed as never;
|
|
1144
1101
|
this.setDependency = throwDisposed as never;
|
|
1145
1102
|
this.setDependencies = throwDisposed as never;
|
|
1146
1103
|
this.removeDependency = throwDisposed as never;
|
package/src/RouterError.ts
CHANGED
package/src/constants.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// packages/
|
|
1
|
+
// packages/core/src/constants.ts
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
4
|
EventName,
|
|
@@ -90,7 +90,6 @@ export const validEventNames = new Set<EventName>([
|
|
|
90
90
|
export const DEFAULT_LIMITS = {
|
|
91
91
|
maxDependencies: 100,
|
|
92
92
|
maxPlugins: 50,
|
|
93
|
-
maxMiddleware: 50,
|
|
94
93
|
maxListeners: 10_000,
|
|
95
94
|
warnListeners: 1000,
|
|
96
95
|
maxEventDepth: 5,
|
|
@@ -104,7 +103,6 @@ export const DEFAULT_LIMITS = {
|
|
|
104
103
|
export const LIMIT_BOUNDS = {
|
|
105
104
|
maxDependencies: { min: 0, max: 10_000 },
|
|
106
105
|
maxPlugins: { min: 0, max: 1000 },
|
|
107
|
-
maxMiddleware: { min: 0, max: 1000 },
|
|
108
106
|
maxListeners: { min: 0, max: 100_000 },
|
|
109
107
|
warnListeners: { min: 0, max: 100_000 },
|
|
110
108
|
maxEventDepth: { min: 0, max: 100 },
|
package/src/helpers.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
// packages/
|
|
1
|
+
// packages/core/src/index.ts
|
|
2
2
|
|
|
3
3
|
// Router-dependent types (defined in core)
|
|
4
4
|
export type {
|
|
5
5
|
ActivationFnFactory,
|
|
6
6
|
BuildStateResultWithSegments,
|
|
7
7
|
GuardFnFactory,
|
|
8
|
-
MiddlewareFactory,
|
|
9
8
|
PluginFactory,
|
|
10
9
|
Route,
|
|
11
10
|
RouteConfigUpdate,
|
|
@@ -21,7 +20,6 @@ export type {
|
|
|
21
20
|
DefaultDependencies,
|
|
22
21
|
GuardFn,
|
|
23
22
|
Listener,
|
|
24
|
-
Middleware,
|
|
25
23
|
Navigator,
|
|
26
24
|
NavigationOptions,
|
|
27
25
|
Options,
|
|
@@ -102,18 +102,18 @@ export class CloneNamespace<
|
|
|
102
102
|
newRouter.addActivateGuard(name, handler);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
// Copy middleware factories
|
|
106
|
-
if (data.middlewareFactories.length > 0) {
|
|
107
|
-
newRouter.useMiddleware(...data.middlewareFactories);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
105
|
// Copy plugin factories
|
|
111
106
|
if (data.pluginFactories.length > 0) {
|
|
112
107
|
newRouter.usePlugin(...data.pluginFactories);
|
|
113
108
|
}
|
|
114
109
|
|
|
115
110
|
// Apply route config (decoders, encoders, defaultParams, forwardMap)
|
|
116
|
-
applyConfig(
|
|
111
|
+
applyConfig(
|
|
112
|
+
newRouter,
|
|
113
|
+
data.routeConfig,
|
|
114
|
+
data.resolvedForwardMap,
|
|
115
|
+
data.routeCustomFields,
|
|
116
|
+
);
|
|
117
117
|
|
|
118
118
|
return newRouter;
|
|
119
119
|
}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
// packages/core/src/namespaces/CloneNamespace/types.ts
|
|
2
2
|
|
|
3
3
|
import type { Router } from "../../Router";
|
|
4
|
-
import type {
|
|
5
|
-
GuardFnFactory,
|
|
6
|
-
MiddlewareFactory,
|
|
7
|
-
PluginFactory,
|
|
8
|
-
Route,
|
|
9
|
-
} from "../../types";
|
|
4
|
+
import type { GuardFnFactory, PluginFactory, Route } from "../../types";
|
|
10
5
|
import type { RouteConfig } from "../RoutesNamespace";
|
|
11
6
|
import type { DefaultDependencies, Options } from "@real-router/types";
|
|
12
7
|
|
|
@@ -19,10 +14,10 @@ export interface CloneData<Dependencies extends DefaultDependencies> {
|
|
|
19
14
|
dependencies: Partial<Dependencies>;
|
|
20
15
|
canDeactivateFactories: Record<string, GuardFnFactory<Dependencies>>;
|
|
21
16
|
canActivateFactories: Record<string, GuardFnFactory<Dependencies>>;
|
|
22
|
-
middlewareFactories: MiddlewareFactory<Dependencies>[];
|
|
23
17
|
pluginFactories: PluginFactory<Dependencies>[];
|
|
24
18
|
routeConfig: RouteConfig;
|
|
25
19
|
resolvedForwardMap: Record<string, string>;
|
|
20
|
+
routeCustomFields: Record<string, Record<string, unknown>>;
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
/**
|
|
@@ -43,4 +38,5 @@ export type ApplyConfigFn<
|
|
|
43
38
|
router: Router<Dependencies>,
|
|
44
39
|
config: RouteConfig,
|
|
45
40
|
resolvedForwardMap: Record<string, string>,
|
|
41
|
+
routeCustomFields: Record<string, Record<string, unknown>>,
|
|
46
42
|
) => void;
|
|
@@ -25,7 +25,7 @@ import type { DefaultDependencies } from "@real-router/types";
|
|
|
25
25
|
export class DependenciesNamespace<
|
|
26
26
|
Dependencies extends DefaultDependencies = DefaultDependencies,
|
|
27
27
|
> {
|
|
28
|
-
|
|
28
|
+
#dependencies: Partial<Dependencies> = Object.create(
|
|
29
29
|
null,
|
|
30
30
|
) as Partial<Dependencies>;
|
|
31
31
|
|
|
@@ -207,9 +207,7 @@ export class DependenciesNamespace<
|
|
|
207
207
|
* Removes all dependencies.
|
|
208
208
|
*/
|
|
209
209
|
reset(): void {
|
|
210
|
-
|
|
211
|
-
delete this.#dependencies[key];
|
|
212
|
-
}
|
|
210
|
+
this.#dependencies = Object.create(null) as Partial<Dependencies>;
|
|
213
211
|
}
|
|
214
212
|
|
|
215
213
|
// =========================================================================
|
|
@@ -296,6 +296,7 @@ export class NavigationNamespace {
|
|
|
296
296
|
return;
|
|
297
297
|
}
|
|
298
298
|
|
|
299
|
+
/* v8 ignore next 7 -- @preserve: defensive guard for unexpected error codes (e.g. future error types); else branch unreachable after middleware became fire-and-forget */
|
|
299
300
|
if (
|
|
300
301
|
routerError.code === errorCodes.CANNOT_ACTIVATE ||
|
|
301
302
|
routerError.code === errorCodes.CANNOT_DEACTIVATE
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { RouterError } from "../../../RouterError";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Error metadata structure for transition errors.
|
|
@@ -12,8 +12,25 @@ export interface SyncErrorMetadata {
|
|
|
12
12
|
segment?: string;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Re-throws a caught error as a RouterError with the given error code.
|
|
17
|
+
* If the error is already a RouterError, sets the code directly.
|
|
18
|
+
* Otherwise wraps it with wrapSyncError metadata.
|
|
19
|
+
*/
|
|
20
|
+
export function rethrowAsRouterError(
|
|
21
|
+
error: unknown,
|
|
22
|
+
errorCode: string,
|
|
23
|
+
segment: string,
|
|
24
|
+
): never {
|
|
25
|
+
if (error instanceof RouterError) {
|
|
26
|
+
error.setCode(errorCode);
|
|
27
|
+
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
throw new RouterError(errorCode, wrapSyncError(error, segment));
|
|
32
|
+
}
|
|
33
|
+
|
|
17
34
|
const reservedRouterErrorProps = new Set([
|
|
18
35
|
"code",
|
|
19
36
|
"segment",
|
|
@@ -30,25 +47,14 @@ const reservedRouterErrorProps = new Set([
|
|
|
30
47
|
* - Primitives (string, number, etc.): returns minimal metadata
|
|
31
48
|
*
|
|
32
49
|
* @param thrown - The value caught in a try-catch block
|
|
33
|
-
* @param segment -
|
|
50
|
+
* @param segment - Route segment name (for lifecycle hooks)
|
|
34
51
|
* @returns Structured error metadata for RouterError
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* try {
|
|
39
|
-
* hookFn();
|
|
40
|
-
* } catch (error) {
|
|
41
|
-
* const metadata = wrapSyncError(error, "users.profile");
|
|
42
|
-
* throw new RouterError(errorCodes.TRANSITION_ERR, metadata);
|
|
43
|
-
* }
|
|
44
|
-
* ```
|
|
45
52
|
*/
|
|
46
53
|
export function wrapSyncError(
|
|
47
54
|
thrown: unknown,
|
|
48
|
-
segment
|
|
55
|
+
segment: string,
|
|
49
56
|
): SyncErrorMetadata {
|
|
50
|
-
|
|
51
|
-
const base: SyncErrorMetadata = segment ? { segment } : {};
|
|
57
|
+
const base: SyncErrorMetadata = { segment };
|
|
52
58
|
|
|
53
59
|
// Handle Error instances - extract all useful properties
|
|
54
60
|
if (thrown instanceof Error) {
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { rethrowAsRouterError } from "./
|
|
1
|
+
import { rethrowAsRouterError } from "./errorHandling";
|
|
2
2
|
import { errorCodes } from "../../../constants";
|
|
3
3
|
import { RouterError } from "../../../RouterError";
|
|
4
4
|
|
|
5
5
|
import type { GuardFn, State } from "@real-router/types";
|
|
6
6
|
|
|
7
7
|
// Helper: execution of the Lifecycle Hooks group
|
|
8
|
-
export
|
|
8
|
+
export async function executeLifecycleHooks(
|
|
9
9
|
hooks: Map<string, GuardFn>,
|
|
10
10
|
toState: State,
|
|
11
11
|
fromState: State | undefined,
|
|
12
12
|
segments: string[],
|
|
13
13
|
errorCode: string,
|
|
14
14
|
isCancelled: () => boolean,
|
|
15
|
-
): Promise<void>
|
|
15
|
+
): Promise<void> {
|
|
16
16
|
const segmentsToProcess = segments.filter((name) => hooks.has(name));
|
|
17
17
|
|
|
18
18
|
if (segmentsToProcess.length === 0) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
let result: boolean | undefined;
|
|
23
|
+
|
|
22
24
|
for (const segment of segmentsToProcess) {
|
|
23
25
|
if (isCancelled()) {
|
|
24
26
|
throw new RouterError(errorCodes.TRANSITION_CANCELLED);
|
|
@@ -28,8 +30,6 @@ export const executeLifecycleHooks = async (
|
|
|
28
30
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- guaranteed by filter
|
|
29
31
|
const hookFn = hooks.get(segment)!;
|
|
30
32
|
|
|
31
|
-
let result: boolean | undefined;
|
|
32
|
-
|
|
33
33
|
try {
|
|
34
34
|
result = await hookFn(toState, fromState);
|
|
35
35
|
} catch (error: unknown) {
|
|
@@ -40,4 +40,4 @@ export const executeLifecycleHooks = async (
|
|
|
40
40
|
throw new RouterError(errorCode, { segment });
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|