@real-router/core 0.39.0 → 0.40.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.
@@ -1 +1 @@
1
- {"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1750,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":3336,"imports":[],"format":"esm"},"src/fsm/routerFSM.ts":{"bytes":3088,"imports":[{"path":"@real-router/fsm","kind":"import-statement","external":true}],"format":"esm"},"src/fsm/index.ts":{"bytes":188,"imports":[{"path":"src/fsm/routerFSM.ts","kind":"import-statement","original":"./routerFSM"}],"format":"esm"},"src/guards.ts":{"bytes":1340,"imports":[],"format":"esm"},"src/helpers.ts":{"bytes":5295,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/internals.ts":{"bytes":5226,"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":502,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/helpers.ts":{"bytes":1627,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/validators.ts":{"bytes":465,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytes":699,"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":217,"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":1053,"imports":[],"format":"esm"},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytes":6447,"imports":[{"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":994,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/validators.ts":{"bytes":929,"imports":[],"format":"esm"},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytes":8942,"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"}],"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/RouteLifecycleNamespace.ts":{"bytes":11427,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"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":149,"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/forwardChain.ts":{"bytes":831,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytes":10895,"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/forwardChain.ts","kind":"import-statement","original":"./forwardChain"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/transitionPath.ts":{"bytes":13289,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":15048,"imports":[{"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":326,"imports":[{"path":"src/namespaces/RoutesNamespace/RoutesNamespace.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/RouterError.ts":{"bytes":10101,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/NavigationNamespace/constants.ts":{"bytes":2439,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytes":2242,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../../helpers"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytes":3458,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytes":4726,"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/NavigationNamespace.ts":{"bytes":10430,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/NavigationNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/NavigationNamespace/transition/completeTransition.ts","kind":"import-statement","original":"./transition/completeTransition"},{"path":"src/namespaces/NavigationNamespace/transition/errorHandling.ts","kind":"import-statement","original":"./transition/errorHandling"},{"path":"src/namespaces/NavigationNamespace/transition/guardPhase.ts","kind":"import-statement","original":"./transition/guardPhase"},{"path":"src/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":2267,"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":7011,"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":831,"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/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":1616,"imports":[],"format":"esm"},"src/wiring/RouterWiringBuilder.ts":{"bytes":9355,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../namespaces/OptionsNamespace"}],"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":21261,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../event-emitter/dist/esm/index.mjs","kind":"import-statement","original":"event-emitter"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"./fsm"},{"path":"src/guards.ts","kind":"import-statement","original":"./guards"},{"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/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"./transitionPath"},{"path":"src/typeGuards.ts","kind":"import-statement","original":"./typeGuards"},{"path":"src/wiring/index.ts","kind":"import-statement","original":"./wiring"}],"format":"esm"},"src/createRouter.ts":{"bytes":897,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"}],"format":"esm"},"src/getNavigator.ts":{"bytes":605,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1178,"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/namespaces/RoutesNamespace/forwardChain.ts","kind":"import-statement","original":"./namespaces/RoutesNamespace/forwardChain"}],"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/api/getPluginApi.ts":{"bytes":4308,"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/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/namespaces/RoutesNamespace/routeGuards.ts":{"bytes":1735,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true}],"format":"esm"},"src/api/getRoutesApi.ts":{"bytes":16424,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/guards.ts","kind":"import-statement","original":"../guards"},{"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/routeGuards.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routeGuards"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routesStore"}],"format":"esm"},"src/api/getDependenciesApi.ts":{"bytes":4809,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"}],"format":"esm"},"src/api/getLifecycleApi.ts":{"bytes":2073,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"}],"format":"esm"},"src/api/cloneRouter.ts":{"bytes":2534,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"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/utils/serializeState.ts":{"bytes":649,"imports":[],"format":"esm"},"src/utils/index.ts":{"bytes":51,"imports":[{"path":"src/utils/serializeState.ts","kind":"import-statement","original":"./serializeState"}],"format":"esm"},"src/validation.ts":{"bytes":365,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"./internals"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2152},"dist/esm/index.mjs":{"imports":[{"path":"dist/esm/chunk-4SLMDQ2M.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["Router","RouterError","UNKNOWN_ROUTE","constants","createRouter","errorCodes","events","getNavigator","resolveForwardChain"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":390}},"bytes":881},"dist/esm/api.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":47544},"dist/esm/api.mjs":{"imports":[{"path":"dist/esm/chunk-4SLMDQ2M.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["cloneRouter","getDependenciesApi","getLifecycleApi","getPluginApi","getRoutesApi"],"entryPoint":"src/api/index.ts","inputs":{"src/api/helpers.ts":{"bytesInOutput":122},"src/api/getPluginApi.ts":{"bytesInOutput":3634},"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10018},"src/namespaces/RoutesNamespace/routeGuards.ts":{"bytesInOutput":1025},"src/api/getDependenciesApi.ts":{"bytesInOutput":3238},"src/api/getLifecycleApi.ts":{"bytesInOutput":1617},"src/api/cloneRouter.ts":{"bytesInOutput":1805}},"bytes":22479},"dist/esm/chunk-4SLMDQ2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":236750},"dist/esm/chunk-4SLMDQ2M.mjs":{"imports":[{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"},{"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}],"exports":["Router","RouterError","UNKNOWN_ROUTE","clearConfigEntries","clearRouteData","constants","errorCodes","events","f","guardRouteStructure","refreshForwardMap","registerAllRouteHandlers","removeFromDefinitions","resolveForwardChain","sanitizeRoute"],"inputs":{"src/constants.ts":{"bytesInOutput":2164},"src/namespaces/RoutesNamespace/forwardChain.ts":{"bytesInOutput":707},"src/helpers.ts":{"bytesInOutput":1670},"src/RouterError.ts":{"bytesInOutput":8509},"src/Router.ts":{"bytesInOutput":14805},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2693},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/guards.ts":{"bytesInOutput":846},"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":306},"src/namespaces/OptionsNamespace/helpers.ts":{"bytesInOutput":385},"src/namespaces/OptionsNamespace/validators.ts":{"bytesInOutput":205},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytesInOutput":303},"src/namespaces/OptionsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/StateNamespace/helpers.ts":{"bytesInOutput":586},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytesInOutput":4661},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":6672},"src/namespaces/PluginsNamespace/constants.ts":{"bytesInOutput":434},"src/namespaces/PluginsNamespace/validators.ts":{"bytesInOutput":435},"src/namespaces/PluginsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytesInOutput":8803},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":29},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":1653},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytesInOutput":5762},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13080},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4200},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":3508},"src/transitionPath.ts":{"bytesInOutput":4751},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":11120},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":8063},"src/namespaces/NavigationNamespace/constants.ts":{"bytesInOutput":635},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytesInOutput":1508},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytesInOutput":1476},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytesInOutput":3516},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":1628},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":4808},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":7044},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":240}},"bytes":133097},"dist/esm/utils.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":989},"dist/esm/utils.mjs":{"imports":[],"exports":["serializeState"],"entryPoint":"src/utils/index.ts","inputs":{"src/utils/serializeState.ts":{"bytesInOutput":221},"src/utils/index.ts":{"bytesInOutput":0}},"bytes":281},"dist/esm/validation.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/esm/validation.mjs":{"imports":[{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["getInternals"],"entryPoint":"src/validation.ts","inputs":{"src/validation.ts":{"bytesInOutput":0}},"bytes":82},"dist/esm/chunk-QUUNDESP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6356},"dist/esm/chunk-QUUNDESP.mjs":{"imports":[],"exports":["createInterceptable","createInterceptable2","getInternals","registerInternals"],"inputs":{"src/internals.ts":{"bytesInOutput":1151}},"bytes":1267}}}
1
+ {"inputs":{"../event-emitter/dist/esm/index.mjs":{"bytes":1750,"imports":[],"format":"esm"},"src/constants.ts":{"bytes":3336,"imports":[],"format":"esm"},"src/fsm/routerFSM.ts":{"bytes":3088,"imports":[{"path":"@real-router/fsm","kind":"import-statement","external":true}],"format":"esm"},"src/fsm/index.ts":{"bytes":188,"imports":[{"path":"src/fsm/routerFSM.ts","kind":"import-statement","original":"./routerFSM"}],"format":"esm"},"src/guards.ts":{"bytes":1340,"imports":[],"format":"esm"},"src/helpers.ts":{"bytes":5295,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/internals.ts":{"bytes":5226,"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":502,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/helpers.ts":{"bytes":1627,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/validators.ts":{"bytes":465,"imports":[],"format":"esm"},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytes":699,"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":217,"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":1053,"imports":[],"format":"esm"},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytes":6447,"imports":[{"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":994,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"format":"esm"},"src/namespaces/PluginsNamespace/validators.ts":{"bytes":929,"imports":[],"format":"esm"},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytes":8942,"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"}],"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/RouteLifecycleNamespace.ts":{"bytes":11427,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"}],"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":149,"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/forwardChain.ts":{"bytes":831,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytes":10895,"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/forwardChain.ts","kind":"import-statement","original":"./forwardChain"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/transitionPath.ts":{"bytes":13289,"imports":[],"format":"esm"},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytes":15048,"imports":[{"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":326,"imports":[{"path":"src/namespaces/RoutesNamespace/RoutesNamespace.ts","kind":"import-statement","original":"./RoutesNamespace"},{"path":"src/namespaces/RoutesNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/RoutesNamespace/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/RouterError.ts":{"bytes":10101,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/namespaces/NavigationNamespace/constants.ts":{"bytes":2439,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytes":2242,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/helpers.ts","kind":"import-statement","original":"../../../helpers"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytes":3458,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"../../../constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"../../../RouterError"}],"format":"esm"},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytes":4726,"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/NavigationNamespace.ts":{"bytes":10430,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/namespaces/NavigationNamespace/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/namespaces/NavigationNamespace/transition/completeTransition.ts","kind":"import-statement","original":"./transition/completeTransition"},{"path":"src/namespaces/NavigationNamespace/transition/errorHandling.ts","kind":"import-statement","original":"./transition/errorHandling"},{"path":"src/namespaces/NavigationNamespace/transition/guardPhase.ts","kind":"import-statement","original":"./transition/guardPhase"},{"path":"src/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":2267,"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":7011,"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":831,"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/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":1616,"imports":[],"format":"esm"},"src/wiring/RouterWiringBuilder.ts":{"bytes":9355,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"../internals"},{"path":"src/namespaces/OptionsNamespace/index.ts","kind":"import-statement","original":"../namespaces/OptionsNamespace"}],"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":21261,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"../event-emitter/dist/esm/index.mjs","kind":"import-statement","original":"event-emitter"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/fsm/index.ts","kind":"import-statement","original":"./fsm"},{"path":"src/guards.ts","kind":"import-statement","original":"./guards"},{"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/RouterLifecycleNamespace/constants.ts","kind":"import-statement","original":"./namespaces/RouterLifecycleNamespace/constants"},{"path":"src/RouterError.ts","kind":"import-statement","original":"./RouterError"},{"path":"src/transitionPath.ts","kind":"import-statement","original":"./transitionPath"},{"path":"src/typeGuards.ts","kind":"import-statement","original":"./typeGuards"},{"path":"src/wiring/index.ts","kind":"import-statement","original":"./wiring"}],"format":"esm"},"src/createRouter.ts":{"bytes":897,"imports":[{"path":"src/Router.ts","kind":"import-statement","original":"./Router"}],"format":"esm"},"src/getNavigator.ts":{"bytes":605,"imports":[],"format":"esm"},"src/index.ts":{"bytes":1178,"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/namespaces/RoutesNamespace/forwardChain.ts","kind":"import-statement","original":"./namespaces/RoutesNamespace/forwardChain"}],"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/api/getPluginApi.ts":{"bytes":4308,"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/RouterError.ts","kind":"import-statement","original":"../RouterError"}],"format":"esm"},"src/namespaces/RoutesNamespace/routeGuards.ts":{"bytes":1735,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true}],"format":"esm"},"src/api/getRoutesApi.ts":{"bytes":16424,"imports":[{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/guards.ts","kind":"import-statement","original":"../guards"},{"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/routeGuards.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routeGuards"},{"path":"src/namespaces/RoutesNamespace/routesStore.ts","kind":"import-statement","original":"../namespaces/RoutesNamespace/routesStore"}],"format":"esm"},"src/api/getDependenciesApi.ts":{"bytes":4809,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"}],"format":"esm"},"src/api/getLifecycleApi.ts":{"bytes":2073,"imports":[{"path":"src/api/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/internals.ts","kind":"import-statement","original":"../internals"}],"format":"esm"},"src/api/cloneRouter.ts":{"bytes":2534,"imports":[{"path":"../route-tree/dist/esm/index.mjs","kind":"import-statement","original":"route-tree"},{"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/utils/getStaticPaths.ts":{"bytes":1225,"imports":[{"path":"src/api/getPluginApi.ts","kind":"import-statement","original":"../api/getPluginApi"}],"format":"esm"},"src/utils/serializeState.ts":{"bytes":649,"imports":[],"format":"esm"},"src/utils/index.ts":{"bytes":163,"imports":[{"path":"src/utils/getStaticPaths.ts","kind":"import-statement","original":"./getStaticPaths"},{"path":"src/utils/serializeState.ts","kind":"import-statement","original":"./serializeState"}],"format":"esm"},"src/validation.ts":{"bytes":365,"imports":[{"path":"src/internals.ts","kind":"import-statement","original":"./internals"}],"format":"esm"}},"outputs":{"dist/esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2154},"dist/esm/index.mjs":{"imports":[{"path":"dist/esm/chunk-RA5VYM7M.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-5QXFUUDL.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["Router","RouterError","UNKNOWN_ROUTE","constants","createRouter","errorCodes","events","getNavigator","resolveForwardChain"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/createRouter.ts":{"bytesInOutput":126},"src/getNavigator.ts":{"bytesInOutput":390}},"bytes":920},"dist/esm/api.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":40123},"dist/esm/api.mjs":{"imports":[{"path":"dist/esm/chunk-RA5VYM7M.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-HHIXK5UM.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-5QXFUUDL.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"},{"path":"@real-router/logger","kind":"import-statement","external":true},{"path":"@real-router/logger","kind":"import-statement","external":true}],"exports":["cloneRouter","getDependenciesApi","getLifecycleApi","getPluginApi","getRoutesApi"],"entryPoint":"src/api/index.ts","inputs":{"src/api/index.ts":{"bytesInOutput":0},"src/api/getRoutesApi.ts":{"bytesInOutput":10018},"src/namespaces/RoutesNamespace/routeGuards.ts":{"bytesInOutput":1025},"src/api/getDependenciesApi.ts":{"bytesInOutput":3238},"src/api/getLifecycleApi.ts":{"bytesInOutput":1617},"src/api/cloneRouter.ts":{"bytesInOutput":1805}},"bytes":18785},"dist/esm/chunk-RA5VYM7M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":212303},"dist/esm/chunk-RA5VYM7M.mjs":{"imports":[{"path":"dist/esm/chunk-5QXFUUDL.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"},{"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}],"exports":["Router","clearConfigEntries","clearRouteData","f","guardRouteStructure","refreshForwardMap","registerAllRouteHandlers","removeFromDefinitions","resolveForwardChain","sanitizeRoute"],"inputs":{"src/namespaces/RoutesNamespace/forwardChain.ts":{"bytesInOutput":707},"src/Router.ts":{"bytesInOutput":14805},"../event-emitter/dist/esm/index.mjs":{"bytesInOutput":2693},"src/fsm/routerFSM.ts":{"bytesInOutput":1269},"src/fsm/index.ts":{"bytesInOutput":0},"src/guards.ts":{"bytesInOutput":846},"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":306},"src/namespaces/OptionsNamespace/helpers.ts":{"bytesInOutput":385},"src/namespaces/OptionsNamespace/validators.ts":{"bytesInOutput":205},"src/namespaces/OptionsNamespace/OptionsNamespace.ts":{"bytesInOutput":303},"src/namespaces/OptionsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/StateNamespace/helpers.ts":{"bytesInOutput":586},"src/namespaces/StateNamespace/StateNamespace.ts":{"bytesInOutput":4661},"src/namespaces/StateNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/PluginsNamespace/PluginsNamespace.ts":{"bytesInOutput":6672},"src/namespaces/PluginsNamespace/constants.ts":{"bytesInOutput":434},"src/namespaces/PluginsNamespace/validators.ts":{"bytesInOutput":435},"src/namespaces/PluginsNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts":{"bytesInOutput":8803},"src/namespaces/RouteLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RoutesNamespace/constants.ts":{"bytesInOutput":29},"src/namespaces/RoutesNamespace/helpers.ts":{"bytesInOutput":1653},"src/namespaces/RoutesNamespace/routesStore.ts":{"bytesInOutput":5762},"../path-matcher/dist/esm/index.mjs":{"bytesInOutput":13080},"../search-params/dist/esm/index.mjs":{"bytesInOutput":4200},"../route-tree/dist/esm/index.mjs":{"bytesInOutput":3508},"src/transitionPath.ts":{"bytesInOutput":4751},"src/namespaces/RoutesNamespace/RoutesNamespace.ts":{"bytesInOutput":11120},"src/namespaces/RoutesNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/NavigationNamespace/NavigationNamespace.ts":{"bytesInOutput":8063},"src/namespaces/NavigationNamespace/constants.ts":{"bytesInOutput":635},"src/namespaces/NavigationNamespace/transition/completeTransition.ts":{"bytesInOutput":1508},"src/namespaces/NavigationNamespace/transition/errorHandling.ts":{"bytesInOutput":1476},"src/namespaces/NavigationNamespace/transition/guardPhase.ts":{"bytesInOutput":3516},"src/namespaces/NavigationNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.ts":{"bytesInOutput":1628},"src/namespaces/RouterLifecycleNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/EventBusNamespace/EventBusNamespace.ts":{"bytesInOutput":4808},"src/namespaces/EventBusNamespace/index.ts":{"bytesInOutput":0},"src/namespaces/RouterLifecycleNamespace/constants.ts":{"bytesInOutput":91},"src/typeGuards.ts":{"bytesInOutput":1154},"src/wiring/RouterWiringBuilder.ts":{"bytesInOutput":7044},"src/wiring/index.ts":{"bytesInOutput":0},"src/wiring/wireRouter.ts":{"bytesInOutput":240}},"bytes":120796},"dist/esm/utils.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2919},"dist/esm/utils.mjs":{"imports":[{"path":"dist/esm/chunk-HHIXK5UM.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-5QXFUUDL.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["getStaticPaths","serializeState"],"entryPoint":"src/utils/index.ts","inputs":{"src/utils/getStaticPaths.ts":{"bytesInOutput":767},"src/utils/index.ts":{"bytesInOutput":0},"src/utils/serializeState.ts":{"bytesInOutput":221}},"bytes":1216},"dist/esm/chunk-HHIXK5UM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7522},"dist/esm/chunk-HHIXK5UM.mjs":{"imports":[{"path":"dist/esm/chunk-5QXFUUDL.mjs","kind":"import-statement"},{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["getPluginApi","throwIfDisposed"],"inputs":{"src/api/helpers.ts":{"bytesInOutput":122},"src/api/getPluginApi.ts":{"bytesInOutput":3634}},"bytes":3977},"dist/esm/chunk-5QXFUUDL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":24546},"dist/esm/chunk-5QXFUUDL.mjs":{"imports":[],"exports":["DEFAULT_LIMITS","EMPTY_PARAMS","RouterError","UNKNOWN_ROUTE","constants","createLimits","errorCodes","events","freezeStateInPlace","plugins"],"inputs":{"src/constants.ts":{"bytesInOutput":2164},"src/helpers.ts":{"bytesInOutput":1670},"src/RouterError.ts":{"bytesInOutput":8509}},"bytes":12569},"dist/esm/validation.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/esm/validation.mjs":{"imports":[{"path":"dist/esm/chunk-QUUNDESP.mjs","kind":"import-statement"}],"exports":["getInternals"],"entryPoint":"src/validation.ts","inputs":{"src/validation.ts":{"bytesInOutput":0}},"bytes":82},"dist/esm/chunk-QUUNDESP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6356},"dist/esm/chunk-QUUNDESP.mjs":{"imports":[],"exports":["createInterceptable","createInterceptable2","getInternals","registerInternals"],"inputs":{"src/internals.ts":{"bytesInOutput":1151}},"bytes":1267}}}
@@ -1,3 +1,8 @@
1
+ import { DefaultDependencies, Router } from '@real-router/types';
2
+
3
+ type StaticPathEntries = Record<string, () => Promise<Record<string, string>[]>>;
4
+ declare function getStaticPaths<Dependencies extends DefaultDependencies = DefaultDependencies>(router: Router<Dependencies>, entries?: StaticPathEntries): Promise<string[]>;
5
+
1
6
  /**
2
7
  * XSS-safe JSON serialization for embedding data in HTML `<script>` tags.
3
8
  *
@@ -12,4 +17,4 @@
12
17
  */
