@real-router/core 0.31.0 → 0.33.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 +8 -6
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metafile-cjs.json +1 -1
- package/dist/esm/index.d.mts +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 +34 -14
- package/src/api/getPluginApi.ts +23 -15
- package/src/internals.ts +46 -9
- package/src/namespaces/NavigationNamespace/validators.ts +1 -41
- package/src/namespaces/RoutesNamespace/RoutesNamespace.ts +2 -1
- package/src/wiring/RouterWiringBuilder.ts +16 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1617,"imports":[],"format":"esm"},"../type-guards/dist/esm/index.mjs":{"bytes":3575,"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/internals.ts":{"bytes":3301,"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":7632,"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":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":15719,"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":12817,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":15260,"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":2474,"imports":[{"path":"../type-guards/dist/esm/index.mjs","kind":"import-statement","original":"type-guards"}],"format":"esm"},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytes":10421,"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":5015,"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":8255,"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":1106,"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":20403,"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":3375,"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/NavigationNamespace/validators.ts","kind":"import-statement","original":"../namespaces/NavigationNamespace/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":17667,"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":1285,"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":353646},"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","cloneRouter","constants","createRouter","errorCodes","events","getDependenciesApi","getLifecycleApi","getNavigator","getPluginApi","getRoutesApi"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":13630},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3185},"src/constants.ts":{"bytesInOutput":2515},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/helpers.ts":{"bytesInOutput":1794},"src/internals.ts":{"bytesInOutput":341},"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":5586},"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":13113},"../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":7962},"src/transitionPath.ts":{"bytesInOutput":4080},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":11179},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":8417},"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":1390},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":3108},"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":6233},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":268},"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":659},"src/api/getPluginApi.ts":{"bytesInOutput":2580},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10613},"src/api/getDependenciesApi.ts":{"bytesInOutput":4307},"src/api/getLifecycleApi.ts":{"bytesInOutput":1274},"src/api/cloneRouter.ts":{"bytesInOutput":2366}},"bytes":188175}}}
|
|
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":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/internals.ts":{"bytes":4497,"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":7632,"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":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":15719,"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":12817,"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":10421,"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":5015,"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":8440,"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":1106,"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":20791,"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":3362,"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":17667,"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":1285,"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":354780},"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","cloneRouter","constants","createRouter","errorCodes","events","getDependenciesApi","getLifecycleApi","getNavigator","getPluginApi","getRoutesApi"],"entryPoint":"src/index.ts","inputs":{"src/Router.ts":{"bytesInOutput":13940},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2376},"../type-guards/dist/esm/index.mjs":{"bytesInOutput":3187},"src/constants.ts":{"bytesInOutput":2515},"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":5586},"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":7964},"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":8417},"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":3108},"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":6323},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":268},"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":2592},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10613},"src/api/getDependenciesApi.ts":{"bytesInOutput":4307},"src/api/getLifecycleApi.ts":{"bytesInOutput":1274},"src/api/cloneRouter.ts":{"bytesInOutput":2366}},"bytes":188503}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.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.21.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"event-emitter": "^0.1.0",
|
|
56
56
|
"route-tree": "^0.3.3",
|
|
57
|
-
"type-guards": "^0.3.
|
|
57
|
+
"type-guards": "^0.3.3"
|
|
58
58
|
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "tsup",
|
package/src/Router.ts
CHANGED
|
@@ -13,7 +13,11 @@ import { validateRouteName } from "type-guards";
|
|
|
13
13
|
import { errorCodes } from "./constants";
|
|
14
14
|
import { createRouterFSM } from "./fsm";
|
|
15
15
|
import { createLimits } from "./helpers";
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
createInterceptable,
|
|
18
|
+
getInternals,
|
|
19
|
+
registerInternals,
|
|
20
|
+
} from "./internals";
|
|
17
21
|
import {
|
|
18
22
|
EventBusNamespace,
|
|
19
23
|
NavigationNamespace,
|
|
@@ -39,6 +43,7 @@ import { getTransitionPath } from "./transitionPath";
|
|
|
39
43
|
import { isLoggerConfig } from "./typeGuards";
|
|
40
44
|
import { RouterWiringBuilder, wireRouter } from "./wiring";
|
|
41
45
|
|
|
46
|
+
import type { RouterInternals } from "./internals";
|
|
42
47
|
import type { DependenciesStore } from "./namespaces";
|
|
43
48
|
import type { Limits, PluginFactory, Route, RouterEventMap } from "./types";
|
|
44
49
|
import type {
|
|
@@ -64,7 +69,7 @@ import type { CreateMatcherOptions } from "route-tree";
|
|
|
64
69
|
* - RoutesNamespace: route tree operations
|
|
65
70
|
* - RouteLifecycleNamespace: canActivate/canDeactivate guards
|
|
66
71
|
* - PluginsNamespace: plugin lifecycle
|
|
67
|
-
* - NavigationNamespace: navigate
|
|
72
|
+
* - NavigationNamespace: navigate
|
|
68
73
|
* - RouterLifecycleNamespace: start, stop, isStarted
|
|
69
74
|
*
|
|
70
75
|
* @internal This class implementation is internal. Use createRouter() instead.
|
|
@@ -202,21 +207,41 @@ export class Router<
|
|
|
202
207
|
// Register Internals (WeakMap for plugin/infrastructure access)
|
|
203
208
|
// =========================================================================
|
|
204
209
|
|
|
210
|
+
const interceptorsMap: RouterInternals["interceptors"] = new Map();
|
|
211
|
+
|
|
205
212
|
registerInternals(this, {
|
|
206
213
|
makeState: (name, params, path, meta, forceId) =>
|
|
207
214
|
this.#state.makeState(name, params, path, meta, forceId),
|
|
208
|
-
forwardState: (
|
|
215
|
+
forwardState: createInterceptable(
|
|
216
|
+
"forwardState",
|
|
217
|
+
(name, params) => this.#routes.forwardState(name, params),
|
|
218
|
+
interceptorsMap,
|
|
219
|
+
),
|
|
209
220
|
buildStateResolved: (name, params) =>
|
|
210
221
|
this.#routes.buildStateResolved(name, params),
|
|
211
222
|
matchPath: (path, matchOptions) =>
|
|
212
223
|
this.#routes.matchPath(path, matchOptions),
|
|
213
224
|
getOptions: () => this.#options.get(),
|
|
214
|
-
navigateToState: (toState, fromState, opts) =>
|
|
215
|
-
this.#navigation.navigateToState(toState, fromState, opts),
|
|
216
225
|
addEventListener: (eventName, cb) =>
|
|
217
226
|
this.#eventBus.addEventListener(eventName, cb),
|
|
218
|
-
buildPath: (
|
|
219
|
-
|
|
227
|
+
buildPath: createInterceptable(
|
|
228
|
+
"buildPath",
|
|
229
|
+
(route: string, params?: Params) =>
|
|
230
|
+
this.#routes.buildPath(route, params ?? {}, this.#options.get()),
|
|
231
|
+
interceptorsMap,
|
|
232
|
+
),
|
|
233
|
+
start: createInterceptable(
|
|
234
|
+
"start",
|
|
235
|
+
(path: string) => {
|
|
236
|
+
if (!noValidate) {
|
|
237
|
+
RouterLifecycleNamespace.validateStartArgs([path]);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return this.#lifecycle.start(path);
|
|
241
|
+
},
|
|
242
|
+
interceptorsMap,
|
|
243
|
+
),
|
|
244
|
+
interceptors: interceptorsMap,
|
|
220
245
|
setRootPath: (rootPath) => {
|
|
221
246
|
this.#routes.setRootPath(rootPath);
|
|
222
247
|
},
|
|
@@ -327,7 +352,7 @@ export class Router<
|
|
|
327
352
|
validateBuildPathArgs(route);
|
|
328
353
|
}
|
|
329
354
|
|
|
330
|
-
return this
|
|
355
|
+
return getInternals(this).buildPath(route, params);
|
|
331
356
|
}
|
|
332
357
|
|
|
333
358
|
// ============================================================================
|
|
@@ -379,18 +404,13 @@ export class Router<
|
|
|
379
404
|
}
|
|
380
405
|
|
|
381
406
|
start(startPath: string): Promise<State> {
|
|
382
|
-
// Static validation
|
|
383
|
-
if (!this.#noValidate) {
|
|
384
|
-
RouterLifecycleNamespace.validateStartArgs([startPath]);
|
|
385
|
-
}
|
|
386
|
-
|
|
387
407
|
if (!this.#eventBus.canStart()) {
|
|
388
408
|
return Promise.reject(CACHED_ALREADY_STARTED_ERROR);
|
|
389
409
|
}
|
|
390
410
|
|
|
391
411
|
this.#eventBus.sendStart();
|
|
392
412
|
|
|
393
|
-
const promiseState = this
|
|
413
|
+
const promiseState = getInternals(this)
|
|
394
414
|
.start(startPath)
|
|
395
415
|
.catch((error: unknown) => {
|
|
396
416
|
if (this.#eventBus.isReady()) {
|
package/src/api/getPluginApi.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { errorCodes } from "../constants";
|
|
2
2
|
import { getInternals } from "../internals";
|
|
3
3
|
import { validateListenerArgs } from "../namespaces/EventBusNamespace/validators";
|
|
4
|
-
import { validateNavigateToStateArgs } from "../namespaces/NavigationNamespace/validators";
|
|
5
4
|
import {
|
|
6
5
|
validateMatchPathArgs,
|
|
7
6
|
validateSetRootPathArgs,
|
|
@@ -11,7 +10,7 @@ import { validateMakeStateArgs } from "../namespaces/StateNamespace/validators";
|
|
|
11
10
|
import { RouterError } from "../RouterError";
|
|
12
11
|
|
|
13
12
|
import type { PluginApi } from "./types";
|
|
14
|
-
import type { DefaultDependencies, Router } from "@real-router/types";
|
|
13
|
+
import type { DefaultDependencies, Params, Router } from "@real-router/types";
|
|
15
14
|
|
|
16
15
|
function throwIfDisposed(isDisposed: () => boolean): void {
|
|
17
16
|
if (isDisposed()) {
|
|
@@ -41,7 +40,10 @@ export function getPluginApi<
|
|
|
41
40
|
|
|
42
41
|
return ctx.buildStateResolved(name, params);
|
|
43
42
|
},
|
|
44
|
-
forwardState:
|
|
43
|
+
forwardState: <P extends Params = Params>(
|
|
44
|
+
routeName: string,
|
|
45
|
+
routeParams: P,
|
|
46
|
+
) => {
|
|
45
47
|
if (!ctx.noValidate) {
|
|
46
48
|
validateStateBuilderArgs(routeName, routeParams, "forwardState");
|
|
47
49
|
}
|
|
@@ -65,15 +67,6 @@ export function getPluginApi<
|
|
|
65
67
|
ctx.setRootPath(rootPath);
|
|
66
68
|
},
|
|
67
69
|
getRootPath: ctx.getRootPath,
|
|
68
|
-
navigateToState: (toState, fromState, opts) => {
|
|
69
|
-
throwIfDisposed(ctx.isDisposed);
|
|
70
|
-
|
|
71
|
-
if (!ctx.noValidate) {
|
|
72
|
-
validateNavigateToStateArgs(toState, fromState, opts);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return ctx.navigateToState(toState, fromState, opts);
|
|
76
|
-
},
|
|
77
70
|
addEventListener: (eventName, cb) => {
|
|
78
71
|
throwIfDisposed(ctx.isDisposed);
|
|
79
72
|
|
|
@@ -109,9 +102,24 @@ export function getPluginApi<
|
|
|
109
102
|
},
|
|
110
103
|
getOptions: ctx.getOptions,
|
|
111
104
|
getTree: ctx.getTree,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
105
|
+
addInterceptor: (method, fn) => {
|
|
106
|
+
throwIfDisposed(ctx.isDisposed);
|
|
107
|
+
let list = ctx.interceptors.get(method);
|
|
108
|
+
|
|
109
|
+
if (!list) {
|
|
110
|
+
list = [];
|
|
111
|
+
ctx.interceptors.set(method, list);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
list.push(fn);
|
|
115
|
+
|
|
116
|
+
return () => {
|
|
117
|
+
const index = list.indexOf(fn);
|
|
118
|
+
|
|
119
|
+
if (index !== -1) {
|
|
120
|
+
list.splice(index, 1);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
115
123
|
},
|
|
116
124
|
};
|
|
117
125
|
}
|
package/src/internals.ts
CHANGED
|
@@ -5,7 +5,6 @@ import type { EventMethodMap, GuardFnFactory, PluginFactory } from "./types";
|
|
|
5
5
|
import type {
|
|
6
6
|
DefaultDependencies,
|
|
7
7
|
EventName,
|
|
8
|
-
NavigationOptions,
|
|
9
8
|
Options,
|
|
10
9
|
Params,
|
|
11
10
|
Plugin,
|
|
@@ -29,8 +28,7 @@ export interface RouterInternals<
|
|
|
29
28
|
forceId?: number,
|
|
30
29
|
) => State<P, MP>;
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
forwardState: <P extends Params = Params>(
|
|
31
|
+
readonly forwardState: <P extends Params = Params>(
|
|
34
32
|
routeName: string,
|
|
35
33
|
routeParams: P,
|
|
36
34
|
) => SimpleState<P>;
|
|
@@ -47,12 +45,6 @@ export interface RouterInternals<
|
|
|
47
45
|
|
|
48
46
|
readonly getOptions: () => Options;
|
|
49
47
|
|
|
50
|
-
readonly navigateToState: (
|
|
51
|
-
toState: State,
|
|
52
|
-
fromState: State | undefined,
|
|
53
|
-
opts: NavigationOptions,
|
|
54
|
-
) => Promise<State>;
|
|
55
|
-
|
|
56
48
|
readonly addEventListener: <E extends EventName>(
|
|
57
49
|
eventName: E,
|
|
58
50
|
cb: Plugin[EventMethodMap[E]],
|
|
@@ -60,6 +52,15 @@ export interface RouterInternals<
|
|
|
60
52
|
|
|
61
53
|
readonly buildPath: (route: string, params?: Params) => string;
|
|
62
54
|
|
|
55
|
+
readonly start: (path: string) => Promise<State>;
|
|
56
|
+
|
|
57
|
+
/* eslint-disable @typescript-eslint/no-explicit-any -- heterogeneous map: stores different InterceptorFn<M> types under different keys */
|
|
58
|
+
readonly interceptors: Map<
|
|
59
|
+
string,
|
|
60
|
+
((next: (...args: any[]) => any, ...args: any[]) => any)[]
|
|
61
|
+
>;
|
|
62
|
+
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
63
|
+
|
|
63
64
|
readonly setRootPath: (rootPath: string) => void;
|
|
64
65
|
readonly getRootPath: () => string;
|
|
65
66
|
|
|
@@ -114,3 +115,39 @@ export function registerInternals<D extends DefaultDependencies>(
|
|
|
114
115
|
): void {
|
|
115
116
|
internals.set(router, ctx);
|
|
116
117
|
}
|
|
118
|
+
|
|
119
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument -- internal chain execution: type safety enforced at public API boundary (PluginApi.addInterceptor) */
|
|
120
|
+
function executeInterceptorChain<T>(
|
|
121
|
+
interceptors: ((next: (...args: any[]) => any, ...args: any[]) => any)[],
|
|
122
|
+
original: (...args: any[]) => T,
|
|
123
|
+
args: any[],
|
|
124
|
+
): T {
|
|
125
|
+
let chain = original as (...args: any[]) => any;
|
|
126
|
+
|
|
127
|
+
for (const interceptor of interceptors) {
|
|
128
|
+
const prev = chain;
|
|
129
|
+
|
|
130
|
+
chain = (...a: any[]) => interceptor(prev, ...a);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return chain(...args) as T;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export function createInterceptable<T extends (...args: any[]) => any>(
|
|
137
|
+
name: string,
|
|
138
|
+
original: T,
|
|
139
|
+
interceptors: Map<
|
|
140
|
+
string,
|
|
141
|
+
((next: (...args: any[]) => any, ...args: any[]) => any)[]
|
|
142
|
+
>,
|
|
143
|
+
): T {
|
|
144
|
+
return ((...args: any[]) => {
|
|
145
|
+
const chain = interceptors.get(name);
|
|
146
|
+
|
|
147
|
+
if (!chain || chain.length === 0) {
|
|
148
|
+
return original(...args);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return executeInterceptorChain(chain, original, args);
|
|
152
|
+
}) as T;
|
|
153
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { getTypeDescription, isNavigationOptions } from "type-guards";
|
|
9
9
|
|
|
10
|
-
import type { NavigationOptions
|
|
10
|
+
import type { NavigationOptions } from "@real-router/types";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Validates navigate route name argument.
|
|
@@ -20,46 +20,6 @@ export function validateNavigateArgs(name: unknown): asserts name is string {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* Validates navigateToState arguments.
|
|
25
|
-
*/
|
|
26
|
-
export function validateNavigateToStateArgs(
|
|
27
|
-
toState: unknown,
|
|
28
|
-
fromState: unknown,
|
|
29
|
-
opts: unknown,
|
|
30
|
-
): void {
|
|
31
|
-
// toState must be a valid state object
|
|
32
|
-
if (
|
|
33
|
-
!toState ||
|
|
34
|
-
typeof toState !== "object" ||
|
|
35
|
-
typeof (toState as State).name !== "string" ||
|
|
36
|
-
typeof (toState as State).path !== "string"
|
|
37
|
-
) {
|
|
38
|
-
throw new TypeError(
|
|
39
|
-
`[router.navigateToState] Invalid toState: expected State object with name and path`,
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// fromState can be undefined or a valid state
|
|
44
|
-
if (
|
|
45
|
-
fromState !== undefined &&
|
|
46
|
-
(!fromState ||
|
|
47
|
-
typeof fromState !== "object" ||
|
|
48
|
-
typeof (fromState as State).name !== "string")
|
|
49
|
-
) {
|
|
50
|
-
throw new TypeError(
|
|
51
|
-
`[router.navigateToState] Invalid fromState: expected State object or undefined`,
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// opts must be an object
|
|
56
|
-
if (typeof opts !== "object" || opts === null) {
|
|
57
|
-
throw new TypeError(
|
|
58
|
-
`[router.navigateToState] Invalid opts: expected NavigationOptions object, got ${getTypeDescription(opts)}`,
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
23
|
/**
|
|
64
24
|
* Validates navigateToDefault arguments.
|
|
65
25
|
*/
|
|
@@ -202,7 +202,8 @@ export class RoutesNamespace<
|
|
|
202
202
|
route,
|
|
203
203
|
)
|
|
204
204
|
? { ...this.#store.config.defaultParams[route], ...params }
|
|
205
|
-
: (params ??
|
|
205
|
+
: /* v8 ignore next -- @preserve: V8 can't track ?? branch in ternary; covered by buildPath tests without params */ (params ??
|
|
206
|
+
{});
|
|
206
207
|
|
|
207
208
|
const encodedParams =
|
|
208
209
|
typeof this.#store.config.encoders[route] === "function"
|
|
@@ -13,7 +13,7 @@ import type { PluginsDependencies } from "../namespaces/PluginsNamespace";
|
|
|
13
13
|
import type { RouteLifecycleDependencies } from "../namespaces/RouteLifecycleNamespace";
|
|
14
14
|
import type { RouterLifecycleDependencies } from "../namespaces/RouterLifecycleNamespace";
|
|
15
15
|
import type { RoutesDependencies } from "../namespaces/RoutesNamespace";
|
|
16
|
-
import type { DefaultDependencies } from "@real-router/types";
|
|
16
|
+
import type { DefaultDependencies, Params } from "@real-router/types";
|
|
17
17
|
|
|
18
18
|
export class RouterWiringBuilder<
|
|
19
19
|
Dependencies extends DefaultDependencies = DefaultDependencies,
|
|
@@ -81,7 +81,7 @@ export class RouterWiringBuilder<
|
|
|
81
81
|
this.state.areStatesEqual(state1, state2, ignoreQueryParams),
|
|
82
82
|
getDependency: (name) =>
|
|
83
83
|
this.dependenciesStore.dependencies[name] as Dependencies[typeof name],
|
|
84
|
-
forwardState: (name, params) => {
|
|
84
|
+
forwardState: <P extends Params = Params>(name: string, params: P) => {
|
|
85
85
|
const ctx = getInternals(this.router);
|
|
86
86
|
|
|
87
87
|
if (!ctx.noValidate) {
|
|
@@ -118,7 +118,10 @@ export class RouterWiringBuilder<
|
|
|
118
118
|
setState: (state) => {
|
|
119
119
|
this.state.set(state);
|
|
120
120
|
},
|
|
121
|
-
buildStateWithSegments:
|
|
121
|
+
buildStateWithSegments: <P extends Params = Params>(
|
|
122
|
+
routeName: string,
|
|
123
|
+
routeParams: P,
|
|
124
|
+
) => {
|
|
122
125
|
const ctx = getInternals(this.router);
|
|
123
126
|
|
|
124
127
|
if (!ctx.noValidate) {
|
|
@@ -131,8 +134,11 @@ export class RouterWiringBuilder<
|
|
|
131
134
|
},
|
|
132
135
|
makeState: (name, params, path, meta) =>
|
|
133
136
|
this.state.makeState(name, params, path, meta),
|
|
134
|
-
buildPath: (route, params) =>
|
|
135
|
-
|
|
137
|
+
buildPath: (route, params) => {
|
|
138
|
+
const ctx = getInternals(this.router);
|
|
139
|
+
|
|
140
|
+
return ctx.buildPath(route, params);
|
|
141
|
+
},
|
|
136
142
|
areStatesEqual: (state1, state2, ignoreQueryParams) =>
|
|
137
143
|
this.state.areStatesEqual(state1, state2, ignoreQueryParams),
|
|
138
144
|
getDependency: (name: string) =>
|
|
@@ -196,8 +202,11 @@ export class RouterWiringBuilder<
|
|
|
196
202
|
wireStateDeps(): void {
|
|
197
203
|
this.state.setDependencies({
|
|
198
204
|
getDefaultParams: () => this.routes.getStore().config.defaultParams,
|
|
199
|
-
buildPath: (name, params) =>
|
|
200
|
-
|
|
205
|
+
buildPath: (name, params) => {
|
|
206
|
+
const ctx = getInternals(this.router);
|
|
207
|
+
|
|
208
|
+
return ctx.buildPath(name, params);
|
|
209
|
+
},
|
|
201
210
|
getUrlParams: (name) => this.routes.getUrlParams(name),
|
|
202
211
|
});
|
|
203
212
|
}
|