@real-router/core 0.35.0 → 0.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metafile-cjs.json +1 -1
- 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 +3 -3
- package/src/Router.ts +8 -27
- package/src/api/getDependenciesApi.ts +2 -9
- package/src/api/getLifecycleApi.ts +1 -8
- package/src/api/getPluginApi.ts +1 -6
- package/src/api/getRoutesApi.ts +3 -11
- package/src/api/helpers.ts +10 -0
- package/src/namespaces/EventBusNamespace/EventBusNamespace.ts +14 -20
- package/src/namespaces/NavigationNamespace/NavigationNamespace.ts +25 -60
- package/src/namespaces/NavigationNamespace/index.ts +1 -1
- package/src/namespaces/NavigationNamespace/transition/index.ts +5 -2
- package/src/namespaces/NavigationNamespace/types.ts +19 -28
- package/src/namespaces/PluginsNamespace/PluginsNamespace.ts +1 -9
- package/src/namespaces/PluginsNamespace/types.ts +2 -12
- package/src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts +32 -58
- package/src/namespaces/RouteLifecycleNamespace/types.ts +3 -10
- package/src/wiring/RouterWiringBuilder.ts +50 -33
|
@@ -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":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":14154,"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":2439,"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":9977,"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"},{"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":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":6696,"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":8509,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"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":21642,"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":438,"imports":[],"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":4357,"imports":[{"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":17951,"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/constants.ts","kind":"import-statement","original":"../constants"},{"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"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/api/getDependenciesApi.ts":{"bytes":6267,"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/constants.ts","kind":"import-statement","original":"../constants"},{"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"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/api/getLifecycleApi.ts":{"bytes":1983,"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/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/RouteLifecycleNamespace/validators.ts","kind":"import-statement","original":"../namespaces/RouteLifecycleNamespace/validators"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"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"},"src/index.ts":{"bytes":1301,"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"},{"path":"src/api/index.ts","kind":"import-statement","original":"./api"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":355459},"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","UNKNOWN_ROUTE","cloneRouter","constants","createRouter","errorCodes","events","getDependenciesApi","getLifecycleApi","getNavigator","getPluginApi","getRoutesApi"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":14542},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3187},"src/constants.ts":{"bytesInOutput":2595},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/helpers.ts":{"bytesInOutput":1794},"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":7228},"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":11488},"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":8655},"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":7971},"src/RouterError.ts":{"bytesInOutput":8509},"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":651},"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":4749},"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":6392},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":240},"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":217},"src/namespaces/EventBusNamespace/validators.ts":{"bytesInOutput":369},"src/namespaces/StateNamespace/validators.ts":{"bytesInOutput":660},"src/api/getPluginApi.ts":{"bytesInOutput":3492},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10842},"src/api/getDependenciesApi.ts":{"bytesInOutput":4307},"src/api/getLifecycleApi.ts":{"bytesInOutput":1274},"src/api/cloneRouter.ts":{"bytesInOutput":2366}},"bytes":189391}}}
|
|
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":438,"imports":[],"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"},"src/index.ts":{"bytes":1301,"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"},{"path":"src/api/index.ts","kind":"import-statement","original":"./api"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":351138},"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","UNKNOWN_ROUTE","cloneRouter","constants","createRouter","errorCodes","events","getDependenciesApi","getLifecycleApi","getNavigator","getPluginApi","getRoutesApi"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":14254},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3187},"src/constants.ts":{"bytesInOutput":2595},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/helpers.ts":{"bytesInOutput":1794},"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":8655},"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/RouterError.ts":{"bytesInOutput":8509},"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":651},"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},"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":217},"src/api/helpers.ts":{"bytesInOutput":122},"src/namespaces/EventBusNamespace/validators.ts":{"bytesInOutput":369},"src/namespaces/StateNamespace/validators.ts":{"bytesInOutput":660},"src/api/getPluginApi.ts":{"bytesInOutput":3370},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10714},"src/api/getDependenciesApi.ts":{"bytesInOutput":4180},"src/api/getLifecycleApi.ts":{"bytesInOutput":1147},"src/api/cloneRouter.ts":{"bytesInOutput":2366}},"bytes":186799}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/core",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "A simple, powerful, view-agnostic, modular and extensible router",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"sideEffects": false,
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@real-router/fsm": "^0.2.0",
|
|
51
|
-
"@real-router/
|
|
52
|
-
"@real-router/
|
|
51
|
+
"@real-router/types": "^0.23.0",
|
|
52
|
+
"@real-router/logger": "^0.2.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"event-emitter": "^0.1.0",
|
package/src/Router.ts
CHANGED
|
@@ -430,7 +430,7 @@ export class Router<
|
|
|
430
430
|
|
|
431
431
|
stop(): this {
|
|
432
432
|
this.#navigation.abortCurrentNavigation();
|
|
433
|
-
this.#eventBus.
|
|
433
|
+
this.#eventBus.sendCancelIfTransitioning(this.#state.get());
|
|
434
434
|
|
|
435
435
|
if (!this.#eventBus.isReady() && !this.#eventBus.isTransitioning()) {
|
|
436
436
|
return this;
|
|
@@ -448,7 +448,7 @@ export class Router<
|
|
|
448
448
|
}
|
|
449
449
|
|
|
450
450
|
this.#navigation.abortCurrentNavigation();
|
|
451
|
-
this.#eventBus.
|
|
451
|
+
this.#eventBus.sendCancelIfTransitioning(this.#state.get());
|
|
452
452
|
|
|
453
453
|
if (this.#eventBus.isReady() || this.#eventBus.isTransitioning()) {
|
|
454
454
|
this.#lifecycle.stop();
|
|
@@ -504,31 +504,12 @@ export class Router<
|
|
|
504
504
|
|
|
505
505
|
const { toDeactivate, toActivate } = getTransitionPath(toState, fromState);
|
|
506
506
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
)
|
|
514
|
-
) {
|
|
515
|
-
return false;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
for (const segment of toActivate) {
|
|
520
|
-
if (
|
|
521
|
-
!this.#routeLifecycle.checkActivateGuardSync(
|
|
522
|
-
segment,
|
|
523
|
-
toState,
|
|
524
|
-
fromState,
|
|
525
|
-
)
|
|
526
|
-
) {
|
|
527
|
-
return false;
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
return true;
|
|
507
|
+
return this.#routeLifecycle.canNavigateTo(
|
|
508
|
+
toDeactivate,
|
|
509
|
+
toActivate,
|
|
510
|
+
toState,
|
|
511
|
+
fromState,
|
|
512
|
+
);
|
|
532
513
|
}
|
|
533
514
|
|
|
534
515
|
// ============================================================================
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logger } from "@real-router/logger";
|
|
2
2
|
import { getTypeDescription } from "type-guards";
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { throwIfDisposed } from "./helpers";
|
|
5
5
|
import { computeThresholds } from "../helpers";
|
|
6
6
|
import { getInternals } from "../internals";
|
|
7
7
|
import {
|
|
@@ -11,18 +11,11 @@ import {
|
|
|
11
11
|
validateDependencyName,
|
|
12
12
|
validateSetDependencyArgs,
|
|
13
13
|
} from "../namespaces/DependenciesNamespace/validators";
|
|
14
|
-
import { RouterError } from "../RouterError";
|
|
15
14
|
|
|
16
15
|
import type { DependenciesApi } from "./types";
|
|
17
|
-
import type { DependenciesStore } from "../namespaces
|
|
16
|
+
import type { DependenciesStore } from "../namespaces";
|
|
18
17
|
import type { DefaultDependencies, Router } from "@real-router/types";
|
|
19
18
|
|
|
20
|
-
function throwIfDisposed(isDisposed: () => boolean): void {
|
|
21
|
-
if (isDisposed()) {
|
|
22
|
-
throw new RouterError(errorCodes.ROUTER_DISPOSED);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
19
|
// =============================================================================
|
|
27
20
|
// Module-private CRUD functions
|
|
28
21
|
// =============================================================================
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { validateRouteName } from "type-guards";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { throwIfDisposed } from "./helpers";
|
|
4
4
|
import { getInternals } from "../internals";
|
|
5
5
|
import { validateHandler } from "../namespaces/RouteLifecycleNamespace/validators";
|
|
6
|
-
import { RouterError } from "../RouterError";
|
|
7
6
|
|
|
8
7
|
import type { LifecycleApi } from "./types";
|
|
9
8
|
import type { DefaultDependencies, Router } from "@real-router/types";
|
|
10
9
|
|
|
11
|
-
function throwIfDisposed(isDisposed: () => boolean): void {
|
|
12
|
-
if (isDisposed()) {
|
|
13
|
-
throw new RouterError(errorCodes.ROUTER_DISPOSED);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
10
|
export function getLifecycleApi<
|
|
18
11
|
Dependencies extends DefaultDependencies = DefaultDependencies,
|
|
19
12
|
>(router: Router<Dependencies>): LifecycleApi<Dependencies> {
|
package/src/api/getPluginApi.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { throwIfDisposed } from "./helpers";
|
|
1
2
|
import { errorCodes } from "../constants";
|
|
2
3
|
import { getInternals } from "../internals";
|
|
3
4
|
import { validateListenerArgs } from "../namespaces/EventBusNamespace/validators";
|
|
@@ -12,12 +13,6 @@ import { RouterError } from "../RouterError";
|
|
|
12
13
|
import type { PluginApi } from "./types";
|
|
13
14
|
import type { DefaultDependencies, Params, Router } from "@real-router/types";
|
|
14
15
|
|
|
15
|
-
function throwIfDisposed(isDisposed: () => boolean): void {
|
|
16
|
-
if (isDisposed()) {
|
|
17
|
-
throw new RouterError(errorCodes.ROUTER_DISPOSED);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
16
|
export function getPluginApi<
|
|
22
17
|
Dependencies extends DefaultDependencies = DefaultDependencies,
|
|
23
18
|
>(router: Router<Dependencies>): PluginApi {
|
package/src/api/getRoutesApi.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logger } from "@real-router/logger";
|
|
2
2
|
import { validateRouteName } from "type-guards";
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { throwIfDisposed } from "./helpers";
|
|
5
5
|
import { getInternals } from "../internals";
|
|
6
6
|
import {
|
|
7
7
|
clearConfigEntries,
|
|
@@ -25,13 +25,11 @@ import {
|
|
|
25
25
|
validateUpdateRouteBasicArgs,
|
|
26
26
|
validateUpdateRoutePropertyTypes,
|
|
27
27
|
} from "../namespaces/RoutesNamespace/validators";
|
|
28
|
-
import { RouterError } from "../RouterError";
|
|
29
28
|
|
|
30
29
|
import type { RoutesApi } from "./types";
|
|
31
30
|
import type { RouterInternals } from "../internals";
|
|
32
|
-
import type { RouteLifecycleNamespace } from "../namespaces
|
|
33
|
-
import type { RoutesStore } from "../namespaces/RoutesNamespace
|
|
34
|
-
import type { RouteConfig } from "../namespaces/RoutesNamespace/types";
|
|
31
|
+
import type { RouteLifecycleNamespace, RouteConfig } from "../namespaces";
|
|
32
|
+
import type { RoutesStore } from "../namespaces/RoutesNamespace";
|
|
35
33
|
import type { GuardFnFactory, Route } from "../types";
|
|
36
34
|
import type {
|
|
37
35
|
DefaultDependencies,
|
|
@@ -436,12 +434,6 @@ function getRouteConfig<
|
|
|
436
434
|
// API factory
|
|
437
435
|
// ============================================================================
|
|
438
436
|
|
|
439
|
-
function throwIfDisposed(isDisposed: () => boolean): void {
|
|
440
|
-
if (isDisposed()) {
|
|
441
|
-
throw new RouterError(errorCodes.ROUTER_DISPOSED);
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
|
|
445
437
|
export function getRoutesApi<
|
|
446
438
|
Dependencies extends DefaultDependencies = DefaultDependencies,
|
|
447
439
|
>(router: Router<Dependencies>): RoutesApi<Dependencies> {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// packages/core/src/api/helpers.ts
|
|
2
|
+
|
|
3
|
+
import { errorCodes } from "../constants";
|
|
4
|
+
import { RouterError } from "../RouterError";
|
|
5
|
+
|
|
6
|
+
export function throwIfDisposed(isDisposed: () => boolean): void {
|
|
7
|
+
if (isDisposed()) {
|
|
8
|
+
throw new RouterError(errorCodes.ROUTER_DISPOSED);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -84,16 +84,16 @@ export class EventBusNamespace {
|
|
|
84
84
|
this.#fsm.send(routerEvents.DISPOSE);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
sendStarted(): void {
|
|
88
88
|
this.#fsm.send(routerEvents.STARTED);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
sendNavigate(toState: State, fromState?: State): void {
|
|
92
92
|
this.#currentToState = toState;
|
|
93
93
|
this.#fsm.send(routerEvents.NAVIGATE, { toState, fromState });
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
sendComplete(
|
|
97
97
|
state: State,
|
|
98
98
|
fromState?: State,
|
|
99
99
|
opts: NavigationOptions = {},
|
|
@@ -106,30 +106,24 @@ export class EventBusNamespace {
|
|
|
106
106
|
this.#currentToState = undefined;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
sendFail(toState?: State, fromState?: State, error?: unknown): void {
|
|
110
110
|
this.#fsm.send(routerEvents.FAIL, { toState, fromState, error });
|
|
111
111
|
this.#currentToState = undefined;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
this
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
emitOrFailTransitionError(
|
|
120
|
-
toState?: State,
|
|
121
|
-
fromState?: State,
|
|
122
|
-
error?: unknown,
|
|
123
|
-
): void {
|
|
124
|
-
if (this.#fsm.getState() === routerStates.READY) {
|
|
125
|
-
this.#fsm.send(routerEvents.FAIL, { toState, fromState, error });
|
|
114
|
+
sendFailSafe(toState?: State, fromState?: State, error?: unknown): void {
|
|
115
|
+
if (this.isReady()) {
|
|
116
|
+
this.sendFail(toState, fromState, error);
|
|
126
117
|
} else {
|
|
127
|
-
// TRANSITIONING: concurrent navigation with invalid args.
|
|
128
|
-
// Direct emit to avoid disturbing the ongoing transition.
|
|
129
118
|
this.emitTransitionError(toState, fromState, error as RouterError);
|
|
130
119
|
}
|
|
131
120
|
}
|
|
132
121
|
|
|
122
|
+
sendCancel(toState: State, fromState?: State): void {
|
|
123
|
+
this.#fsm.send(routerEvents.CANCEL, { toState, fromState });
|
|
124
|
+
this.#currentToState = undefined;
|
|
125
|
+
}
|
|
126
|
+
|
|
133
127
|
canBeginTransition(): boolean {
|
|
134
128
|
return this.#fsm.canSend(routerEvents.NAVIGATE);
|
|
135
129
|
}
|
|
@@ -195,12 +189,12 @@ export class EventBusNamespace {
|
|
|
195
189
|
this.#emitter.setLimits(limits);
|
|
196
190
|
}
|
|
197
191
|
|
|
198
|
-
|
|
192
|
+
sendCancelIfTransitioning(fromState: State | undefined): void {
|
|
199
193
|
if (!this.canCancel()) {
|
|
200
194
|
return;
|
|
201
195
|
}
|
|
202
196
|
|
|
203
|
-
this.
|
|
197
|
+
this.sendCancel(this.#currentToState!, fromState); // eslint-disable-line @typescript-eslint/no-non-null-assertion -- guaranteed set before TRANSITIONING
|
|
204
198
|
}
|
|
205
199
|
|
|
206
200
|
#setupFSMActions(): void {
|
|
@@ -11,13 +11,8 @@ import {
|
|
|
11
11
|
import { errorCodes, constants } from "../../constants";
|
|
12
12
|
import { RouterError } from "../../RouterError";
|
|
13
13
|
import { nameToIDs } from "../../transitionPath";
|
|
14
|
-
import { resolveOption } from "../OptionsNamespace";
|
|
15
14
|
|
|
16
|
-
import type {
|
|
17
|
-
NavigationDependencies,
|
|
18
|
-
TransitionDependencies,
|
|
19
|
-
TransitionOutput,
|
|
20
|
-
} from "./types";
|
|
15
|
+
import type { NavigationDependencies, TransitionOutput } from "./types";
|
|
21
16
|
import type {
|
|
22
17
|
NavigationOptions,
|
|
23
18
|
Params,
|
|
@@ -63,15 +58,7 @@ function routeTransitionError(
|
|
|
63
58
|
return;
|
|
64
59
|
}
|
|
65
60
|
|
|
66
|
-
|
|
67
|
-
if (
|
|
68
|
-
routerError.code === errorCodes.CANNOT_ACTIVATE ||
|
|
69
|
-
routerError.code === errorCodes.CANNOT_DEACTIVATE
|
|
70
|
-
) {
|
|
71
|
-
deps.sendTransitionBlocked(toState, fromState, routerError);
|
|
72
|
-
} else {
|
|
73
|
-
deps.sendTransitionError(toState, fromState, routerError);
|
|
74
|
-
}
|
|
61
|
+
deps.sendTransitionFail(toState, fromState, routerError);
|
|
75
62
|
}
|
|
76
63
|
|
|
77
64
|
function buildSuccessState(
|
|
@@ -106,9 +93,7 @@ function buildSuccessState(
|
|
|
106
93
|
* Handles navigate(), navigateToDefault(), navigateToNotFound(), and transition state.
|
|
107
94
|
*/
|
|
108
95
|
export class NavigationNamespace {
|
|
109
|
-
#canNavigate!: () => boolean;
|
|
110
96
|
#deps!: NavigationDependencies;
|
|
111
|
-
#transitionDeps!: TransitionDependencies;
|
|
112
97
|
#currentController: AbortController | null = null;
|
|
113
98
|
|
|
114
99
|
// =========================================================================
|
|
@@ -135,26 +120,10 @@ export class NavigationNamespace {
|
|
|
135
120
|
// Dependency injection
|
|
136
121
|
// =========================================================================
|
|
137
122
|
|
|
138
|
-
setCanNavigate(fn: () => boolean): void {
|
|
139
|
-
this.#canNavigate = fn;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Sets dependencies for navigation operations.
|
|
144
|
-
* Must be called before using navigation methods.
|
|
145
|
-
*/
|
|
146
123
|
setDependencies(deps: NavigationDependencies): void {
|
|
147
124
|
this.#deps = deps;
|
|
148
125
|
}
|
|
149
126
|
|
|
150
|
-
/**
|
|
151
|
-
* Sets dependencies for transition operations.
|
|
152
|
-
* Must be called before using navigation methods.
|
|
153
|
-
*/
|
|
154
|
-
setTransitionDependencies(deps: TransitionDependencies): void {
|
|
155
|
-
this.#transitionDeps = deps;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
127
|
// =========================================================================
|
|
159
128
|
// Instance methods
|
|
160
129
|
// =========================================================================
|
|
@@ -168,7 +137,7 @@ export class NavigationNamespace {
|
|
|
168
137
|
params: Params,
|
|
169
138
|
opts: NavigationOptions,
|
|
170
139
|
): Promise<State> {
|
|
171
|
-
if (!this.#canNavigate()) {
|
|
140
|
+
if (!this.#deps.canNavigate()) {
|
|
172
141
|
throw new RouterError(errorCodes.ROUTER_NOT_STARTED);
|
|
173
142
|
}
|
|
174
143
|
|
|
@@ -212,19 +181,7 @@ export class NavigationNamespace {
|
|
|
212
181
|
throw err;
|
|
213
182
|
}
|
|
214
183
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
if (transitionDeps.isTransitioning()) {
|
|
218
|
-
logger.warn(
|
|
219
|
-
"router.navigate",
|
|
220
|
-
"Concurrent navigation detected on shared router instance. " +
|
|
221
|
-
"For SSR, use cloneRouter() to create isolated instance per request.",
|
|
222
|
-
);
|
|
223
|
-
this.#currentController?.abort(
|
|
224
|
-
new RouterError(errorCodes.TRANSITION_CANCELLED),
|
|
225
|
-
);
|
|
226
|
-
deps.cancelNavigation();
|
|
227
|
-
}
|
|
184
|
+
this.#abortPreviousNavigation();
|
|
228
185
|
|
|
229
186
|
const controller = new AbortController();
|
|
230
187
|
|
|
@@ -252,7 +209,7 @@ export class NavigationNamespace {
|
|
|
252
209
|
|
|
253
210
|
try {
|
|
254
211
|
const { state: finalState, meta: transitionOutput } = await transition(
|
|
255
|
-
|
|
212
|
+
deps,
|
|
256
213
|
toState,
|
|
257
214
|
fromState,
|
|
258
215
|
opts,
|
|
@@ -283,7 +240,7 @@ export class NavigationNamespace {
|
|
|
283
240
|
routeName: finalState.name,
|
|
284
241
|
});
|
|
285
242
|
|
|
286
|
-
deps.
|
|
243
|
+
deps.sendTransitionFail(finalState, fromState, err);
|
|
287
244
|
|
|
288
245
|
throw err;
|
|
289
246
|
}
|
|
@@ -313,26 +270,20 @@ export class NavigationNamespace {
|
|
|
313
270
|
});
|
|
314
271
|
}
|
|
315
272
|
|
|
316
|
-
const
|
|
317
|
-
options.defaultRoute,
|
|
318
|
-
deps.getDependency,
|
|
319
|
-
);
|
|
273
|
+
const { route, params } = deps.resolveDefault();
|
|
320
274
|
|
|
321
|
-
if (!
|
|
275
|
+
if (!route) {
|
|
322
276
|
throw new RouterError(errorCodes.ROUTE_NOT_FOUND, {
|
|
323
277
|
routeName: "defaultRoute resolved to empty",
|
|
324
278
|
});
|
|
325
279
|
}
|
|
326
280
|
|
|
327
|
-
|
|
328
|
-
options.defaultParams,
|
|
329
|
-
deps.getDependency,
|
|
330
|
-
);
|
|
331
|
-
|
|
332
|
-
return this.navigate(resolvedRoute, resolvedParams, opts);
|
|
281
|
+
return this.navigate(route, params, opts);
|
|
333
282
|
}
|
|
334
283
|
|
|
335
284
|
navigateToNotFound(path: string): State {
|
|
285
|
+
this.#abortPreviousNavigation();
|
|
286
|
+
|
|
336
287
|
const fromState = this.#deps.getState();
|
|
337
288
|
const deactivated: string[] = fromState
|
|
338
289
|
? nameToIDs(fromState.name).toReversed()
|
|
@@ -378,4 +329,18 @@ export class NavigationNamespace {
|
|
|
378
329
|
);
|
|
379
330
|
this.#currentController = null;
|
|
380
331
|
}
|
|
332
|
+
|
|
333
|
+
#abortPreviousNavigation(): void {
|
|
334
|
+
if (this.#deps.isTransitioning()) {
|
|
335
|
+
logger.warn(
|
|
336
|
+
"router.navigate",
|
|
337
|
+
"Concurrent navigation detected on shared router instance. " +
|
|
338
|
+
"For SSR, use cloneRouter() to create isolated instance per request.",
|
|
339
|
+
);
|
|
340
|
+
this.#currentController?.abort(
|
|
341
|
+
new RouterError(errorCodes.TRANSITION_CANCELLED),
|
|
342
|
+
);
|
|
343
|
+
this.#deps.cancelNavigation();
|
|
344
|
+
}
|
|
345
|
+
}
|
|
381
346
|
}
|