13
18
  declare function serializeState(data: unknown): string;
14
19
 
15
- export { serializeState };
20
+ export { type StaticPathEntries, getStaticPaths, serializeState };
@@ -1 +1 @@
1
- function r(r){return void 0===r?"null":JSON.stringify(r).replaceAll("<",String.raw`\u003c`).replaceAll(">",String.raw`\u003e`).replaceAll("&",String.raw`\u0026`)}export{r as serializeState};//# sourceMappingURL=utils.mjs.map
1
+ import{getPluginApi as n}from"./chunk-HHIXK5UM.mjs";import"./chunk-5QXFUUDL.mjs";import"./chunk-QUUNDESP.mjs";function r(n){const t=[];for(const o of n.children.values())0===o.children.size?t.push(o.fullName):t.push(...r(o));return t}async function t(t,o){const e=r(n(t).getTree()),u=[];for(const n of e){const r=o?.[n];if(r){const o=await r();for(const r of o)u.push(t.buildPath(n,r))}else u.push(t.buildPath(n,{}))}return u}function o(n){return void 0===n?"null":JSON.stringify(n).replaceAll("<",String.raw`\u003c`).replaceAll(">",String.raw`\u003e`).replaceAll("&",String.raw`\u0026`)}export{t as getStaticPaths,o as serializeState};//# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/serializeState.ts"],"names":[],"mappings":";AAYO,SAAS,eAAe,IAAA,EAAuB;AACpD,EAAA,IAAI,SAAS,MAAA,EAAW;AACtB,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAK,SAAA,CAAU,IAAI,CAAA,CACvB,UAAA,CAAW,KAAK,MAAA,CAAO,GAAA,CAAA,MAAA,CAAW,CAAA,CAClC,UAAA,CAAW,KAAK,MAAA,CAAO,GAAA,CAAA,MAAA,CAAW,EAClC,UAAA,CAAW,GAAA,EAAK,OAAO,GAAA,CAAA,MAAA,CAAW,CAAA;AACvC","file":"utils.mjs","sourcesContent":["/**\n * XSS-safe JSON serialization for embedding data in HTML `<script>` tags.\n *\n * Escapes `<`, `>`, and `&` to their Unicode equivalents to prevent\n * injection via `</script>` or HTML entities inside inline scripts.\n *\n * @example\n * ```typescript\n * const json = serializeState({ name: \"home\", path: \"/\" });\n * const html = `<script>window.__STATE__=${json}</script>`;\n * ```\n */\nexport function serializeState(data: unknown): string {\n if (data === undefined) {\n return \"null\";\n }\n\n return JSON.stringify(data)\n .replaceAll(\"<\", String.raw`\\u003c`)\n .replaceAll(\">\", String.raw`\\u003e`)\n .replaceAll(\"&\", String.raw`\\u0026`);\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/getStaticPaths.ts","../../src/utils/serializeState.ts"],"names":[],"mappings":";AAUA,SAAS,kBAAkB,IAAA,EAA2B;AACpD,EAAA,MAAM,SAAmB,EAAC;AAE1B,EAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,QAAA,CAAS,MAAA,EAAO,EAAG;AAC1C,IAAA,IAAI,KAAA,CAAM,QAAA,CAAS,IAAA,KAAS,CAAA,EAAG;AAC7B,MAAA,MAAA,CAAO,IAAA,CAAK,MAAM,QAAQ,CAAA;AAAA,IAC5B,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,IAAA,CAAK,GAAG,iBAAA,CAAkB,KAAK,CAAC,CAAA;AAAA,IACzC;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;AAEA,eAAsB,cAAA,CAGpB,QACA,OAAA,EACmB;AACnB,EAAA,MAAM,IAAA,GAAO,YAAA,CAAa,MAAM,CAAA,CAAE,OAAA,EAAQ;AAC1C,EAAA,MAAM,UAAA,GAAa,kBAAkB,IAAI,CAAA;AACzC,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,KAAA,MAAW,aAAa,UAAA,EAAY;AAClC,IAAA,MAAM,OAAA,GAAU,UAAU,SAAS,CAAA;AAEnC,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,SAAA,GAAY,MAAM,OAAA,EAAQ;AAEhC,MAAA,KAAA,MAAW,UAAU,SAAA,EAAW;AAC9B,QAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,SAAA,EAAW,MAAM,CAAC,CAAA;AAAA,MAChD;AAAA,IACF,CAAA,MAAO;AACL,MAAA,KAAA,CAAM,KAAK,MAAA,CAAO,SAAA,CAAU,SAAA,EAAW,EAAE,CAAC,CAAA;AAAA,IAC5C;AAAA,EACF;AAEA,EAAA,OAAO,KAAA;AACT;;;ACrCO,SAAS,eAAe,IAAA,EAAuB;AACpD,EAAA,IAAI,SAAS,MAAA,EAAW;AACtB,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAK,SAAA,CAAU,IAAI,CAAA,CACvB,UAAA,CAAW,KAAK,MAAA,CAAO,GAAA,CAAA,MAAA,CAAW,CAAA,CAClC,UAAA,CAAW,KAAK,MAAA,CAAO,GAAA,CAAA,MAAA,CAAW,EAClC,UAAA,CAAW,GAAA,EAAK,OAAO,GAAA,CAAA,MAAA,CAAW,CAAA;AACvC","file":"utils.mjs","sourcesContent":["import { getPluginApi } from \"../api/getPluginApi\";\n\nimport type { DefaultDependencies, Router } from \"@real-router/types\";\nimport type { RouteTree } from \"route-tree\";\n\nexport type StaticPathEntries = Record<\n string,\n () => Promise<Record<string, string>[]>\n>;\n\nfunction getLeafRouteNames(node: RouteTree): string[] {\n const result: string[] = [];\n\n for (const child of node.children.values()) {\n if (child.children.size === 0) {\n result.push(child.fullName);\n } else {\n result.push(...getLeafRouteNames(child));\n }\n }\n\n return result;\n}\n\nexport async function getStaticPaths<\n Dependencies extends DefaultDependencies = DefaultDependencies,\n>(\n router: Router<Dependencies>,\n entries?: StaticPathEntries,\n): Promise<string[]> {\n const tree = getPluginApi(router).getTree();\n const leafRoutes = getLeafRouteNames(tree);\n const paths: string[] = [];\n\n for (const routeName of leafRoutes) {\n const entryFn = entries?.[routeName];\n\n if (entryFn) {\n const paramSets = await entryFn();\n\n for (const params of paramSets) {\n paths.push(router.buildPath(routeName, params));\n }\n } else {\n paths.push(router.buildPath(routeName, {}));\n }\n }\n\n return paths;\n}\n","/**\n * XSS-safe JSON serialization for embedding data in HTML `<script>` tags.\n *\n * Escapes `<`, `>`, and `&` to their Unicode equivalents to prevent\n * injection via `</script>` or HTML entities inside inline scripts.\n *\n * @example\n * ```typescript\n * const json = serializeState({ name: \"home\", path: \"/\" });\n * const html = `<script>window.__STATE__=${json}</script>`;\n * ```\n */\nexport function serializeState(data: unknown): string {\n if (data === undefined) {\n return \"null\";\n }\n\n return JSON.stringify(data)\n .replaceAll(\"<\", String.raw`\\u003c`)\n .replaceAll(\">\", String.raw`\\u003e`)\n .replaceAll(\"&\", String.raw`\\u0026`);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@real-router/core",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
4
4
  "type": "commonjs",
