@xmachines/docs 1.0.0-beta.43 → 1.0.0-beta.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/classes/PlayError.md +4 -4
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +3 -3
- package/api/@xmachines/play-actor/README.md +2 -2
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
- package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +13 -13
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +6 -6
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +12 -12
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +5 -5
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-dom/variables/schema.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +1 -0
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +8 -7
- package/api/@xmachines/play-dom-router/functions/createRouter.md +2 -2
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +1 -0
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +33 -29
- package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +24 -6
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +11 -10
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/README.md +9 -8
- package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +37 -33
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +21 -35
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +11 -10
- package/api/@xmachines/play-router/functions/createRouteMatcher.md +53 -0
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatcher.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/README.md +2 -2
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +2 -1
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +34 -30
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +8 -7
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-svelte/README.md +1 -0
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -8
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/README.md +1 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +8 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/README.md +1 -0
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +8 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -0
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +33 -29
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +24 -6
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +11 -10
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +2 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +34 -30
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +8 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
- package/api/@xmachines/play-vue/README.md +2 -1
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +2 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +40 -30
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +25 -5
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +13 -13
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +4 -2
- package/api/@xmachines/play-xstate/functions/definePlayer.md +2 -2
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/llms.txt +2 -2
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
- package/package.json +2 -2
- package/rfc/play.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +0 -38
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-react-router](../README.md) / RouteMapOptions
|
|
2
|
+
|
|
3
|
+
# Interface: RouteMapOptions
|
|
4
|
+
|
|
5
|
+
Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/create-route-map.ts#L9)
|
|
6
|
+
|
|
7
|
+
Options for `createRouteMap` and `createRouteMapFromTree`.
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
| Property | Type | Description | Defined in |
|
|
12
|
+
| -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| <a id="property-cachesize"></a> `cacheSize?` | `number` | Maximum number of resolved parameterized path lookups to cache. `RouteMap.getStateIdByPath()` resolves parameterized patterns (e.g. `/profile/:userId`) via URLPattern on every call. Frequently visited paths are cached in an LRU so subsequent lookups are O(1). Increase this value for applications with large parameterized route sets or high navigation frequency. Default: `500`. | [play-router/src/create-route-map.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/create-route-map.ts#L20) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapping
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L57)
|
|
6
6
|
|
|
7
7
|
A single state ID ↔ path mapping entry.
|
|
8
8
|
|
|
@@ -23,5 +23,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
|
|
|
23
23
|
|
|
24
24
|
| Property | Modifier | Type | Description | Defined in |
|
|
25
25
|
| --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
26
|
-
| <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
27
|
-
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
26
|
+
| <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L61) |
|
|
27
|
+
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L59) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/types.ts#L271)
|
|
6
6
|
|
|
7
7
|
RouterBridge interface for runtime infrastructure adapters
|
|
8
8
|
|
|
@@ -44,7 +44,7 @@ class TanStackRouterBridge implements RouterBridge {
|
|
|
44
44
|
|
|
45
45
|
## See
|
|
46
46
|
|
|
47
|
-
[Play RFC](
|
|
47
|
+
[Play RFC](../../../../rfc/play.md) - Invariant INV-04
|
|
48
48
|
|
|
49
49
|
## Methods
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ class TanStackRouterBridge implements RouterBridge {
|
|
|
54
54
|
connect(): void | Promise<void>;
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
57
|
+
Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/types.ts#L287)
|
|
58
58
|
|
|
59
59
|
Connect the router bridge to the Actor
|
|
60
60
|
|
|
@@ -83,7 +83,7 @@ await bridge.connect();
|
|
|
83
83
|
disconnect(): void | Promise<void>;
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
86
|
+
Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/types.ts#L303)
|
|
87
87
|
|
|
88
88
|
Disconnect the router bridge from the Actor
|
|
89
89
|
|
|
@@ -16,7 +16,7 @@ It also exports `RouterBridgeBase`, the shared base class used by framework adap
|
|
|
16
16
|
|
|
17
17
|
The low-level `connectRouter()` from `@xmachines/play-dom-router` uses the same router-to-actor event builder and route-map match helper as `RouterBridgeBase`, so pathname sanitization, state-id normalization, param extraction, and query extraction stay aligned across vanilla and framework adapters.
|
|
18
18
|
|
|
19
|
-
Per [Play RFC](
|
|
19
|
+
Per [Play RFC](../../../rfc/play.md), this package implements:
|
|
20
20
|
|
|
21
21
|
- **Actor Authority (INV-01):** Routes derive from machine definitions, not external configuration
|
|
22
22
|
|
|
@@ -126,7 +126,7 @@ Open http://localhost:5174/ and explore:
|
|
|
126
126
|
```typescript
|
|
127
127
|
// Extract routes from machine
|
|
128
128
|
const routeTree = extractMachineRoutes(authMachine);
|
|
129
|
-
const routeMatcher =
|
|
129
|
+
const routeMatcher = createRouteMatcher(routeTree);
|
|
130
130
|
|
|
131
131
|
// Actor → URL sync
|
|
132
132
|
const watcher = new Signal.subtle.Watcher(() => {
|
|
@@ -197,7 +197,7 @@ That final step distinguishes:
|
|
|
197
197
|
- **deep-link:** browser URL differs from the machine's initial route, so router wins and the actor receives `play.route`
|
|
198
198
|
- **restore:** browser URL is still at the machine's initial route while the actor was restored elsewhere, so actor wins and the bridge pushes the actor route back into the router
|
|
199
199
|
|
|
200
|
-
Actor-originated router sync
|
|
200
|
+
Actor-originated router sync suppresses router echoes via `lastSyncedPath`. `syncRouterFromActor` resolves the concrete path and stores it before calling the adapter's navigation method; when the router callback fires with that same path, `syncActorFromRouter` short-circuits at `sanitized === lastSyncedPath` and sends no event.
|
|
201
201
|
|
|
202
202
|
## Diagnostics
|
|
203
203
|
|
|
@@ -293,14 +293,14 @@ const successors = getSuccessors(tree.graph!, "myMachine.home");
|
|
|
293
293
|
- `eventType: string` — event type triggering this transition
|
|
294
294
|
- `guardType?: string` — guard name/description (if transition is guarded)
|
|
295
295
|
|
|
296
|
-
###
|
|
296
|
+
### createRouteMap() / createRouteMapFromTree()
|
|
297
297
|
|
|
298
298
|
Both build a `BaseRouteMap` using `node.fullPath` (absolute resolved paths) for browser URL matching.
|
|
299
299
|
|
|
300
300
|
```typescript
|
|
301
301
|
// Single-call form — preferred for XState machines:
|
|
302
|
-
import {
|
|
303
|
-
const routeMap =
|
|
302
|
+
import { createRouteMap } from "@xmachines/play-router";
|
|
303
|
+
const routeMap = createRouteMap(machine);
|
|
304
304
|
|
|
305
305
|
// Two-step form — used by framework adapter packages:
|
|
306
306
|
import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
|
|
@@ -308,7 +308,7 @@ const routeTree = extractMachineRoutes(machine);
|
|
|
308
308
|
const routeMap = createRouteMapFromTree(routeTree);
|
|
309
309
|
```
|
|
310
310
|
|
|
311
|
-
Both forms produce identical results. `createRouteMapFromTree` is exposed for framework adapters (React Router, TanStack Router) that
|
|
311
|
+
Both forms produce identical `RouteMap` results. `createRouteMapFromTree` is exposed for framework adapters (React Router, TanStack Router) that already hold the `RouteTree` separately for other purposes (e.g. graph queries). `createRouteMatcher(routeTree)` is the distinct API for URL-pattern matching that returns a `RouteMatcher`, not a `RouteMap`.
|
|
312
312
|
|
|
313
313
|
**`node.path` vs `node.fullPath`:** Every `RouteNode` carries both fields. `path` is the raw `meta.route` segment as declared in the machine — it may be relative (e.g. `"overview"`). `fullPath` is the resolved absolute path (e.g. `"/dashboard/overview"`). Route maps always use `fullPath`. Only use `path` if you specifically need the declared segment.
|
|
314
314
|
|
|
@@ -613,6 +613,7 @@ For a copy, see <https://opensource.org/licenses/MIT>.
|
|
|
613
613
|
- [MachineNodeData](interfaces/MachineNodeData.md)
|
|
614
614
|
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
615
615
|
- [RouteInfo](interfaces/RouteInfo.md)
|
|
616
|
+
- [RouteMapOptions](interfaces/RouteMapOptions.md)
|
|
616
617
|
- [RouteMapping](interfaces/RouteMapping.md)
|
|
617
618
|
- [RouteMatch](interfaces/RouteMatch.md)
|
|
618
619
|
- [RouteMatcher](interfaces/RouteMatcher.md)
|
|
@@ -633,8 +634,8 @@ For a copy, see <https://opensource.org/licenses/MIT>.
|
|
|
633
634
|
- [buildPlayRouteEvent](functions/buildPlayRouteEvent.md)
|
|
634
635
|
- [buildRouteTree](functions/buildRouteTree.md)
|
|
635
636
|
- [createRouteMap](functions/createRouteMap.md)
|
|
636
|
-
- [createRouteMapFromMachine](functions/createRouteMapFromMachine.md)
|
|
637
637
|
- [createRouteMapFromTree](functions/createRouteMapFromTree.md)
|
|
638
|
+
- [createRouteMatcher](functions/createRouteMatcher.md)
|
|
638
639
|
- [detectDuplicateRoutes](functions/detectDuplicateRoutes.md)
|
|
639
640
|
- [extractMachineRoutes](functions/extractMachineRoutes.md)
|
|
640
641
|
- [extractQuery](functions/extractQuery.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L100)
|
|
6
6
|
|
|
7
7
|
Shared bidirectional route map base class.
|
|
8
8
|
|
|
@@ -50,7 +50,7 @@ map.getPathByStateId("missing"); // null
|
|
|
50
50
|
new RouteMap(mappings, options?): RouteMap;
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
Defined in: [base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
53
|
+
Defined in: [base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L125)
|
|
54
54
|
|
|
55
55
|
Build a route map from an array of state ID ↔ path mappings.
|
|
56
56
|
|
|
@@ -78,7 +78,7 @@ buckets for efficient candidate selection.
|
|
|
78
78
|
getPathByStateId(stateId): string | null;
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
Defined in: [base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
81
|
+
Defined in: [base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L209)
|
|
82
82
|
|
|
83
83
|
Look up the path pattern registered for a state ID.
|
|
84
84
|
|
|
@@ -109,7 +109,7 @@ map.getPathByStateId("missing"); // null
|
|
|
109
109
|
getStateIdByPath(path): string | null;
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
Defined in: [base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
112
|
+
Defined in: [base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/base-route-map.ts#L174)
|
|
113
113
|
|
|
114
114
|
Resolve a URL path to its mapped state ID.
|
|
115
115
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Abstract Class: RouterBridgeBase
|
|
4
4
|
|
|
5
|
-
Defined in: [router-bridge-base.ts:
|
|
5
|
+
Defined in: [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L101)
|
|
6
6
|
|
|
7
7
|
Abstract base class for all `@xmachines` router adapter bridges.
|
|
8
8
|
|
|
@@ -30,14 +30,14 @@ between frameworks.
|
|
|
30
30
|
new RouterBridgeBase(actor, routeMap): RouterBridgeBase;
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Defined in: [router-bridge-base.ts:
|
|
33
|
+
Defined in: [router-bridge-base.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L125)
|
|
34
34
|
|
|
35
35
|
#### Parameters
|
|
36
36
|
|
|
37
|
-
| Parameter | Type | Description
|
|
38
|
-
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
39
|
-
| `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | A `Routable` actor exposing `currentRoute` and `send`.
|
|
40
|
-
| `routeMap` | \{ `getPathByStateId`: `string` \| `null` \| `undefined`; `getStateIdByPath`: `string` \| `null` \| `undefined`; \} | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent. |
|
|
37
|
+
| Parameter | Type | Description |
|
|
38
|
+
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
39
|
+
| `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | A `Routable` actor exposing `currentRoute` and `send`. |
|
|
40
|
+
| `routeMap` | \{ `getPathByStateId`: `string` \| `null` \| `undefined`; `getStateIdByPath`: `string` \| `null` \| `undefined`; \} | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap(machine)` or an equivalent. |
|
|
41
41
|
| `routeMap.getPathByStateId` | - |
|
|
42
42
|
| `routeMap.getStateIdByPath` | - |
|
|
43
43
|
|
|
@@ -47,17 +47,17 @@ Defined in: [router-bridge-base.ts:103](https://gitlab.com/xmachin-es/xmachines-
|
|
|
47
47
|
|
|
48
48
|
## Properties
|
|
49
49
|
|
|
50
|
-
| Property | Modifier | Type | Default value | Description
|
|
51
|
-
| --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
|
|
52
|
-
| <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`.
|
|
53
|
-
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | -
|
|
54
|
-
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | -
|
|
55
|
-
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | -
|
|
56
|
-
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | -
|
|
57
|
-
| <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent.
|
|
58
|
-
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | -
|
|
59
|
-
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | -
|
|
60
|
-
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | -
|
|
50
|
+
| Property | Modifier | Type | Default value | Description | Defined in |
|
|
51
|
+
| --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`. | [router-bridge-base.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L126) |
|
|
53
|
+
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L104) |
|
|
54
|
+
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:103](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L103) |
|
|
55
|
+
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | Guards `syncActorFromRouter` against re-entrant calls triggered by the actor's own guard redirects (router→actor send → signal fires → actor→router push → another syncActorFromRouter before the first one returns). NOT used for actor→router echo suppression — that is handled exclusively by `lastSyncedPath`, which is updated before `navigateRouter()` is called so any router callback for the same path short-circuits at the `sanitized === lastSyncedPath` check in `syncActorFromRouter`. | [router-bridge-base.ts:116](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L116) |
|
|
56
|
+
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [router-bridge-base.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L105) |
|
|
57
|
+
| <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap(machine)` or an equivalent. | [router-bridge-base.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L127) |
|
|
58
|
+
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:129](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L129) |
|
|
59
|
+
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L128) |
|
|
60
|
+
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [router-bridge-base.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L117) |
|
|
61
61
|
|
|
62
62
|
## Methods
|
|
63
63
|
|
|
@@ -67,7 +67,7 @@ Defined in: [router-bridge-base.ts:103](https://gitlab.com/xmachin-es/xmachines-
|
|
|
67
67
|
connect(): void;
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Defined in: [router-bridge-base.ts:
|
|
70
|
+
Defined in: [router-bridge-base.ts:153](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L153)
|
|
71
71
|
|
|
72
72
|
Connect the router bridge to the Actor.
|
|
73
73
|
|
|
@@ -99,7 +99,7 @@ Adapters that need custom initial-sync behavior should override
|
|
|
99
99
|
disconnect(): void;
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
Defined in: [router-bridge-base.ts:
|
|
102
|
+
Defined in: [router-bridge-base.ts:249](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L249)
|
|
103
103
|
|
|
104
104
|
Disconnect the router bridge from the Actor.
|
|
105
105
|
|
|
@@ -121,7 +121,7 @@ Stops signal watching and unregisters framework-specific router listener.
|
|
|
121
121
|
protected extractParams(pathname, stateId): Record<string, string>;
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
Defined in: [router-bridge-base.ts:
|
|
124
|
+
Defined in: [router-bridge-base.ts:373](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L373)
|
|
125
125
|
|
|
126
126
|
Extract path parameters from URL using the URLPattern API.
|
|
127
127
|
|
|
@@ -155,7 +155,7 @@ When URLPattern is absent and the route is parameterized
|
|
|
155
155
|
protected extractQuery(search): Record<string, string>;
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
-
Defined in: [router-bridge-base.ts:
|
|
158
|
+
Defined in: [router-bridge-base.ts:410](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L410)
|
|
159
159
|
|
|
160
160
|
Extract query parameters from URL search string.
|
|
161
161
|
|
|
@@ -179,7 +179,7 @@ Extracted query parameters or empty object
|
|
|
179
179
|
protected getInitialRouterPath(): string | null | undefined;
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
Defined in: [router-bridge-base.ts:
|
|
182
|
+
Defined in: [router-bridge-base.ts:467](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L467)
|
|
183
183
|
|
|
184
184
|
Return the router's current pathname at connect() time.
|
|
185
185
|
|
|
@@ -211,7 +211,7 @@ bridges that have not yet implemented this hook.
|
|
|
211
211
|
protected getInitialRouterSearch(): string | undefined;
|
|
212
212
|
```
|
|
213
213
|
|
|
214
|
-
Defined in: [router-bridge-base.ts:
|
|
214
|
+
Defined in: [router-bridge-base.ts:484](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L484)
|
|
215
215
|
|
|
216
216
|
Return the router's current search string at connect() time.
|
|
217
217
|
|
|
@@ -237,7 +237,7 @@ URL search string (e.g. `"?tab=security"`), or `undefined` if not available.
|
|
|
237
237
|
abstract protected navigateRouter(path): void;
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
Defined in: [router-bridge-base.ts:
|
|
240
|
+
Defined in: [router-bridge-base.ts:422](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L422)
|
|
241
241
|
|
|
242
242
|
Navigate the framework router to the given path.
|
|
243
243
|
|
|
@@ -262,7 +262,7 @@ Must trigger the framework router's navigation (e.g., router.navigate(path)).
|
|
|
262
262
|
protected resolveNavigationPath(route): string | null;
|
|
263
263
|
```
|
|
264
264
|
|
|
265
|
-
Defined in: [router-bridge-base.ts:
|
|
265
|
+
Defined in: [router-bridge-base.ts:395](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L395)
|
|
266
266
|
|
|
267
267
|
Resolve an actor route value to a concrete URL path for navigation.
|
|
268
268
|
|
|
@@ -297,7 +297,7 @@ Concrete URL path, or `null` if navigation should be skipped
|
|
|
297
297
|
protected syncActorFromRouter(pathname, search?): void;
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
Defined in: [router-bridge-base.ts:
|
|
300
|
+
Defined in: [router-bridge-base.ts:315](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L315)
|
|
301
301
|
|
|
302
302
|
Sync actor state when router location changes.
|
|
303
303
|
|
|
@@ -323,16 +323,20 @@ Prevents circular updates via isProcessingNavigation flag.
|
|
|
323
323
|
protected syncRouterFromActor(route): void;
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
Defined in: [router-bridge-base.ts:
|
|
326
|
+
Defined in: [router-bridge-base.ts:290](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L290)
|
|
327
327
|
|
|
328
328
|
Sync router location when actor route signal changes.
|
|
329
329
|
|
|
330
330
|
Calls navigateRouter() for framework-specific navigation.
|
|
331
|
-
Prevents circular updates via isProcessingNavigation flag.
|
|
332
331
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
332
|
+
Echo suppression — preventing the router's own callback from re-driving the
|
|
333
|
+
actor — is handled entirely by `lastSyncedPath`: it is set to `route` before
|
|
334
|
+
`navigateRouter()` is called, so any `syncActorFromRouter` invocation for the
|
|
335
|
+
same path short-circuits at the `sanitized === lastSyncedPath` check and sends
|
|
336
|
+
no event regardless of whether the callback fires synchronously or asynchronously.
|
|
337
|
+
|
|
338
|
+
`isProcessingNavigation` is NOT set here — it is only used inside
|
|
339
|
+
`syncActorFromRouter` to guard against re-entrant guard-redirect loops.
|
|
336
340
|
|
|
337
341
|
#### Parameters
|
|
338
342
|
|
|
@@ -352,7 +356,7 @@ suppressed as circular echoes.
|
|
|
352
356
|
abstract protected unwatchRouterChanges(): void;
|
|
353
357
|
```
|
|
354
358
|
|
|
355
|
-
Defined in: [router-bridge-base.ts:
|
|
359
|
+
Defined in: [router-bridge-base.ts:447](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L447)
|
|
356
360
|
|
|
357
361
|
Stop watching for router location changes.
|
|
358
362
|
|
|
@@ -370,7 +374,7 @@ Called by disconnect(). Should clean up the framework-specific subscription.
|
|
|
370
374
|
abstract protected watchRouterChanges(): void;
|
|
371
375
|
```
|
|
372
376
|
|
|
373
|
-
Defined in: [router-bridge-base.ts:
|
|
377
|
+
Defined in: [router-bridge-base.ts:440](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-bridge-base.ts#L440)
|
|
374
378
|
|
|
375
379
|
Start watching for router location changes.
|
|
376
380
|
|
|
@@ -9,7 +9,7 @@ function buildPlayRouteEvent(options): {
|
|
|
9
9
|
} | null;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [router-sync.ts:140](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
12
|
+
Defined in: [router-sync.ts:140](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/router-sync.ts#L140)
|
|
13
13
|
|
|
14
14
|
Build a normalized `play.route` event from raw router/browser input.
|
|
15
15
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function buildRouteTree(routes): RouteTree;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [build-tree.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [build-tree.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/build-tree.ts#L13)
|
|
10
10
|
|
|
11
11
|
Build hierarchical route tree from flat route list
|
|
12
12
|
|
|
@@ -3,51 +3,37 @@
|
|
|
3
3
|
# Function: createRouteMap()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function createRouteMap(
|
|
6
|
+
function createRouteMap(machine, options?): RouteMap;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [create-route-map.ts:
|
|
9
|
+
Defined in: [create-route-map.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/create-route-map.ts#L45)
|
|
10
10
|
|
|
11
|
-
Create a
|
|
11
|
+
Create a `RouteMap` from an XState state machine.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Extracts all routable states (those with `meta.route`) and builds a bidirectional
|
|
14
|
+
path ↔ stateId lookup structure. The returned map is used by `RouterBridgeBase`
|
|
15
|
+
subclasses to translate browser URL changes into `play.route` actor events and
|
|
16
|
+
vice-versa.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
- O(1) lookups for exact matches via Map
|
|
17
|
-
- O(k) bucket-indexed pattern matching with URLPattern, where k = routes in the
|
|
18
|
-
first-segment bucket (typically << total routes)
|
|
19
|
-
- Returns formatted state IDs (with # prefix)
|
|
20
|
-
- Extracts params from matched patterns
|
|
18
|
+
## Parameters
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
| Parameter | Type | Description |
|
|
21
|
+
| ---------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
22
|
+
| `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v5 state machine with `meta.route` annotations on states. |
|
|
23
|
+
| `options?` | [`RouteMapOptions`](../interfaces/RouteMapOptions.md) | Optional configuration. Pass `{ cacheSize }` to override the default LRU cache size for parameterized path lookups. |
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
## Returns
|
|
26
|
+
|
|
27
|
+
[`RouteMap`](../classes/RouteMap.md)
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
Static (exact) routes are unaffected by URLPattern availability.
|
|
29
|
+
A `RouteMap` for passing to any `RouterBridgeBase`-based adapter.
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
## Example
|
|
34
32
|
|
|
35
33
|
```typescript
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
import { createRouteMap } from "@xmachines/play-router";
|
|
35
|
+
import { connectRouter } from "@xmachines/play-dom-router";
|
|
38
36
|
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
actor.send({ type: "play.route", to, params });
|
|
42
|
-
}
|
|
37
|
+
const routeMap = createRouteMap(myMachine);
|
|
38
|
+
const disconnect = connectRouter({ actor, router, routeMap });
|
|
43
39
|
```
|
|
44
|
-
|
|
45
|
-
## Parameters
|
|
46
|
-
|
|
47
|
-
| Parameter | Type |
|
|
48
|
-
| ----------- | ----------------------------------------- |
|
|
49
|
-
| `routeTree` | [`RouteTree`](../interfaces/RouteTree.md) |
|
|
50
|
-
|
|
51
|
-
## Returns
|
|
52
|
-
|
|
53
|
-
[`RouteMatcher`](../interfaces/RouteMatcher.md)
|
|
@@ -3,27 +3,28 @@
|
|
|
3
3
|
# Function: createRouteMapFromTree()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function createRouteMapFromTree(routeTree): RouteMap;
|
|
6
|
+
function createRouteMapFromTree(routeTree, options?): RouteMap;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [create-route-map-from-tree.ts:
|
|
9
|
+
Defined in: [create-route-map-from-tree.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/create-route-map-from-tree.ts#L33)
|
|
10
10
|
|
|
11
11
|
Create a `RouteMap` from a `RouteTree` node structure.
|
|
12
12
|
|
|
13
13
|
Used by framework-router adapters (React Router, TanStack Router) that pass a
|
|
14
14
|
`RouteTree` produced by `extractMachineRoutes()` rather than calling
|
|
15
|
-
`
|
|
15
|
+
`createRouteMap()` directly.
|
|
16
16
|
|
|
17
17
|
Traverses all nodes collecting `{ stateId: node.id, path: node.fullPath }` pairs.
|
|
18
18
|
`node.fullPath` is always the absolute resolved path (e.g. `"/dashboard/overview"`),
|
|
19
19
|
which is what `RouteMap` needs for browser URL matching. This matches the
|
|
20
|
-
behaviour of `
|
|
20
|
+
behaviour of `createRouteMap(machine)`, which also uses `node.fullPath`.
|
|
21
21
|
|
|
22
22
|
## Parameters
|
|
23
23
|
|
|
24
|
-
| Parameter | Type
|
|
25
|
-
| ----------- |
|
|
26
|
-
| `routeTree` | [`RouteTree`](../interfaces/RouteTree.md)
|
|
24
|
+
| Parameter | Type | Description |
|
|
25
|
+
| ----------- | ----------------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
26
|
+
| `routeTree` | [`RouteTree`](../interfaces/RouteTree.md) | A `RouteTree` as returned by `extractMachineRoutes()`. |
|
|
27
|
+
| `options?` | [`RouteMapOptions`](../interfaces/RouteMapOptions.md) | Optional configuration (e.g. `{ cacheSize }` to override the LRU cache size). |
|
|
27
28
|
|
|
28
29
|
## Returns
|
|
29
30
|
|
|
@@ -35,10 +36,10 @@ A `RouteMap` for use with any `RouterBridgeBase`-based adapter.
|
|
|
35
36
|
|
|
36
37
|
```typescript
|
|
37
38
|
// Preferred — single call for XState machines:
|
|
38
|
-
import {
|
|
39
|
-
const routeMap =
|
|
39
|
+
import { createRouteMap } from "@xmachines/play-router";
|
|
40
|
+
const routeMap = createRouteMap(machine); // takes AnyStateMachine
|
|
40
41
|
|
|
41
|
-
//
|
|
42
|
+
// Two-step form used by framework adapters that work with route trees:
|
|
42
43
|
import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
|
|
43
44
|
const routeTree = extractMachineRoutes(machine);
|
|
44
45
|
const routeMap = createRouteMapFromTree(routeTree); // uses node.fullPath (absolute)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMatcher
|
|
2
|
+
|
|
3
|
+
# Function: createRouteMatcher()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createRouteMatcher(routeTree): RouteMatcher;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [create-route-matcher.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/create-route-matcher.ts#L74)
|
|
10
|
+
|
|
11
|
+
Create a URL pattern matcher from a RouteTree for efficient path lookups.
|
|
12
|
+
|
|
13
|
+
Architecture:
|
|
14
|
+
|
|
15
|
+
- Pure function - no side effects
|
|
16
|
+
- O(1) lookups for exact matches via Map
|
|
17
|
+
- O(k) bucket-indexed pattern matching with URLPattern, where k = routes in the
|
|
18
|
+
first-segment bucket (typically << total routes)
|
|
19
|
+
- Returns formatted state IDs (with # prefix)
|
|
20
|
+
- Extracts params from matched patterns
|
|
21
|
+
|
|
22
|
+
**URLPattern requirement:** Dynamic route pattern matching requires `URLPattern`
|
|
23
|
+
to be available on `globalThis`. On Node.js < 24 and older browsers, load a polyfill
|
|
24
|
+
before calling this function:
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import "urlpattern-polyfill"; // before importing @xmachines/play-router
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If `URLPattern` is unavailable, a `URLPatternUnavailableError` is thrown.
|
|
31
|
+
Static (exact) routes are unaffected by URLPattern availability.
|
|
32
|
+
|
|
33
|
+
Usage:
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
const routeTree = extractMachineRoutes(machine);
|
|
37
|
+
const routeMatcher = createRouteMatcher(routeTree);
|
|
38
|
+
|
|
39
|
+
const { to, params } = routeMatcher.match("/settings/account");
|
|
40
|
+
if (to) {
|
|
41
|
+
actor.send({ type: "play.route", to, params });
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Parameters
|
|
46
|
+
|
|
47
|
+
| Parameter | Type |
|
|
48
|
+
| ----------- | ----------------------------------------- |
|
|
49
|
+
| `routeTree` | [`RouteTree`](../interfaces/RouteTree.md) |
|
|
50
|
+
|
|
51
|
+
## Returns
|
|
52
|
+
|
|
53
|
+
[`RouteMatcher`](../interfaces/RouteMatcher.md)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function detectDuplicateRoutes(routes): void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [validate-routes.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [validate-routes.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.44/packages/play-router/src/validate-routes.ts#L50)
|
|
10
10
|
|
|
11
11
|
Detect duplicate route paths
|
|
12
12
|
|