5
5
  "description": "A simple, powerful, view-agnostic, modular and extensible router",
6
6
  "main": "./dist/cjs/index.js",
@@ -0,0 +1,50 @@
1
+ import { getPluginApi } from "../api/getPluginApi";
2
+
3
+ import type { DefaultDependencies, Router } from "@real-router/types";
4
+ import type { RouteTree } from "route-tree";
5
+
6
+ export type StaticPathEntries = Record<
7
+ string,
8
+ () => Promise<Record<string, string>[]>
9
+ >;
10
+
11
+ function getLeafRouteNames(node: RouteTree): string[] {
12
+ const result: string[] = [];
13
+
14
+ for (const child of node.children.values()) {
15
+ if (child.children.size === 0) {
16
+ result.push(child.fullName);
17
+ } else {
18
+ result.push(...getLeafRouteNames(child));
19
+ }
20
+ }
21
+
22
+ return result;
23
+ }
24
+
25
+ export async function getStaticPaths<
26
+ Dependencies extends DefaultDependencies = DefaultDependencies,
27
+ >(
28
+ router: Router<Dependencies>,
29
+ entries?: StaticPathEntries,
30
+ ): Promise<string[]> {
31
+ const tree = getPluginApi(router).getTree();
32
+ const leafRoutes = getLeafRouteNames(tree);
33
+ const paths: string[] = [];
34
+
35
+ for (const routeName of leafRoutes) {
36
+ const entryFn = entries?.[routeName];
37
+
38
+ if (entryFn) {
39
+ const paramSets = await entryFn();
40
+
41
+ for (const params of paramSets) {
42
+ paths.push(router.buildPath(routeName, params));
43
+ }
44
+ } else {
45
+ paths.push(router.buildPath(routeName, {}));
46
+ }
47
+ }
48
+
49
+ return paths;
50
+ }
@@ -1 +1,5 @@
1
+ export { getStaticPaths } from "./getStaticPaths";
2
+
1
3
  export { serializeState } from "./serializeState";
4
+
5
+ export type { StaticPathEntries } from "./getStaticPaths";
@@ -1 +0,0 @@
1
- import{registerInternals as t,createInterceptable as e,createInterceptable2 as n,getInternals as i}from"./chunk-QUUNDESP.mjs";import{logger as s}from"@real-router/logger";import{FSM as r}from"@real-router/fsm";var a=Object.freeze({ROUTER_NOT_STARTED:"NOT_STARTED",NO_START_PATH_OR_STATE:"NO_START_PATH_OR_STATE",ROUTER_ALREADY_STARTED:"ALREADY_STARTED",ROUTE_NOT_FOUND:"ROUTE_NOT_FOUND",SAME_STATES:"SAME_STATES",CANNOT_DEACTIVATE:"CANNOT_DEACTIVATE",CANNOT_ACTIVATE:"CANNOT_ACTIVATE",TRANSITION_ERR:"TRANSITION_ERR",TRANSITION_CANCELLED:"CANCELLED",ROUTER_DISPOSED:"DISPOSED",PLUGIN_CONFLICT:"PLUGIN_CONFLICT"}),o="@@router/UNKNOWN_ROUTE",c={UNKNOWN_ROUTE:o},u="onStart",l="onStop",h="onTransitionStart",d="onTransitionCancel",f="onTransitionSuccess",p="onTransitionError",m={ROUTER_START:"$start",ROUTER_STOP:"$stop",TRANSITION_START:"$$start",TRANSITION_CANCEL:"$$cancel",TRANSITION_SUCCESS:"$$success",TRANSITION_ERROR:"$$error"},g={maxDependencies:100,maxPlugins:50,maxListeners:1e4,warnListeners:1e3,maxEventDepth:5,maxLifecycleHandlers:200},v=Object.freeze({});function S(t,e,n=100){const i=new Set,s=[t];let r=t;for(;e[r];){const t=e[r];if(i.has(t)){const e=s.indexOf(t),n=[...s.slice(e),t];throw new Error(`Circular forwardTo: ${n.join(" → ")}`)}if(i.add(r),s.push(t),r=t,s.length>n)throw new Error(`forwardTo chain exceeds maximum depth (${n}): ${s.join(" → ")}`)}return r}var T=new WeakSet;function y(t){if(null!==t&&"object"==typeof t&&!Object.isFrozen(t))if(Object.freeze(t),Array.isArray(t))for(const e of t)y(e);else for(const e in t)y(t[e])}function w(t){return t?(T.has(t)||(y(t),T.add(t)),t):t}var b=new Set(Object.values(a)),N=new Set(["code","segment","path","redirect"]),A=new Set(["setCode","setErrorInstance","setAdditionalFields","hasField","getField","toJSON"]),O=class extends Error{segment;path;redirect;code;constructor(t,{message:e,segment:n,path:i,redirect:s,...r}={}){super(e??t),this.code=t,this.segment=n,this.path=i,this.redirect=s?function(t){if(!t)return t;if(null===(e=t)||"object"!=typeof e||"string"!=typeof e.name||"string"!=typeof e.path||"object"!=typeof e.params||null===e.params)throw new TypeError("[deepFreezeState] Expected valid State object, got: "+typeof t);var e;const n=structuredClone(t),i=new WeakSet;return function t(e){if(null===e||"object"!=typeof e)return;if(i.has(e))return;i.add(e),Object.freeze(e);const n=Array.isArray(e)?e:Object.values(e);for(const e of n)t(e)}(n),n}(s):void 0;for(const[t,e]of Object.entries(r)){if(N.has(t))throw new TypeError(`[RouterError] Cannot set reserved property "${t}"`);A.has(t)||(this[t]=e)}}setCode(t){this.code=t,b.has(this.message)&&(this.message=t)}setErrorInstance(t){if(!t)throw new TypeError("[RouterError.setErrorInstance] err parameter is required and must be an Error instance");this.message=t.message,this.cause=t.cause,this.stack=t.stack??""}setAdditionalFields(t){for(const[e,n]of Object.entries(t)){if(N.has(e))throw new TypeError(`[RouterError.setAdditionalFields] Cannot set reserved property "${e}"`);A.has(e)||(this[e]=n)}}hasField(t){return t in this}getField(t){return this[t]}toJSON(){const t={code:this.code,message:this.message};void 0!==this.segment&&(t.segment=this.segment),void 0!==this.path&&(t.path=this.path),void 0!==this.redirect&&(t.redirect=this.redirect);const e=new Set(["code","message","segment","path","redirect","stack"]);for(const n in this)Object.hasOwn(this,n)&&!e.has(n)&&(t[n]=this[n]);return t}},E={maxListeners:0,warnListeners:0,maxEventDepth:0},P=class extends Error{},R=class{#t=new Map;#e=null;#n=E;#i;#s;constructor(t){t?.limits&&(this.#n=t.limits),this.#i=t?.onListenerError??null,this.#s=t?.onListenerWarn??null}static validateCallback(t,e){if("function"!=typeof t)throw new TypeError(`Expected callback to be a function for event ${e}`)}setLimits(t){this.#n=t}on(t,e){const n=this.#r(t);if(n.has(e))throw new Error(`Duplicate listener for "${t}"`);const{maxListeners:i,warnListeners:s}=this.#n;if(0!==s&&n.size===s&&this.#s?.(t,s),0!==i&&n.size>=i)throw new Error(`Listener limit (${i}) reached for "${t}"`);return n.add(e),()=>{this.off(t,e)}}off(t,e){this.#t.get(t)?.delete(e)}emit(t,e,n,i,s){const r=this.#t.get(t);if(!r||0===r.size)return;const a=arguments.length-1;0!==this.#n.maxEventDepth?this.#a(r,t,a,e,n,i,s):this.#o(r,t,a,e,n,i,s)}clearAll(){this.#t.clear(),this.#e=null}listenerCount(t){return this.#t.get(t)?.size??0}#o(t,e,n,i,s,r,a){if(1===t.size){const[o]=t;try{this.#c(o,n,i,s,r,a)}catch(t){this.#i?.(e,t)}return}const o=[...t];for(const t of o)try{this.#c(t,n,i,s,r,a)}catch(t){this.#i?.(e,t)}}#c(t,e,n,i,s,r){switch(e){case 0:t();break;case 1:t(n);break;case 2:t(n,i);break;case 3:t(n,i,s);break;default:t(n,i,s,r)}}#a(t,e,n,i,s,r,a){this.#e??=new Map;const o=this.#e,c=o.get(e)??0;if(c>=this.#n.maxEventDepth)throw new P(`Maximum recursion depth (${this.#n.maxEventDepth}) exceeded for event: ${e}`);try{o.set(e,c+1);const u=1===t.size?t:[...t];for(const t of u)try{this.#c(t,n,i,s,r,a)}catch(t){if(t instanceof P)throw t;this.#i?.(e,t)}}finally{o.set(e,o.get(e)-1)}}#r(t){const e=this.#t.get(t);if(e)return e;const n=new Set;return this.#t.set(t,n),n}},C="IDLE",D="STARTING",F="READY",j="TRANSITIONING",L="DISPOSED",I="START",_="STARTED",U="NAVIGATE",$="COMPLETE",M="FAIL",B="CANCEL",x="STOP",k="DISPOSE",z={initial:C,context:null,transitions:{[C]:{[I]:D,[k]:L},[D]:{[_]:F,[M]:C},[F]:{[U]:j,[M]:F,[x]:C},[j]:{[U]:j,[$]:F,[B]:F,[M]:F},[L]:{}}};function G(t,e){for(const n of t){if(null===n||"object"!=typeof n||Array.isArray(n))throw new TypeError("route must be a non-array object");e?.routes.guardRouteCallbacks(n),e?.routes.guardNoAsyncCallbacks(n);const t=n.children;t&&G(t,e)}}var q={defaultRoute:"",defaultParams:{},trailingSlash:"preserve",queryParamsMode:"loose",queryParams:{arrayFormat:"none",booleanFormat:"none",nullFormat:"default"},urlParamsEncoding:"default",allowNotFound:!0,rewritePathOnMatch:!0};function W(t){Object.freeze(t);for(const e of Object.keys(t)){const n=t[e];n&&"object"==typeof n&&n.constructor===Object&&W(n)}return t}function V(t,e){return"function"==typeof t?t(e):t}var Q=class{#u;constructor(t={}){this.#u=W({...q,...t})}static validateOptionsIsObject(t){!function(t){if(!t||"object"!=typeof t||Array.isArray(t))throw new TypeError("[router.constructor] options must be a plain object")}(t)}get(){return this.#u}};function K(t,e){return t===e||!(!Array.isArray(t)||!Array.isArray(e))&&t.length===e.length&&t.every((t,n)=>K(t,e[n]))}var H=class{#l=0;#h=void 0;#d=void 0;#f;#p=new Map;get(){return this.#h}set(t){this.#d=this.#h,this.#h=t?w(t):void 0}getPrevious(){return this.#d}reset(){this.#h=void 0,this.#d=void 0,this.#p.clear(),this.#l=0}setDependencies(t){this.#f=t}makeState(t,e,n,i,s,r){const a=i?{id:s??++this.#l,params:i}:void 0,o=this.#f.getDefaultParams();let c;c=Object.hasOwn(o,t)?{...o[t],...e}:e&&e!==v?{...e}:v;const u={name:t,params:c,path:n??this.#f.buildPath(t,e),meta:a};return r?u:w(u)}areStatesEqual(t,e,n=!0){if(!t||!e)return!!t==!!e;if(t.name!==e.name)return!1;if(n){const n=t.meta?.params??e.meta?.params;return(n?function(t){const e=[];for(const n in t){const i=t[n];for(const t in i)"url"===i[t]&&e.push(t)}return e}(n):this.#m(t.name)).every(n=>K(t.params[n],e.params[n]))}const i=Object.keys(t.params),s=Object.keys(e.params);return i.length===s.length&&i.every(n=>n in e.params&&K(t.params[n],e.params[n]))}#m(t){const e=this.#p.get(t);if(void 0!==e)return e;const n=this.#f.getUrlParams(t);return this.#p.set(t,n),n}},J={[u]:m.ROUTER_START,[l]:m.ROUTER_STOP,[f]:m.TRANSITION_SUCCESS,[h]:m.TRANSITION_START,[p]:m.TRANSITION_ERROR,[d]:m.TRANSITION_CANCEL},Y=Object.keys(J),X="router.usePlugin",Z=class t{#g=new Set;#v=new Set;#f;#S=g;#T=null;static validatePlugin(t){!function(t){if(!t||"object"!=typeof t||Array.isArray(t))throw new TypeError("[router.usePlugin] Plugin factory must return an object, got "+typeof t);if("function"==typeof t.then)throw new TypeError("[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.")}(t)}static validateNoDuplicatePlugins(t,e){for(const n of t)if(e(n))throw new Error("[router.usePlugin] Plugin factory already registered. To re-register, first unsubscribe the existing plugin.")}setDependencies(t){this.#f=t}setLimits(t){this.#S=t,this.#S}setValidatorGetter(t){this.#T=t}count(){return this.#g.size}use(...t){if(this.#T?.()?.plugins.validateCountThresholds(this.#g.size+t.length),1===t.length){const e=t[0],n=this.#y(e);this.#g.add(e);let i=!1;const r=()=>{if(!i){i=!0,this.#g.delete(e),this.#v.delete(r);try{n()}catch(t){s.error(X,"Error during cleanup:",t)}}};return this.#v.add(r),r}const e=this.#w(t),n=[];try{for(const t of e){const e=this.#y(t);n.push({factory:t,cleanup:e})}}catch(t){for(const{cleanup:t}of n)try{t()}catch(t){s.error(X,"Cleanup error:",t)}throw t}for(const{factory:t}of n)this.#g.add(t);let i=!1;const r=()=>{if(!i){i=!0,this.#v.delete(r);for(const{factory:t}of n)this.#g.delete(t);for(const{cleanup:t}of n)try{t()}catch(t){s.error(X,"Error during cleanup:",t)}}};return this.#v.add(r),r}getAll(){return[...this.#g]}has(t){return this.#g.has(t)}disposeAll(){for(const t of this.#v)t();this.#g.clear(),this.#v.clear()}#w(t){const e=new Set;for(const n of t)e.has(n)?this.#T?.()?.plugins.warnBatchDuplicates(t):e.add(n);return e}#y(e){const n=this.#f.compileFactory(e);t.validatePlugin(n),this.#T?.()?.plugins.validatePluginKeys(n),Object.freeze(n);const i=[];for(const t of Y)t in n&&("function"==typeof n[t]?(i.push(this.#f.addEventListener(J[t],n[t])),"onStart"===t&&this.#f.canNavigate()&&this.#T?.()?.plugins.warnPluginAfterStart(t)):this.#T?.()?.plugins.warnPluginMethodType(t));return()=>{for(const t of i)t();"function"==typeof n.teardown&&n.teardown()}}},tt=class{#b=new Map;#N=new Map;#A=new Map;#O=new Map;#E=[this.#A,this.#O];#P=new Set;#R=new Set;#C=new Set;#f;#S=g;#T=null;setDependencies(t){this.#f=t}setLimits(t){this.#S=t,this.#S}setValidatorGetter(t){this.#T=t}getHandlerCount(t){return"activate"===t?this.#N.size:this.#b.size}addCanActivate(t,e,n=!1){n?this.#R.add(t):this.#R.delete(t);const i=this.#N.has(t);this.#D("activate",t,e,this.#N,this.#O,"canActivate",i)}addCanDeactivate(t,e,n=!1){n?this.#C.add(t):this.#C.delete(t);const i=this.#b.has(t);this.#D("deactivate",t,e,this.#b,this.#A,"canDeactivate",i)}clearCanActivate(t){this.#N.delete(t),this.#O.delete(t),this.#R.delete(t)}clearCanDeactivate(t){this.#b.delete(t),this.#A.delete(t),this.#C.delete(t)}clearAll(){this.#N.clear(),this.#O.clear(),this.#b.clear(),this.#A.clear(),this.#R.clear(),this.#C.clear()}clearDefinitionGuards(){for(const t of this.#R)this.#N.delete(t),this.#O.delete(t);for(const t of this.#C)this.#b.delete(t),this.#A.delete(t);this.#R.clear(),this.#C.clear()}getFactories(){const t={},e={};for(const[e,n]of this.#b)t[e]=n;for(const[t,n]of this.#N)e[t]=n;return[t,e]}getFunctions(){return this.#E}canNavigateTo(t,e,n,i){for(const e of t)if(!this.#F(this.#A,e,n,i,"canNavigateTo"))return!1;for(const t of e)if(!this.#F(this.#O,t,n,i,"canNavigateTo"))return!1;return!0}#D(t,e,n,i,s,r,a){a?this.#T?.()?.lifecycle.warnOverwrite(e,t,r):this.#T?.()?.lifecycle.validateCountThresholds(i.size+1,r);const o="boolean"==typeof n?function(t){const e=()=>t;return()=>e}(n):n;i.set(e,o),this.#P.add(e);try{const t=this.#f.compileFactory(o);if("function"!=typeof t)throw new TypeError(`[router.${r}] Factory must return a function, got ${typeof t}`);s.set(e,t)}catch(t){throw i.delete(e),t}finally{this.#P.delete(e)}}#F(t,e,n,i,s){const r=t.get(e);if(!r)return!0;try{const t=r(n,i);return"boolean"==typeof t?t:(this.#T?.()?.lifecycle.warnAsyncGuardSync(e,s),!1)}catch{return!1}}};function et(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function nt(t){const e={name:t.name,path:t.path};return t.children&&(e.children=t.children.map(t=>nt(t))),e}function it(t,e,n=""){for(let i=0;i<t.length;i++){const s=t[i],r=n?`${n}.${s.name}`:s.name;if(r===e)return t.splice(i,1),!0;if(s.children&&e.startsWith(`${r}.`)&&it(s.children,e,r))return!0}return!1}function st(t,e){for(const n of Object.keys(t))e(n)&&delete t[n]}function rt(t){return`(${t.replaceAll(/(^<|>$)/g,"")})`}var at=/([:*])([^/?<]+)(<[^>]+>)?(\?)?/g,ot=/([:*][^/?<]+(?:<[^>]+>)?)\?(?=\/|$)/g,ct=/\?(.+)$/,ut=/[^\w!$'()*+,.:;|~-]/gu,lt=/[^\w!$'()*+,.:;|~-]/u,ht={default:t=>lt.test(t)?t.replaceAll(ut,t=>encodeURIComponent(t)):t,uri:encodeURI,uriComponent:encodeURIComponent,none:t=>t},dt={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:t=>t};function ft(){return{staticChildren:Object.create(null),paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function pt(t){return t.length>1&&t.endsWith("/")?t.slice(0,-1):t}function mt(t){const e={};if(0===t.length)return e;const n=t.split("&");for(const t of n){const n=t.indexOf("=");-1===n?e[t]="":e[t.slice(0,n)]=t.slice(n+1)}return e}function gt(t){const e=[];for(const n of Object.keys(t)){const i=t[n],s=encodeURIComponent(n);e.push(""===i?s:`${s}=${encodeURIComponent(String(i))}`)}return e.join("&")}function vt(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function St(t){let e=0;for(;e<t.length;)if("%"===t[e]){if(e+2>=t.length)return!1;const n=t.codePointAt(e+1)??0,i=t.codePointAt(e+2)??0;if(!vt(n)||!vt(i))return!1;e+=3}else e++;return!0}var Tt=/<[^>]*>/g;function yt(t,e,n,i,s){const r=""===e.fullName;r||i.push(e);const a=e.absolute,o=e.paramMeta.pathPattern,c=a&&o.startsWith("~")?o.slice(1):o,u=(a?c:o).replaceAll(Tt,""),l=a?u:(d=u,""===(h=n)?d:""===d?h:h+d);var h,d;let f=s;r||(f=function(t,e,n,i,s,r){const a=(g=i,pt(n)===pt(g)),o=Object.freeze([...s]),c=function(t){const e={};for(const n of t)e[n.fullName]=n.paramTypeMap;return Object.freeze(e)}(o),u=pt(n),l=function(t,e){const n=[];t.length>0&&n.push(...t);for(const t of e)t.paramMeta.queryParams.length>0&&n.push(...t.paramMeta.queryParams);return n}(t.rootQueryParams,s),h=function(t){const e=new Map;for(const n of t)for(const[t,i]of n.paramMeta.constraintPatterns)e.set(t,i);return e}(s),d=a?pt(i):u,{buildStaticParts:f,buildParamSlots:p}=function(t,e,n){const i=new Set,s=new Set;for(const t of e){for(const e of t.paramMeta.urlParams)i.add(e);for(const e of t.paramMeta.spatParams)s.add(e)}if(0===i.size)return{buildStaticParts:[t],buildParamSlots:[]};const r=[],a=[],o=/[:*]([\w]+)(?:<[^>]*>)?(\?)?/gu;let c,u=0;for(;null!==(c=o.exec(t));){const e=c[1],i="?"===c[2];r.push(t.slice(u,c.index));const o=s.has(e);a.push({paramName:e,isOptional:i,encoder:o?t=>{const e=ht[n],i=t.split("/");let s=e(i[0]);for(let t=1;t<i.length;t++)s+=`/${e(i[t])}`;return s}:ht[n]}),u=c.index+c[0].length}return r.push(t.slice(u)),{buildStaticParts:r,buildParamSlots:a}}(d,a?s.slice(0,-1):s,t.options.urlParamsEncoding),m={name:e.fullName,parent:r,depth:s.length-1,matchSegments:o,meta:c,declaredQueryParams:l,declaredQueryParamsSet:new Set(l),hasTrailingSlash:n.length>1&&n.endsWith("/"),constraintPatterns:h,hasConstraints:h.size>0,buildStaticParts:f,buildParamSlots:p,buildParamNamesSet:new Set(p.map(t=>t.paramName))};var g;return t.routesByName.set(e.fullName,m),t.segmentsByName.set(e.fullName,o),t.metaByName.set(e.fullName,c),a?function(t,e,n){var i,s;i=e,(function(t,e,n){const i=pt(n);if("/"===i||""===i)return e;let s=e,r=1;const a=i.length;for(;r<=a;){const e=i.indexOf("/",r),n=-1===e?a:e;if(n<=r)break;s=bt(t,s,i.slice(r,n)),r=n+1}return s}(s=t,s.root,n)).slashChildRoute=i;const r=pt(n),a=t.options.caseSensitive?r:r.toLowerCase();t.staticCache.has(a)&&t.staticCache.set(a,e)}(t,m,i):function(t,e,n,i,s){if(function(t,e,n){const i=pt(n);"/"!==i?wt(t,t.root,i,1,e):t.root.route=e}(t,e,n),0===s.paramMeta.urlParams.length){const n=t.options.caseSensitive?i:i.toLowerCase();t.staticCache.set(n,e)}}(t,m,n,u,e),m}(t,e,l,a?"":n,i,s));for(const n of e.children.values())yt(t,n,l,i,f);r||i.pop()}function wt(t,e,n,i,s){const r=n.length;for(;i<=r;){const a=n.indexOf("/",i),o=-1===a?r:a,c=n.slice(i,o);if(c.endsWith("?")){const i=c.slice(1).replaceAll(Tt,"").replace(/\?$/,"");return e.paramChild??={node:ft(),name:i},wt(t,e.paramChild.node,n,o+1,s),void(o>=r?e.route??=s:wt(t,e,n,o+1,s))}e=bt(t,e,c),i=o+1}e.route=s}function bt(t,e,n){if(n.startsWith("*")){const t=n.slice(1);return e.splatChild??={node:ft(),name:t},e.splatChild.node}if(n.startsWith(":")){const t=n.slice(1).replaceAll(Tt,"").replace(/\?$/,"");return e.paramChild??={node:ft(),name:t},e.paramChild.node}const i=t.options.caseSensitive?n:n.toLowerCase();return i in e.staticChildren||(e.staticChildren[i]=ft()),e.staticChildren[i]}var Nt=/[\u0080-\uFFFF]/,At=class{get options(){return this.#t}#t;#e=ft();#s=new Map;#r=new Map;#n=new Map;#a=new Map;#i="";#j=[];constructor(t){this.#t={caseSensitive:t?.caseSensitive??!0,strictTrailingSlash:t?.strictTrailingSlash??!1,strictQueryParams:t?.strictQueryParams??!1,urlParamsEncoding:t?.urlParamsEncoding??"default",parseQueryString:t?.parseQueryString??mt,buildQueryString:t?.buildQueryString??gt}}registerTree(t){this.#j=t.paramMeta.queryParams,yt({root:this.#e,options:this.#t,routesByName:this.#s,segmentsByName:this.#r,metaByName:this.#n,staticCache:this.#a,rootQueryParams:this.#j},t,"",[],null)}match(t){const e=this.#c(t);if(!e)return;const[n,i,s]=e,r=this.#t.caseSensitive?i:i.toLowerCase(),a=this.#a.get(r);if(a){if(this.#t.strictTrailingSlash&&!this.#o(n,a))return;return this.#L(a,{},s)}const o={},c=this.#I(i,o);return!c||this.#t.strictTrailingSlash&&!this.#o(n,c)||c.hasConstraints&&!this.#_(o,c)||!this.#U(o)?void 0:this.#L(c,o,s)}buildPath(t,e,n){const i=this.#s.get(t);if(!i)throw new Error(`[SegmentMatcher.buildPath] '${t}' is not defined`);i.hasConstraints&&e&&this.#$(i,t,e);const s=this.#M(i,e),r=this.#B(s,n?.trailingSlash),a=this.#x(i,e,n?.queryParamsMode);return r+(a?`?${a}`:"")}getSegmentsByName(t){return this.#r.get(t)}getMetaByName(t){return this.#n.get(t)}hasRoute(t){return this.#s.has(t)}setRootPath(t){this.#i=t}#$(t,e,n){for(const[i,s]of t.constraintPatterns){const t=n[i];if(null!=t){const n="object"==typeof t?JSON.stringify(t):String(t);if(!s.pattern.test(n))throw new Error(`[SegmentMatcher.buildPath] '${e}' — param '${i}' value '${n}' does not match constraint '${s.constraint}'`)}}}#M(t,e){const n=t.buildStaticParts,i=t.buildParamSlots;if(0===i.length)return this.#i+n[0];let s=this.#i+n[0];for(const[t,r]of i.entries()){const i=e?.[r.paramName];if(null==i){if(!r.isOptional)throw new Error(`[SegmentMatcher.buildPath] Missing required param '${r.paramName}'`);s.length>1&&s.endsWith("/")&&(s=s.slice(0,-1)),s+=n[t+1];continue}const a="object"==typeof i?JSON.stringify(i):String(i);s+=r.encoder(a)+n[t+1]}return s}#B(t,e){return"always"!==e||t.endsWith("/")?"never"===e&&"/"!==t&&t.endsWith("/")?t.slice(0,-1):t:`${t}/`}#x(t,e,n){if(!e)return"";const i={};let s=!1;for(const n of t.declaredQueryParams)n in e&&(i[n]=e[n],s=!0);if("loose"===n)for(const n in e)!Object.hasOwn(e,n)||t.declaredQueryParamsSet.has(n)||t.buildParamNamesSet.has(n)||(i[n]=e[n],s=!0);return s?this.#t.buildQueryString(i):""}#c(t){if(""===t&&(t="/"),!t.startsWith("/"))return;const e=t.indexOf("#");if(-1!==e&&(t=t.slice(0,e)),Nt.test(t))return;if(this.#i.length>0){if(!t.startsWith(this.#i))return;t=t.slice(this.#i.length)||"/"}const n=t.indexOf("?"),i=-1===n?t:t.slice(0,n),s=-1===n?void 0:t.slice(n+1);return i.includes("//")?void 0:[i,pt(i),s]}#L(t,e,n){if(void 0!==n){const i=this.#t.parseQueryString(n);if(this.#t.strictQueryParams){const e=t.declaredQueryParamsSet;for(const t of Object.keys(i))if(!e.has(t))return}for(const t of Object.keys(i))e[t]=i[t]}return{segments:t.matchSegments,params:e,meta:t.meta}}#o(t,e){return(t.length>1&&t.endsWith("/"))===e.hasTrailingSlash}#I(t,e){return 1===t.length?this.#e.slashChildRoute??this.#e.route:this.#k(this.#e,t,1,e)}#k(t,e,n,i){let s=t;const r=e.length;for(;n<=r;){const t=e.indexOf("/",n),a=-1===t?r:t,o=e.slice(n,a),c=this.#t.caseSensitive?o:o.toLowerCase();let u;if(c in s.staticChildren)u=s.staticChildren[c];else{if(!s.paramChild){if(s.splatChild){const t={},r=this.#k(s.splatChild.node,e,n,t);return r?(Object.assign(i,t),r):(i[s.splatChild.name]=e.slice(n),s.splatChild.node.route)}return}u=s.paramChild.node,i[s.paramChild.name]=o}s=u,n=a+1}return s.slashChildRoute??s.route}#U(t){const e=this.#t.urlParamsEncoding;if("none"===e)return!0;const n=dt[e];for(const e in t){const i=t[e];if(i.includes("%")){if(!St(i))return!1;t[e]=n(i)}}return!0}#_(t,e){for(const[n,i]of e.constraintPatterns)if(!i.pattern.test(t[n]))return!1;return!0}},Ot=t=>{const e=t.indexOf("%"),n=t.indexOf("+");if(-1===e&&-1===n)return t;const i=-1===n?t:t.split("+").join(" ");return-1===e?i:decodeURIComponent(i)},Et=t=>{const e=typeof t;if("string"!==e&&"number"!==e&&"boolean"!==e)throw new TypeError(`[search-params] Array element must be a string, number, or boolean — received ${"object"===e&&null===t?"null":e}`);return encodeURIComponent(t)},Pt={none:{encodeArray:(t,e)=>e.map(e=>`${t}=${Et(e)}`).join("&")},brackets:{encodeArray:(t,e)=>e.map(e=>`${t}[]=${Et(e)}`).join("&")},index:{encodeArray:(t,e)=>e.map((e,n)=>`${t}[${n}]=${Et(e)}`).join("&")},comma:{encodeArray:(t,e)=>`${t}=${e.map(t=>Et(t)).join(",")}`}},Rt={none:{encode:(t,e)=>`${t}=${e}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:t=>t},string:{encode:(t,e)=>`${t}=${e}`,decodeUndefined:()=>null,decodeRaw:t=>"true"===t||"false"!==t&&null,decodeValue:t=>t},"empty-true":{encode:(t,e)=>e?t:`${t}=false`,decodeUndefined:()=>!0,decodeRaw:()=>null,decodeValue:t=>t}},Ct={default:{encode:t=>t},hidden:{encode:()=>""}},Dt=(t,e,n)=>({boolean:Rt[e],null:Ct[n],array:Pt[t]}),Ft={arrayFormat:"none",booleanFormat:"none",nullFormat:"default",strategies:{boolean:Rt.none,null:Ct.default,array:Pt.none}},jt=t=>{if(!t||void 0===t.arrayFormat&&void 0===t.booleanFormat&&void 0===t.nullFormat)return Ft;const e=t.arrayFormat??"none",n=t.booleanFormat??"none",i=t.nullFormat??"default";return{arrayFormat:e,booleanFormat:n,nullFormat:i,strategies:Dt(e,n,i)}},Lt=t=>encodeURIComponent(t),It=(t,e,n)=>{const i=Lt(t);switch(typeof e){case"string":case"number":default:return`${i}=${Lt(e)}`;case"boolean":return n.strategies.boolean.encode(i,e);case"object":return null===e?n.strategies.null.encode(i):Array.isArray(e)?n.strategies.array.encodeArray(i,e):`${i}=${Lt(e)}`}};function _t(t,e,n,i,s){const r=t.indexOf("=",e),a=-1!==r&&r<n,o=t.slice(e,a?r:n),{name:c,hasBrackets:u}=function(t){const e=t.indexOf("[");return-1===e?{name:t,hasBrackets:!1}:{name:t.slice(0,e),hasBrackets:!0}}(o);var l,h,d,f,p;!function(t,e,n,i){const s=t[e];void 0===s?t[e]=i?[n]:n:Array.isArray(s)?s.push(n):t[e]=[s,n]}(i,Ot(c),(l=t,h=r,d=n,f=a,p=s,p?((t,e)=>{if(void 0===t)return e.boolean.decodeUndefined();const n=e.boolean.decodeRaw(t);if(null!==n)return n;const i=Ot(t);return e.boolean.decodeValue(i)})(f?l.slice(h+1,d):void 0,p):f?Ot(l.slice(h+1,d)):null),u)}function Ut(t,e){const n=t.path,i=n.startsWith("~"),s=i?n.slice(1):n,r={name:t.name,path:s,absolute:i,children:[],parent:e,nonAbsoluteChildren:[],fullName:""};if(t.children)for(const e of t.children){const t=Ut(e,r);r.children.push(t)}return r}function $t(t,e){return t.endsWith("/")&&e.startsWith("/")?t+e.slice(1):t+e}function Mt(t){const e=new Map;for(const n of t)e.set(n.name,n);return e}function Bt(t,e,n){const i=function(t){const e=[],n=[],i=[],s={},r=new Map,a=t.replaceAll(ot,"$1"),o=ct.exec(a);if(null!==o){const e=o[1].split("&");for(const t of e){const e=t.trim();e.length>0&&(n.push(e),s[e]="query")}t=t.slice(0,o.index)}let c;for(;null!==(c=at.exec(t));){const t=c[2],n=c[3];if("*"===c[1])i.push(t),e.push(t),s[t]="url";else if(e.push(t),s[t]="url",n){const e=`^${rt(n)}$`;r.set(t,{pattern:new RegExp(e),constraint:n})}}return{urlParams:e,queryParams:n,spatParams:i,paramTypeMap:s,constraintPatterns:r,pathPattern:t}}(t.path),s=function(t){const e={};for(const n of t.urlParams)e[n]="url";for(const n of t.queryParams)e[n]="query";return e}(i),r={name:t.name,path:t.path,absolute:t.absolute,parent:e,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:"",staticPath:null,paramTypeMap:s};var a;r.fullName=(a=r,a.parent?.name?`${a.parent.fullName}.${a.name}`:a.name);const{childrenMap:o,nonAbsoluteChildren:c}=function(t,e,n){const i=[],s=[];for(const r of t){const t=Bt(r,e,n);i.push(t),t.absolute||s.push(t)}return{childrenMap:Mt(i),nonAbsoluteChildren:s}}(t.children,r,n);return r.children=o,r.nonAbsoluteChildren=c,r.staticPath=function(t){if(!t.path)return null;const{urlParams:e,queryParams:n,spatParams:i}=t.paramMeta;if(e.length>0||n.length>0||i.length>0)return null;const s=[];let r=t.parent;for(;r?.path;)s.unshift(r),r=r.parent;let a="";for(const t of s){const{urlParams:e,queryParams:n,spatParams:i}=t.paramMeta;if(e.length>0||n.length>0||i.length>0)return null;a=t.absolute?t.path:$t(a,t.path)}return t.absolute?t.path:$t(a,t.path)}(r),n&&(Object.freeze(c),Object.freeze(s),Object.freeze(r.children),Object.freeze(r)),r}function xt(t,e,n,i){return function(t,e){const n=[];return{add(t){return n.push(t),this},addMany(t){return n.push(...t),this},build:i=>function(t,e=!0){return Bt(t,null,e)}(function(t,e,n){const i=Ut({name:t,path:e},null);for(const t of n){const e=Ut(t,i);i.children.push(e)}return i}(t,e,n),!i?.skipFreeze)}}(t,e).addMany(n).build(i)}function kt(t){const e={name:t.name,path:t.absolute?`~${t.path}`:t.path};return t.children.size>0&&(e.children=[...t.children.values()].map(t=>kt(t))),e}function zt(t){return[...t.children.values()].map(t=>kt(t))}function Gt(t){const e=t?.queryParams;return new At({...void 0===t?.caseSensitive?void 0:{caseSensitive:t.caseSensitive},...void 0===t?.strictTrailingSlash?void 0:{strictTrailingSlash:t.strictTrailingSlash},...void 0===t?.strictQueryParams?void 0:{strictQueryParams:t.strictQueryParams},...void 0===t?.urlParamsEncoding?void 0:{urlParamsEncoding:t.urlParamsEncoding},parseQueryString:t=>((t,e)=>{const n=(t=>{const e=t.indexOf("?");return-1===e?t:t.slice(e+1)})(t);if(""===n||"?"===n)return{};if(!e)return function(t){const e={};return function(t,e){let n=0;const i=t.length;for(;n<i;){let s=t.indexOf("&",n);-1===s&&(s=i),_t(t,n,s,e),n=s+1}}(t,e),e}(n);const i=jt(e),s={};let r=0;const a=n.length;for(;r<a;){let t=n.indexOf("&",r);-1===t&&(t=a),_t(n,r,t,s,i.strategies),r=t+1}return s})(t,e),buildQueryString:t=>((t,e)=>{const n=Object.keys(t);if(0===n.length)return"";const i=jt(e),s=[];for(const e of n){const n=t[e];if(void 0===n)continue;const r=It(e,n,i);r&&s.push(r)}return s.join("&")})(t,e)})}function qt(t,e,n){const i=xt("",e,t),s=Gt(n);return s.registerTree(i),{tree:i,matcher:s}}function Wt(t){const e=qt(t.definitions,t.rootPath,t.matcherOptions);t.tree=e.tree,t.matcher=e.matcher,t.resolvedForwardMap=Ht(t.config)}function Vt(t){const e=qt(t.definitions,t.rootPath,t.matcherOptions);t.tree=e.tree,t.matcher=e.matcher}function Qt(t){Kt(t),Vt(t)}function Kt(t){t.definitions.length=0,Object.assign(t.config,et()),t.resolvedForwardMap=Object.create(null),t.routeCustomFields=Object.create(null)}function Ht(t){const e=Object.create(null);for(const n of Object.keys(t.forwardMap))e[n]=S(n,t.forwardMap);return e}function Jt(t,e,n,i,r,a,o){const c=new Set(["name","path","children","canActivate","canDeactivate","forwardTo","encodeParams","decodeParams","defaultParams"]),u=Object.fromEntries(Object.entries(t).filter(([t])=>!c.has(t)));Object.keys(u).length>0&&(i[e]=u),t.canActivate&&(o?o.addActivateGuard(e,t.canActivate):r.set(e,t.canActivate)),t.canDeactivate&&(o?o.addDeactivateGuard(e,t.canDeactivate):a.set(e,t.canDeactivate)),t.forwardTo&&function(t,e,n){if(t.canActivate&&s.warn("real-router",`Route "${e}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${"string"==typeof t.forwardTo?t.forwardTo:"[dynamic]"}".`),t.canDeactivate&&s.warn("real-router",`Route "${e}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${"string"==typeof t.forwardTo?t.forwardTo:"[dynamic]"}".`),"function"==typeof t.forwardTo){const n="AsyncFunction"===t.forwardTo.constructor.name,i=t.forwardTo.toString().includes("__awaiter");if(n||i)throw new TypeError(`forwardTo callback cannot be async for route "${e}". Async functions break matchPath/buildPath.`)}"string"==typeof t.forwardTo?n.forwardMap[e]=t.forwardTo:n.forwardFnMap[e]=t.forwardTo}(t,e,n),t.decodeParams&&(n.decoders[e]=e=>t.decodeParams?.(e)??e),t.encodeParams&&(n.encoders[e]=e=>t.encodeParams?.(e)??e),t.defaultParams&&(n.defaultParams[e]=t.defaultParams)}function Yt(t,e,n,i,s,r,a=""){for(const o of t){const t=a?`${a}.${o.name}`:o.name;Jt(o,t,e,n,i,s,r),o.children&&Yt(o.children,e,n,i,s,r,t)}}var Xt=".",Zt=[];function te(t){const e=[];for(let n=t.length-1;n>=0;n--)e.push(t[n]);return e}function ee(t){const e=typeof t;return"string"===e||"number"===e||"boolean"===e}function ne(t,e,n){const i=e.meta?.params[t];if(!i||"object"!=typeof i)return!0;for(const t of Object.keys(i)){const i=e.params[t],s=n.params[t];if(ee(i)&&ee(s)&&String(i)!==String(s))return!1}return!0}Object.freeze(Zt);var ie,se,re=new Map;function ae(t){const e=re.get(t);if(e)return e;const n=function(t){if(!t)return[""];const e=t.indexOf(Xt);if(-1===e)return[t];const n=t.indexOf(Xt,e+1);if(-1===n)return[t.slice(0,e),t];const i=t.indexOf(Xt,n+1);if(-1===i)return[t.slice(0,e),t.slice(0,n),t];return-1===t.indexOf(Xt,i+1)?[t.slice(0,e),t.slice(0,n),t.slice(0,i),t]:function(t){const e=t.split(Xt),n=e.length,i=[e[0]];let s=e[0].length;for(let r=1;r<n-1;r++)s+=1+e[r].length,i.push(t.slice(0,s));return i.push(t),i}(t)}(t);return Object.freeze(n),re.set(t,n),n}var oe,ce,ue=null,le=null;function he(t,e){if(!e)return{intersection:"",toActivate:ae(t.name),toDeactivate:Zt};if(void 0===t.meta?.params&&void 0===e.meta?.params)return{intersection:"",toActivate:ae(t.name),toDeactivate:te(ae(e.name))};const n=ae(t.name),i=ae(e.name),s=function(t,e,n,i,s){for(let r=0;r<s;r++){const s=n[r];if(s!==i[r])return r;if(!ne(s,t,e))return r}return s}(t,e,n,i,Math.min(i.length,n.length));let r;if(s>=i.length)r=Zt;else if(0===s&&1===i.length)r=i;else{r=[];for(let t=i.length-1;t>=s;t--)r.push(i[t])}const a=0===s?n:n.slice(s);return{intersection:s>0?i[s-1]:"",toDeactivate:r,toActivate:a}}function de(t,e,n){if(n)return he(t,e);if(null!==ue&&t===ie&&e===se)return ue;if(null!==le&&t===oe&&e===ce)return le;const i=he(t,e);return oe=ie,ce=se,le=ue,ie=t,se=e,ue=i,i}function fe(t,e){var n;return{name:e??(n=t.segments,n.at(-1)?.fullName??""),params:t.params,meta:t.meta}}var pe=class{#z;#G;get#f(){return this.#z.depsStore}constructor(t=[],e){this.#z=function(t,e){const n=[],i=et(),s=Object.create(null),r=new Map,a=new Map;for(const e of t)n.push(nt(e));const{tree:o,matcher:c}=qt(n,"",e);return Yt(t,i,s,r,a,void 0,""),{definitions:n,config:i,tree:o,matcher:c,resolvedForwardMap:Ht(i),routeCustomFields:s,rootPath:"",matcherOptions:e,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:r,pendingCanDeactivate:a,treeOperations:{commitTreeChanges:Wt,resetStore:Qt,nodeToDefinition:kt}}}(t,e)}static shouldUpdateNode(t){return(e,n)=>{if(!e||"object"!=typeof e||!("name"in e))throw new TypeError("[router.shouldUpdateNode] toState must be valid State object");if(e.transition?.reload)return!0;if(""===t&&!n)return!0;const{intersection:i,toActivate:s,toDeactivate:r}=de(e,n);return t===i||!!s.includes(t)||r.includes(t)}}setDependencies(t){this.#z.depsStore=t;for(const[e,n]of this.#z.pendingCanActivate)t.addActivateGuard(e,n);this.#z.pendingCanActivate.clear();for(const[e,n]of this.#z.pendingCanDeactivate)t.addDeactivateGuard(e,n);this.#z.pendingCanDeactivate.clear()}setLifecycleNamespace(t){this.#z.lifecycleNamespace=t}setRootPath(t){this.#z.rootPath=t,Vt(this.#z)}hasRoute(t){return this.#z.matcher.hasRoute(t)}clearRoutes(){Qt(this.#z)}buildPath(t,e,n){if(t===c.UNKNOWN_ROUTE)return"string"==typeof e?.path?e.path:"";const i=Object.hasOwn(this.#z.config.defaultParams,t)?{...this.#z.config.defaultParams[t],...e}:e??{},s="function"==typeof this.#z.config.encoders[t]?this.#z.config.encoders[t]({...i}):i;return this.#z.matcher.buildPath(t,s,this.#q(n))}matchPath(t,e){const n=e,i=this.#z.matcher.match(t);if(!i)return;const s=fe(i),{name:r,params:a,meta:o}=s,c="function"==typeof this.#z.config.decoders[r]?this.#z.config.decoders[r](a):a,{name:u,params:l}=this.#f.forwardState(r,c);let h=t;if(n.rewritePathOnMatch){const t="function"==typeof this.#z.config.encoders[u]?this.#z.config.encoders[u]({...l}):l,e=n.trailingSlash;h=this.#z.matcher.buildPath(u,t,{trailingSlash:"never"===e||"always"===e?e:void 0,queryParamsMode:n.queryParamsMode})}return this.#f.makeState(u,l,h,o)}forwardState(t,e){if(Object.hasOwn(this.#z.config.forwardFnMap,t)){const n=this.#W(t,e),i=this.#z.config.forwardFnMap[t],s=this.#V(t,i,e);return{name:s,params:this.#W(s,n)}}const n=this.#z.resolvedForwardMap[t]??t;if(n!==t&&Object.hasOwn(this.#z.config.forwardFnMap,n)){const i=this.#W(t,e),s=this.#z.config.forwardFnMap[n],r=this.#V(n,s,e);return{name:r,params:this.#W(r,i)}}if(n!==t){const i=this.#W(t,e);return{name:n,params:this.#W(n,i)}}return{name:t,params:this.#W(t,e)}}buildStateResolved(t,e){const n=this.#z.matcher.getSegmentsByName(t);if(n)return fe({segments:n,params:e,meta:this.#z.matcher.getMetaByName(t)},t)}isActiveRoute(t,e={},n=!1,i=!0){const s=this.#f.getState();if(!s)return!1;const r=s.name;if(r!==t&&!r.startsWith(`${t}.`)&&!t.startsWith(`${r}.`))return!1;const a=this.#z.config.defaultParams[t];if(n||r===t){const n=a?{...a,...e}:e;return this.#f.areStatesEqual({name:t,params:n,path:""},s,i)}const o=s.params;return!!function(t,e){for(const n in t)if(t[n]!==e[n])return!1;return!0}(e,o)&&(!a||function(t,e,n){for(const i in t)if(!(i in n)&&t[i]!==e[i])return!1;return!0}(a,o,e))}getMetaForState(t){return this.#z.matcher.hasRoute(t)?this.#z.matcher.getMetaByName(t):void 0}getUrlParams(t){const e=this.#z.matcher.getSegmentsByName(t);return e?function(t){const e=[];for(const n of t)for(const t of n.paramMeta.urlParams)e.push(t);return e}(e):[]}getStore(){return this.#z}#W(t,e){return Object.hasOwn(this.#z.config.defaultParams,t)?{...this.#z.config.defaultParams[t],...e}:e}#q(t){if(this.#G)return this.#G;const e=t?.trailingSlash;return this.#G=Object.freeze({trailingSlash:"never"===e||"always"===e?e:void 0,queryParamsMode:t?.queryParamsMode}),this.#G}#V(t,e,n){const i=new Set([t]);let s=e(this.#f.getDependency,n),r=0;if("string"!=typeof s)throw new TypeError("forwardTo callback must return a string, got "+typeof s);for(;r<100;){if(void 0===this.#z.matcher.getSegmentsByName(s))throw new Error(`Route "${s}" does not exist`);if(i.has(s)){const t=[...i,s].join(" → ");throw new Error(`Circular forwardTo detected: ${t}`)}if(i.add(s),Object.hasOwn(this.#z.config.forwardFnMap,s)){s=(0,this.#z.config.forwardFnMap[s])(this.#f.getDependency,n),r++;continue}const t=this.#z.config.forwardMap[s];if(void 0===t)return s;s=t,r++}throw new Error("forwardTo exceeds maximum depth of 100")}},me=new O(a.ROUTER_NOT_STARTED),ge=new O(a.ROUTE_NOT_FOUND),ve=new O(a.SAME_STATES),Se=Promise.reject(me),Te=Promise.reject(ge),ye=Promise.reject(ve);function we(t,e){const{toState:n,fromState:i,opts:s,toDeactivate:r,toActivate:o,intersection:u}=e;if(n.name!==c.UNKNOWN_ROUTE&&!t.hasRoute(n.name)){const e=new O(a.ROUTE_NOT_FOUND,{routeName:n.name});throw t.sendTransitionFail(n,i,e),e}if(i)for(const n of r)!o.includes(n)&&e.canDeactivateFunctions.has(n)&&t.clearCanDeactivate(n);n.transition=function(t,e,n,i,s){const r={phase:"activating",reason:"success",segments:{deactivated:n,activated:i,intersection:s}};return void 0!==t?.name&&(r.from=t.name),void 0!==e.reload&&(r.reload=e.reload),void 0!==e.redirected&&(r.redirected=e.redirected),r}(i,s,r,o,u);const l=w(n);t.setState(l);const h=void 0===s.signal?s:function({signal:t,...e}){return e}(s);return t.sendTransitionDone(l,i,h),l}function be(t,e,n,i){e.code!==a.TRANSITION_CANCELLED&&e.code!==a.ROUTE_NOT_FOUND&&t.sendTransitionFail(n,i,e)}function Ne(t,e,n){if(t instanceof DOMException&&"AbortError"===t.name)throw new O(a.TRANSITION_CANCELLED);!function(t,e,n){if(t instanceof O)throw t.setCode(e),t;throw new O(e,function(t,e){const n={segment:e};if(t instanceof Error)return{...n,message:t.message,stack:t.stack,..."cause"in t&&void 0!==t.cause&&{cause:t.cause}};if(t&&"object"==typeof t){const e={};for(const[n,i]of Object.entries(t))Ae.has(n)||(e[n]=i);return{...n,...e}}return n}(t,n))}(t,e,n)}Se.catch(()=>{}),Te.catch(()=>{}),ye.catch(()=>{});var Ae=new Set(["code","segment","path","redirect"]);async function Oe(t,e,n){let i;try{i=await t}catch(t){return void Ne(t,e,n)}if(!i)throw new O(e,{segment:n})}async function Ee(t,e,n,i,s,r,o,c,u,l){await Oe(u,n,l);for(let u=c;u<e.length;u++){if(!o())throw new O(a.TRANSITION_CANCELLED);const c=e[u],l=t.get(c);if(!l)continue;let h=!1;try{h=l(i,s,r)}catch(t){Ne(t,n,c)}if(h instanceof Promise)await Oe(h,n,c);else if(!h)throw new O(n,{segment:c})}}function Pe(t,e,n,i,s,r,o){for(const[c,u]of e.entries()){if(!o())throw new O(a.TRANSITION_CANCELLED);const l=t.get(u);if(!l)continue;let h=!1;try{h=l(i,s,r)}catch(t){Ne(t,n,u)}if(h instanceof Promise)return Ee(t,e,n,i,s,r,o,c+1,h,u);if(!h)throw new O(n,{segment:u})}}var Re=[c.UNKNOWN_ROUTE];Object.freeze(Re);var Ce={replace:!0};Object.freeze(Ce);var De=class{lastSyncResolved=!1;lastSyncRejected=!1;#f;#Q=null;#K=0;setDependencies(t){this.#f=t}navigate(t,e,n){this.lastSyncResolved=!1;const i=this.#f;if(!i.canNavigate())return this.lastSyncRejected=!0,Se;let s,r,o=!1,u=null;try{if(s=i.buildNavigateState(t,e),!s)return i.emitTransitionError(void 0,i.getState(),ge),this.lastSyncRejected=!0,Te;if(r=i.getState(),n=function(t,e){return e?.name!==c.UNKNOWN_ROUTE||t.replace?t:{...t,replace:!0}}(n,r),function(t,e,n,i){return!!t&&!e.reload&&!e.force&&i(t,n,!1)}(r,n,s,i.areStatesEqual))return i.emitTransitionError(s,r,ve),this.lastSyncRejected=!0,ye;if(this.#H(),n.signal?.aborted)throw new O(a.TRANSITION_CANCELLED,{reason:n.signal.reason});const l=++this.#K;if(i.startTransition(s,r),o=!0,this.#K!==l)throw new O(a.TRANSITION_CANCELLED);const[h,d]=i.getLifecycleFunctions(),f=s.name===c.UNKNOWN_ROUTE,{toDeactivate:p,toActivate:m,intersection:g}=de(s,r,n.reload),v=r&&!n.forceDeactivate&&p.length>0,S=!f&&m.length>0;if(h.size>0||d.size>0){u=new AbortController,this.#Q=u;const t=()=>this.#K===l&&i.isActive(),e=function(t,e,n,i,s,r,o,c,u,l){if(s){const s=Pe(t,n,a.CANNOT_DEACTIVATE,o,c,u,l);if(void 0!==s)return async function(t,e,n,i,s,r,o,c){if(await t,!c())throw new O(a.TRANSITION_CANCELLED);if(i){const t=Pe(e,n,a.CANNOT_ACTIVATE,s,r,o,c);if(void 0!==t&&await t,!c())throw new O(a.TRANSITION_CANCELLED)}}(s,e,i,r,o,c,u,l)}if(!l())throw new O(a.TRANSITION_CANCELLED);if(r)return Pe(e,i,a.CANNOT_ACTIVATE,o,c,u,l)}(h,d,p,m,!!v,S,s,r,u.signal,t);if(void 0!==e)return this.#J(e,{toState:s,fromState:r,opts:n,toDeactivate:p,toActivate:m,intersection:g,canDeactivateFunctions:h},u,l);if(!t())throw new O(a.TRANSITION_CANCELLED);this.#Y(u)}return this.lastSyncResolved=!0,Promise.resolve(we(i,{toState:s,fromState:r,opts:n,toDeactivate:p,toActivate:m,intersection:g,canDeactivateFunctions:h}))}catch(t){return this.#X(t,u,o,s,r),Promise.reject(t)}}navigateToDefault(t){const e=this.#f;if(!e.getOptions().defaultRoute)return Promise.reject(new O(a.ROUTE_NOT_FOUND,{routeName:"defaultRoute not configured"}));const{route:n,params:i}=e.resolveDefault();return n?this.navigate(n,i,t):Promise.reject(new O(a.ROUTE_NOT_FOUND,{routeName:"defaultRoute resolved to empty"}))}navigateToNotFound(t){this.#H();const e=this.#f.getState(),n=e?ae(e.name).toReversed():[];Object.freeze(n);const i={deactivated:n,activated:Re,intersection:""};Object.freeze(i);const s={phase:"activating",...e&&{from:e.name},reason:"success",segments:i};Object.freeze(s);const r={name:c.UNKNOWN_ROUTE,params:{},path:t,transition:s};return Object.freeze(r),this.#f.setState(r),this.#f.emitTransitionSuccess(r,e,Ce),r}abortCurrentNavigation(){this.#Q?.abort(new O(a.TRANSITION_CANCELLED)),this.#Q=null}async#J(t,e,n,i){const s=this.#f,r=()=>this.#K===i&&!n.signal.aborted&&s.isActive();try{if(e.opts.signal){if(e.opts.signal.aborted)throw new O(a.TRANSITION_CANCELLED,{reason:e.opts.signal.reason});e.opts.signal.addEventListener("abort",()=>{n.abort(e.opts.signal?.reason)},{once:!0,signal:n.signal})}if(await t,!r())throw new O(a.TRANSITION_CANCELLED);return we(s,e)}catch(t){throw be(s,t,e.toState,e.fromState),t}finally{this.#Y(n)}}#X(t,e,n,i,s){e&&this.#Y(e),n&&i&&be(this.#f,t,i,s)}#Y(t){t.abort(),this.#Q===t&&(this.#Q=null)}#H(){this.#f.isTransitioning()&&(s.warn("router.navigate","Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request."),this.#Q?.abort(new O(a.TRANSITION_CANCELLED)),this.#f.cancelNavigation())}},Fe={replace:!0};Object.freeze(Fe);var je=class{#f;setDependencies(t){this.#f=t}async start(t){const e=this.#f,n=e.getOptions(),i=e.matchPath(t);if(!i&&!n.allowNotFound){const n=new O(a.ROUTE_NOT_FOUND,{path:t});throw e.emitTransitionError(void 0,void 0,n),n}return e.completeStart(),i?e.navigate(i.name,i.params,Fe):e.navigateToNotFound(t)}stop(){this.#f.clearState()}},Le=class{#Z;#tt;#et;#nt;#it;#st;constructor(t){this.#Z=t.routerFSM,this.#tt=t.emitter,this.#et=void 0,this.#rt()}static validateSubscribeListener(t){if("function"!=typeof t)throw new TypeError("[router.subscribe] Expected a function. For Observable pattern use @real-router/rx package")}emitRouterStart(){this.#tt.emit(m.ROUTER_START)}emitRouterStop(){this.#tt.emit(m.ROUTER_STOP)}emitTransitionStart(t,e){this.#tt.emit(m.TRANSITION_START,t,e)}emitTransitionSuccess(t,e,n){this.#tt.emit(m.TRANSITION_SUCCESS,t,e,n)}emitTransitionError(t,e,n){this.#tt.emit(m.TRANSITION_ERROR,t,e,n)}emitTransitionCancel(t,e){this.#tt.emit(m.TRANSITION_CANCEL,t,e)}sendStart(){this.#Z.send(I)}sendStop(){this.#Z.send(x)}sendDispose(){this.#Z.send(k)}sendStarted(){this.#Z.send(_)}sendNavigate(t,e){this.#et=t,this.#Z.forceState(j),this.emitTransitionStart(t,e)}sendComplete(t,e,n={}){this.#Z.forceState(F),this.emitTransitionSuccess(t,e,n),this.#et===t&&(this.#et=void 0)}sendFail(t,e,n){const i=this.#et;this.#nt=t,this.#it=e,this.#st=n,this.#Z.send(M),this.#et===i&&(this.#et=void 0)}sendFailSafe(t,e,n){this.isReady()?this.sendFail(t,e,n):this.emitTransitionError(t,e,n)}sendCancel(t,e){const n=this.#et;this.#nt=t,this.#it=e,this.#Z.send(B),this.#et===n&&(this.#et=void 0)}canBeginTransition(){return this.#Z.canSend(U)}canStart(){return this.#Z.canSend(I)}canCancel(){return this.#Z.canSend(B)}isActive(){const t=this.#Z.getState();return t!==C&&t!==L}isDisposed(){return this.#Z.getState()===L}isTransitioning(){return this.#Z.getState()===j}isReady(){return this.#Z.getState()===F}getCurrentToState(){return this.#et}addEventListener(t,e){return this.#tt.on(t,e)}subscribe(t){return this.#tt.on(m.TRANSITION_SUCCESS,(e,n)=>{t({route:e,previousRoute:n})})}clearAll(){this.#tt.clearAll()}setLimits(t){this.#tt.setLimits(t)}sendCancelIfTransitioning(t){this.canCancel()&&this.sendCancel(this.#et,t)}#at(){this.emitTransitionError(this.#nt,this.#it,this.#st)}#rt(){const t=this.#Z;t.on(D,_,()=>{this.emitRouterStart()}),t.on(F,x,()=>{this.emitRouterStop()}),t.on(j,B,()=>{const t=this.#nt;void 0!==t&&this.emitTransitionCancel(t,this.#it)}),t.on(D,M,()=>{this.#at()}),t.on(F,M,()=>{this.#at()}),t.on(j,M,()=>{this.#at()})}},Ie=new O(a.ROUTER_ALREADY_STARTED),_e=new Set(["all","warn-error","error-only"]);var Ue=class{router;options;limits;dependenciesStore;state;routes;routeLifecycle;plugins;navigation;lifecycle;eventBus;constructor(t){this.router=t.router,this.options=t.options,this.limits=t.limits,this.dependenciesStore=t.dependenciesStore,this.state=t.state,this.routes=t.routes,this.routeLifecycle=t.routeLifecycle,this.plugins=t.plugins,this.navigation=t.navigation,this.lifecycle=t.lifecycle,this.eventBus=t.eventBus}wireLimits(){this.dependenciesStore.limits=this.limits,this.plugins.setLimits(this.limits),this.eventBus.setLimits({maxListeners:this.limits.maxListeners,warnListeners:this.limits.warnListeners,maxEventDepth:this.limits.maxEventDepth}),this.routeLifecycle.setLimits(this.limits)}wireRouteLifecycleDeps(){const t={compileFactory:this.createCompileFactory()};this.routeLifecycle.setDependencies(t),this.routeLifecycle.setValidatorGetter(()=>{try{return i(this.router).validator}catch{return null}})}wireRoutesDeps(){this.routes.setDependencies({addActivateGuard:(t,e)=>{this.routeLifecycle.addCanActivate(t,e,!0)},addDeactivateGuard:(t,e)=>{this.routeLifecycle.addCanDeactivate(t,e,!0)},makeState:(t,e,n,i)=>this.state.makeState(t,e,n,i),getState:()=>this.state.get(),areStatesEqual:(t,e,n)=>this.state.areStatesEqual(t,e,n),getDependency:t=>this.dependenciesStore.dependencies[t],forwardState:(t,e)=>{const n=i(this.router);return n.validator?.routes.validateStateBuilderArgs(t,e,"forwardState"),n.forwardState(t,e)}}),this.routes.setLifecycleNamespace(this.routeLifecycle)}wirePluginsDeps(){const t={addEventListener:(t,e)=>this.eventBus.addEventListener(t,e),canNavigate:()=>this.eventBus.canBeginTransition(),compileFactory:this.createCompileFactory()};this.plugins.setDependencies(t),this.plugins.setValidatorGetter(()=>{try{return i(this.router).validator}catch{return null}})}wireNavigationDeps(){this.navigation.setDependencies({getOptions:()=>this.options.get(),hasRoute:t=>this.routes.hasRoute(t),getState:()=>this.state.get(),setState:t=>{this.state.set(t)},buildNavigateState:(t,e)=>{const n=i(this.router);n.validator?.routes.validateStateBuilderArgs(t,e,"navigate");const{name:s,params:r}=n.forwardState(t,e),a=this.routes.getMetaForState(s);if(void 0===a)return;const o=n.buildPath(s,r);return this.state.makeState(s,r,o,a,void 0,!0)},areStatesEqual:(t,e,n)=>this.state.areStatesEqual(t,e,n),resolveDefault:()=>{const t=this.options.get();return{route:V(t.defaultRoute,t=>this.dependenciesStore.dependencies[t]),params:V(t.defaultParams,t=>this.dependenciesStore.dependencies[t])}},startTransition:(t,e)=>{this.eventBus.sendNavigate(t,e)},cancelNavigation:()=>{const t=this.eventBus.getCurrentToState();void 0!==t&&this.eventBus.sendCancel(t,this.state.get())},sendTransitionDone:(t,e,n)=>{this.eventBus.sendComplete(t,e,n)},sendTransitionFail:(t,e,n)=>{this.eventBus.sendFail(t,e,n)},emitTransitionError:(t,e,n)=>{this.eventBus.sendFailSafe(t,e,n)},emitTransitionSuccess:(t,e,n)=>{this.eventBus.emitTransitionSuccess(t,e,n)},canNavigate:()=>this.eventBus.canBeginTransition(),getLifecycleFunctions:()=>this.routeLifecycle.getFunctions(),isActive:()=>this.router.isActive(),isTransitioning:()=>this.eventBus.isTransitioning(),clearCanDeactivate:t=>{this.routeLifecycle.clearCanDeactivate(t)}})}wireLifecycleDeps(){this.lifecycle.setDependencies({getOptions:()=>this.options.get(),navigate:(t,e,n)=>this.navigation.navigate(t,e,n),navigateToNotFound:t=>this.navigation.navigateToNotFound(t),clearState:()=>{this.state.set(void 0)},matchPath:t=>this.routes.matchPath(t,this.options.get()),completeStart:()=>{this.eventBus.sendStarted()},emitTransitionError:(t,e,n)=>{this.eventBus.sendFail(t,e,n)}})}wireStateDeps(){this.state.setDependencies({getDefaultParams:()=>this.routes.getStore().config.defaultParams,buildPath:(t,e)=>i(this.router).buildPath(t,e),getUrlParams:t=>this.routes.getUrlParams(t)})}createCompileFactory(){const{router:t,dependenciesStore:e}=this;return n=>n(t,t=>e.dependencies[t])}},$e=Object.freeze({}),Me=class o{#u;#S;#ot;#ct;#ut;#lt;#g;#ht;#dt;#ft;constructor(i=[],a={},o={}){a.logger&&function(t){if("object"!=typeof t||null===t)throw new TypeError("Logger config must be an object");const e=t;for(const t of Object.keys(e))if("level"!==t&&"callback"!==t)throw new TypeError(`Unknown logger config property: "${t}"`);if("level"in e&&void 0!==e.level&&("string"!=typeof(n=e.level)||!_e.has(n)))throw new TypeError(`Invalid logger level: ${function(t){return"string"==typeof t?`"${t}"`:"object"==typeof t?JSON.stringify(t):String(t)}(e.level)}. Expected: "all" | "warn-error" | "error-only"`);var n;if("callback"in e&&void 0!==e.callback&&"function"!=typeof e.callback)throw new TypeError("Logger callback must be a function, got "+typeof e.callback);return!0}(a.logger)&&(s.configure(a.logger),delete a.logger),Q.validateOptionsIsObject(a),function(t){if(!t||"object"!=typeof t||t.constructor!==Object)throw new TypeError("dependencies must be a plain object");for(const e in t)if(Object.getOwnPropertyDescriptor(t,e)?.get)throw new TypeError(`dependencies cannot contain getters: "${e}"`)}(o),i.length>0&&G(i),this.#u=new Q(a),this.#S=function(t={}){return{...g,...t}}(a.limits),this.#ot=function(t={}){const e=Object.create(null);for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return{dependencies:e,limits:g}}(o),this.#ct=new H,this.#ut=new pe(i,function(t){return{strictTrailingSlash:"strict"===t.trailingSlash,strictQueryParams:"strict"===t.queryParamsMode,urlParamsEncoding:t.urlParamsEncoding,queryParams:t.queryParams}}(this.#u.get())),this.#lt=new tt,this.#g=new Z,this.#ht=new De,this.#dt=new je;const c=new r(z),u=new R({onListenerError:(t,e)=>{s.error("Router",`Error in listener for ${t}:`,e)},onListenerWarn:(t,e)=>{s.warn("router.addEventListener",`Event "${t}" has ${e} listeners — possible memory leak`)}});var l;this.#ft=new Le({routerFSM:c,emitter:u}),(l=new Ue({router:this,options:this.#u,limits:this.#S,dependenciesStore:this.#ot,state:this.#ct,routes:this.#ut,routeLifecycle:this.#lt,plugins:this.#g,navigation:this.#ht,lifecycle:this.#dt,eventBus:this.#ft})).wireLimits(),l.wireRouteLifecycleDeps(),l.wireRoutesDeps(),l.wirePluginsDeps(),l.wireNavigationDeps(),l.wireLifecycleDeps(),l.wireStateDeps();const h=new Map;t(this,{makeState:(t,e,n,i,s)=>this.#ct.makeState(t,e,n,i,s),forwardState:n("forwardState",(t,e)=>this.#ut.forwardState(t,e),h),buildStateResolved:(t,e)=>this.#ut.buildStateResolved(t,e),matchPath:(t,e)=>this.#ut.matchPath(t,e),getOptions:()=>this.#u.get(),addEventListener:(t,e)=>this.#ft.addEventListener(t,e),buildPath:n("buildPath",(t,e)=>this.#ut.buildPath(t,e??v,this.#u.get()),h),start:e("start",t=>this.#dt.start(t),h),interceptors:h,setRootPath:t=>{this.#ut.setRootPath(t)},getRootPath:()=>this.#ut.getStore().rootPath,getTree:()=>this.#ut.getStore().tree,isDisposed:()=>this.#ft.isDisposed(),validator:null,dependenciesGetStore:()=>this.#ot,cloneOptions:()=>({...this.#u.get()}),cloneDependencies:()=>({...this.#ot.dependencies}),getLifecycleFactories:()=>this.#lt.getFactories(),getPluginFactories:()=>this.#g.getAll(),routeGetStore:()=>this.#ut.getStore(),getStateName:()=>this.#ct.get()?.name,isTransitioning:()=>this.#ft.isTransitioning(),clearState:()=>{this.#ct.set(void 0)},setState:t=>{this.#ct.set(t)},routerExtensions:[]}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this)}isActiveRoute(t,e,n,r){return i(this).validator?.routes.validateIsActiveRouteArgs(t,e,n,r),i(this).validator?.routes.validateRouteName(t,"isActiveRoute"),""===t?(s.warn("real-router",'isActiveRoute("") called with empty string. Root node is not considered a parent of any route.'),!1):this.#ut.isActiveRoute(t,e,n,r)}buildPath(t,e){const n=i(this);return n.validator?.routes.validateBuildPathArgs(t),n.validator?.navigation.validateParams(e,"buildPath"),n.buildPath(t,e)}getState(){return this.#ct.get()}getPreviousState(){return this.#ct.getPrevious()}areStatesEqual(t,e,n=!0){return i(this).validator?.state.validateAreStatesEqualArgs(t,e,n),this.#ct.areStatesEqual(t,e,n)}shouldUpdateNode(t){return i(this).validator?.routes.validateShouldUpdateNodeArgs(t),pe.shouldUpdateNode(t)}isActive(){return this.#ft.isActive()}start(t){if(!this.#ft.canStart())return Promise.reject(Ie);i(this).validator?.navigation.validateStartArgs(t),this.#ft.sendStart();const e=i(this).start(t).catch(t=>{throw this.#ft.isReady()&&(this.#dt.stop(),this.#ft.sendStop()),t});return o.#pt(e),e}stop(){return this.#ht.abortCurrentNavigation(),this.#ft.sendCancelIfTransitioning(this.#ct.get()),this.#ft.isReady()||this.#ft.isTransitioning()?(this.#dt.stop(),this.#ft.sendStop(),this):this}dispose(){if(this.#ft.isDisposed())return;this.#ht.abortCurrentNavigation(),this.#ft.sendCancelIfTransitioning(this.#ct.get()),(this.#ft.isReady()||this.#ft.isTransitioning())&&(this.#dt.stop(),this.#ft.sendStop()),this.#ft.sendDispose(),this.#ft.clearAll(),this.#g.disposeAll();const t=i(this);for(const e of t.routerExtensions)for(const t of e.keys)delete this[t];t.routerExtensions.length=0,this.#ut.clearRoutes(),this.#lt.clearAll(),this.#ct.reset(),this.#ot.dependencies=Object.create(null),this.#mt()}canNavigateTo(t,e){const n=i(this);if(n.validator?.routes.validateRouteName(t,"canNavigateTo"),n.validator?.navigation.validateParams(e,"canNavigateTo"),!this.#ut.hasRoute(t))return!1;const{name:s,params:r}=n.forwardState(t,e??{}),a=this.#ct.makeState(s,r),o=this.#ct.get(),{toDeactivate:c,toActivate:u}=de(a,o);return this.#lt.canNavigateTo(c,u,a,o)}usePlugin(...t){const e=t.filter(Boolean);if(0===e.length)return()=>{};const n=i(this);n.validator?.plugins.validatePluginLimit(this.#g.count(),this.#S);for(const t of e)n.validator?.plugins.validateNoDuplicatePlugins(t,this.#g.getAll());return this.#g.use(...e)}subscribe(t){return Le.validateSubscribeListener(t),this.#ft.subscribe(t)}navigate(t,e,n){const s=i(this);s.validator?.navigation.validateNavigateArgs(t),s.validator?.navigation.validateParams(e,"navigate");const r=n??$e;s.validator?.navigation.validateNavigationOptions(r,"navigate");const a=this.#ht.navigate(t,e??v,r);return this.#ht.lastSyncResolved?this.#ht.lastSyncResolved=!1:this.#ht.lastSyncRejected?this.#ht.lastSyncRejected=!1:o.#pt(a),a}navigateToDefault(t){const e=i(this);e.validator?.navigation.validateNavigateToDefaultArgs(t);const n=t??$e;e.validator?.navigation.validateNavigationOptions(n,"navigateToDefault");const s=this.#ht.navigateToDefault(n);return this.#ht.lastSyncResolved?this.#ht.lastSyncResolved=!1:this.#ht.lastSyncRejected?this.#ht.lastSyncRejected=!1:o.#pt(s),s}navigateToNotFound(t){if(!this.#ft.isActive())throw new O(a.ROUTER_NOT_STARTED);if(void 0!==t&&"string"!=typeof t)throw new TypeError("[router.navigateToNotFound] path must be a string, got "+typeof t);const e=t??this.#ct.get().path;return this.#ht.navigateToNotFound(e)}static#gt=t=>{t instanceof O&&(t.code===a.SAME_STATES||t.code===a.TRANSITION_CANCELLED||t.code===a.ROUTER_NOT_STARTED||t.code===a.ROUTE_NOT_FOUND)||s.error("router.navigate","Unexpected navigation error",t)};static#pt(t){t.catch(o.#gt)}#mt(){this.navigate=Be,this.navigateToDefault=Be,this.navigateToNotFound=Be,this.start=Be,this.stop=Be,this.usePlugin=Be,this.subscribe=Be,this.canNavigateTo=Be}};function Be(){throw new O(a.ROUTER_DISPOSED)}export{Me as Router,O as RouterError,o as UNKNOWN_ROUTE,st as clearConfigEntries,Kt as clearRouteData,c as constants,a as errorCodes,m as events,zt as f,G as guardRouteStructure,Ht as refreshForwardMap,Yt as registerAllRouteHandlers,it as removeFromDefinitions,S as resolveForwardChain,nt as sanitizeRoute};//# sourceMappingURL=chunk-4SLMDQ2M.mjs.map