@xmachines/docs 1.0.0-beta.25 → 1.0.0-beta.26
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/classes/PlayError.md +10 -4
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +4 -0
- package/api/@xmachines/play-actor/classes/AbstractActor.md +49 -92
- package/api/@xmachines/play-actor/functions/typedSpec.md +57 -0
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +9 -18
- package/api/@xmachines/play-actor/interfaces/Routable.md +5 -21
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +6 -6
- package/api/@xmachines/play-actor/interfaces/Viewable.md +5 -6
- 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/renderSpec.md +1 -1
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
- 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-router/README.md +10 -0
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +18 -46
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +38 -0
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +119 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +114 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +50 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-react/README.md +4 -4
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
- package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
- 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/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react-router/README.md +5 -1
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +102 -25
- package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -33
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +8 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +21 -11
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +18 -8
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/README.md +42 -5
- package/api/@xmachines/play-router/classes/BaseRouteMap.md +12 -19
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +100 -25
- 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 +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +38 -0
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +45 -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 +46 -0
- 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 +27 -0
- 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 +8 -8
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
- package/api/@xmachines/play-router/interfaces/{BaseRouteMapping.md → RouteMapping.md} +5 -5
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
- 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 +3 -3
- package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
- 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/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/namespaces/Signal/classes/Computed.md +6 -0
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +4 -4
- package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +13 -26
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +121 -46
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +15 -9
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +47 -92
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +19 -6
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +21 -18
- package/api/@xmachines/play-svelte/README.md +28 -0
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +9 -9
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +2 -0
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +2 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +1 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +13 -26
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +14 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +23 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +20 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/README.md +2 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +46 -24
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +14 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +23 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +10 -10
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +20 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +6 -26
- package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- 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 +23 -24
- package/api/@xmachines/play-vue/README.md +4 -4
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
- 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 -2
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
- 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 +15 -15
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
- 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 +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
- 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 +14 -12
- 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/functions/defineXmVitestConfig.md +2 -2
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/README.md +4 -4
- package/api/llms.txt +3 -3
- package/examples/README.md +5 -0
- package/examples/routing-patterns.md +6 -4
- package/package.json +2 -2
- package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
- package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: VueRouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
5
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L16)
|
|
6
6
|
|
|
7
7
|
@xmachines/play-vue-router - Vue Router 4.x adapter for XMachines Play
|
|
8
8
|
|
|
@@ -20,33 +20,23 @@ Provides bidirectional integration between Vue Router and XMachines state machin
|
|
|
20
20
|
new VueRouterBridge(
|
|
21
21
|
vueRouter,
|
|
22
22
|
actor,
|
|
23
|
-
|
|
23
|
+
routeMap): VueRouterBridge;
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
27
|
-
|
|
28
|
-
Create a Vue Router bridge
|
|
26
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L21)
|
|
29
27
|
|
|
30
28
|
#### Parameters
|
|
31
29
|
|
|
32
|
-
| Parameter
|
|
33
|
-
|
|
|
34
|
-
| `vueRouter`
|
|
35
|
-
| `actor`
|
|
36
|
-
| `
|
|
30
|
+
| Parameter | Type |
|
|
31
|
+
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
32
|
+
| `vueRouter` | `Router` |
|
|
33
|
+
| `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) |
|
|
34
|
+
| `routeMap` | [`RouteMap`](RouteMap.md) |
|
|
37
35
|
|
|
38
36
|
#### Returns
|
|
39
37
|
|
|
40
38
|
`VueRouterBridge`
|
|
41
39
|
|
|
42
|
-
#### Example
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
const bridge = new VueRouterBridge(router, actor, routeMap);
|
|
46
|
-
bridge.connect(); // Explicit connect — NOT automatic
|
|
47
|
-
onUnmounted(() => bridge.disconnect());
|
|
48
|
-
```
|
|
49
|
-
|
|
50
40
|
#### Overrides
|
|
51
41
|
|
|
52
42
|
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
|
|
@@ -55,15 +45,15 @@ onUnmounted(() => bridge.disconnect());
|
|
|
55
45
|
|
|
56
46
|
| Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
|
|
57
47
|
| --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
58
|
-
| <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`. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`actor`](../../play-router/classes/RouterBridgeBase.md#property-actor) | [play-router/src/router-bridge-base.ts:
|
|
59
|
-
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`hasConnectedOnce`](../../play-router/classes/RouterBridgeBase.md#property-hasconnectedonce) | [play-router/src/router-bridge-base.ts:
|
|
60
|
-
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isConnected`](../../play-router/classes/RouterBridgeBase.md#property-isconnected) | [play-router/src/router-bridge-base.ts:
|
|
61
|
-
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isProcessingNavigation`](../../play-router/classes/RouterBridgeBase.md#property-isprocessingnavigation) | [play-router/src/router-bridge-base.ts:
|
|
62
|
-
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`lastSyncedPath`](../../play-router/classes/RouterBridgeBase.md#property-lastsyncedpath) | [play-router/src/router-bridge-base.ts:
|
|
63
|
-
| <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. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeMap`](../../play-router/classes/RouterBridgeBase.md#property-routemap) | [play-router/src/router-bridge-base.ts:
|
|
64
|
-
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:
|
|
65
|
-
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:
|
|
66
|
-
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | \| [`RouteWatcherHandle`](../../play-router/interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeWatcher`](../../play-router/classes/RouterBridgeBase.md#property-routewatcher) | [play-router/src/router-bridge-base.ts:
|
|
48
|
+
| <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`. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`actor`](../../play-router/classes/RouterBridgeBase.md#property-actor) | [play-router/src/router-bridge-base.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L99) |
|
|
49
|
+
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`hasConnectedOnce`](../../play-router/classes/RouterBridgeBase.md#property-hasconnectedonce) | [play-router/src/router-bridge-base.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L87) |
|
|
50
|
+
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isConnected`](../../play-router/classes/RouterBridgeBase.md#property-isconnected) | [play-router/src/router-bridge-base.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L86) |
|
|
51
|
+
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isProcessingNavigation`](../../play-router/classes/RouterBridgeBase.md#property-isprocessingnavigation) | [play-router/src/router-bridge-base.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L89) |
|
|
52
|
+
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`lastSyncedPath`](../../play-router/classes/RouterBridgeBase.md#property-lastsyncedpath) | [play-router/src/router-bridge-base.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L88) |
|
|
53
|
+
| <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. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeMap`](../../play-router/classes/RouterBridgeBase.md#property-routemap) | [play-router/src/router-bridge-base.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L100) |
|
|
54
|
+
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L102) |
|
|
55
|
+
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L101) |
|
|
56
|
+
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | \| [`RouteWatcherHandle`](../../play-router/interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeWatcher`](../../play-router/classes/RouterBridgeBase.md#property-routewatcher) | [play-router/src/router-bridge-base.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L90) |
|
|
67
57
|
|
|
68
58
|
## Methods
|
|
69
59
|
|
|
@@ -73,7 +63,7 @@ onUnmounted(() => bridge.disconnect());
|
|
|
73
63
|
connect(): void;
|
|
74
64
|
```
|
|
75
65
|
|
|
76
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
66
|
+
Defined in: [play-router/src/router-bridge-base.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L126)
|
|
77
67
|
|
|
78
68
|
Connect the router bridge to the Actor.
|
|
79
69
|
|
|
@@ -105,7 +95,7 @@ Adapters that need custom initial-sync behavior should override
|
|
|
105
95
|
disconnect(): void;
|
|
106
96
|
```
|
|
107
97
|
|
|
108
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
98
|
+
Defined in: [play-router/src/router-bridge-base.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L209)
|
|
109
99
|
|
|
110
100
|
Disconnect the router bridge from the Actor.
|
|
111
101
|
|
|
@@ -127,20 +117,14 @@ Stops signal watching and unregisters framework-specific router listener.
|
|
|
127
117
|
dispose(): void;
|
|
128
118
|
```
|
|
129
119
|
|
|
130
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
120
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:135](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L135)
|
|
131
121
|
|
|
132
|
-
Cleanup alias for component lifecycle
|
|
122
|
+
Cleanup alias for Vue component lifecycle (`onUnmounted(() => bridge.dispose())`).
|
|
133
123
|
|
|
134
124
|
#### Returns
|
|
135
125
|
|
|
136
126
|
`void`
|
|
137
127
|
|
|
138
|
-
#### Example
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
onUnmounted(() => bridge.dispose());
|
|
142
|
-
```
|
|
143
|
-
|
|
144
128
|
---
|
|
145
129
|
|
|
146
130
|
### extractParams()
|
|
@@ -149,14 +133,14 @@ onUnmounted(() => bridge.dispose());
|
|
|
149
133
|
protected extractParams(pathname, stateId): Record<string, string>;
|
|
150
134
|
```
|
|
151
135
|
|
|
152
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
136
|
+
Defined in: [play-router/src/router-bridge-base.ts:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L318)
|
|
153
137
|
|
|
154
138
|
Extract path parameters from URL using the URLPattern API.
|
|
155
139
|
|
|
156
140
|
Accesses `globalThis.URLPattern` at runtime — no polyfill is imported by this
|
|
157
|
-
library. If `URLPattern` is unavailable
|
|
158
|
-
|
|
159
|
-
|
|
141
|
+
library. If `URLPattern` is unavailable and the matched route has parameterized
|
|
142
|
+
segments, a `URLPatternUnavailableError` is thrown — callers must provide a polyfill
|
|
143
|
+
for environments without native URLPattern support (Node.js < 24, older browsers).
|
|
160
144
|
|
|
161
145
|
#### Parameters
|
|
162
146
|
|
|
@@ -169,7 +153,11 @@ works, params will be empty).
|
|
|
169
153
|
|
|
170
154
|
`Record`\<`string`, `string`\>
|
|
171
155
|
|
|
172
|
-
Extracted path parameters, or empty object if
|
|
156
|
+
Extracted path parameters, or empty object if no match
|
|
157
|
+
|
|
158
|
+
#### Throws
|
|
159
|
+
|
|
160
|
+
When URLPattern is absent and the route is parameterized
|
|
173
161
|
|
|
174
162
|
#### Inherited from
|
|
175
163
|
|
|
@@ -183,7 +171,7 @@ Extracted path parameters, or empty object if URLPattern is unavailable or no ma
|
|
|
183
171
|
protected extractQuery(search): Record<string, string>;
|
|
184
172
|
```
|
|
185
173
|
|
|
186
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
174
|
+
Defined in: [play-router/src/router-bridge-base.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L355)
|
|
187
175
|
|
|
188
176
|
Extract query parameters from URL search string.
|
|
189
177
|
|
|
@@ -211,14 +199,25 @@ Extracted query parameters or empty object
|
|
|
211
199
|
protected getInitialRouterPath(): string | null;
|
|
212
200
|
```
|
|
213
201
|
|
|
214
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
202
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:115](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L115)
|
|
203
|
+
|
|
204
|
+
Return the router's current pathname at connect() time.
|
|
215
205
|
|
|
216
|
-
|
|
206
|
+
Called once during connect() to perform the initial URL → actor sync.
|
|
207
|
+
router.subscribe() only fires on _future_ navigation events; it does not
|
|
208
|
+
replay the already-loaded location. Subclasses that can read the router's
|
|
209
|
+
current location synchronously (e.g. `router.state.location.pathname`)
|
|
210
|
+
should override this method so that deep-link / direct-URL loads drive the
|
|
211
|
+
actor to the correct state instead of leaving it at its machine default.
|
|
217
212
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
213
|
+
Return semantics:
|
|
214
|
+
|
|
215
|
+
- `string` → router has a current path; base connect() will sync actor from router
|
|
216
|
+
- `null` → router is active but has no current path yet; base connect() will sync router from actor
|
|
217
|
+
- `undefined` → adapter handles initial sync itself and base connect() should stay out of the way
|
|
218
|
+
|
|
219
|
+
The default returns `undefined`, preserving the previous behaviour for
|
|
220
|
+
bridges that have not yet implemented this hook.
|
|
222
221
|
|
|
223
222
|
#### Returns
|
|
224
223
|
|
|
@@ -230,19 +229,44 @@ bridge pushes actor's route to the router).
|
|
|
230
229
|
|
|
231
230
|
---
|
|
232
231
|
|
|
232
|
+
### getInitialRouterSearch()
|
|
233
|
+
|
|
234
|
+
```ts
|
|
235
|
+
protected getInitialRouterSearch(): string | undefined;
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L127)
|
|
239
|
+
|
|
240
|
+
Return the initial URL search string for query-param forwarding on `connect()`.
|
|
241
|
+
|
|
242
|
+
Vue Router does not expose a raw `search` string on the normalized route — only
|
|
243
|
+
`fullPath` (e.g. `"/profile/123?tab=posts"`). The search is extracted by slicing
|
|
244
|
+
from the first `"?"`. Returns `undefined` when no query string is present so
|
|
245
|
+
`syncActorFromRouter` produces `query: {}` rather than parsing an empty string.
|
|
246
|
+
|
|
247
|
+
#### Returns
|
|
248
|
+
|
|
249
|
+
`string` \| `undefined`
|
|
250
|
+
|
|
251
|
+
#### Overrides
|
|
252
|
+
|
|
253
|
+
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`getInitialRouterSearch`](../../play-router/classes/RouterBridgeBase.md#getinitialroutersearch)
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
233
257
|
### navigateRouter()
|
|
234
258
|
|
|
235
259
|
```ts
|
|
236
260
|
protected navigateRouter(path): void;
|
|
237
261
|
```
|
|
238
262
|
|
|
239
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
263
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L64)
|
|
240
264
|
|
|
241
|
-
Navigate Vue Router to the given path
|
|
265
|
+
Navigate Vue Router to the given path.
|
|
242
266
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
Navigation errors are thrown as [VueRouterNavigationError](#).
|
|
267
|
+
Receives a raw actor route value (stateId or concrete path).
|
|
268
|
+
`resolveNavigationPath` normalizes to a concrete path; parameterized patterns
|
|
269
|
+
are skipped. Navigation errors are thrown as [VueRouterNavigationError](#).
|
|
246
270
|
|
|
247
271
|
#### Parameters
|
|
248
272
|
|
|
@@ -260,13 +284,52 @@ Navigation errors are thrown as [VueRouterNavigationError](#).
|
|
|
260
284
|
|
|
261
285
|
---
|
|
262
286
|
|
|
287
|
+
### resolveNavigationPath()
|
|
288
|
+
|
|
289
|
+
```ts
|
|
290
|
+
protected resolveNavigationPath(route): string | null;
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Defined in: [play-router/src/router-bridge-base.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L340)
|
|
294
|
+
|
|
295
|
+
Resolve an actor route value to a concrete URL path for navigation.
|
|
296
|
+
|
|
297
|
+
Bridges that receive raw `actor.currentRoute` values in `navigateRouter`
|
|
298
|
+
can call this to normalize stateIds (with or without `#` prefix) to paths.
|
|
299
|
+
Returns `null` when navigation is not possible:
|
|
300
|
+
|
|
301
|
+
- unknown stateId with no route map entry
|
|
302
|
+
- parameterized pattern (e.g. `/profile/:id`) — no concrete values available
|
|
303
|
+
- non-path string that isn't a known stateId
|
|
304
|
+
|
|
305
|
+
Route maps may store stateIds with or without the `#` prefix; both forms
|
|
306
|
+
are tried automatically.
|
|
307
|
+
|
|
308
|
+
#### Parameters
|
|
309
|
+
|
|
310
|
+
| Parameter | Type | Description |
|
|
311
|
+
| --------- | -------- | -------------------------------------------------------------- |
|
|
312
|
+
| `route` | `string` | Raw actor route value (stateId, `#`-stateId, or concrete path) |
|
|
313
|
+
|
|
314
|
+
#### Returns
|
|
315
|
+
|
|
316
|
+
`string` \| `null`
|
|
317
|
+
|
|
318
|
+
Concrete URL path, or `null` if navigation should be skipped
|
|
319
|
+
|
|
320
|
+
#### Inherited from
|
|
321
|
+
|
|
322
|
+
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`resolveNavigationPath`](../../play-router/classes/RouterBridgeBase.md#resolvenavigationpath)
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
263
326
|
### syncActorFromRouter()
|
|
264
327
|
|
|
265
328
|
```ts
|
|
266
329
|
protected syncActorFromRouter(pathname, search?): void;
|
|
267
330
|
```
|
|
268
331
|
|
|
269
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
332
|
+
Defined in: [play-router/src/router-bridge-base.ts:260](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L260)
|
|
270
333
|
|
|
271
334
|
Sync actor state when router location changes.
|
|
272
335
|
|
|
@@ -296,7 +359,7 @@ Prevents circular updates via isProcessingNavigation flag.
|
|
|
296
359
|
protected syncRouterFromActor(route): void;
|
|
297
360
|
```
|
|
298
361
|
|
|
299
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
362
|
+
Defined in: [play-router/src/router-bridge-base.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L240)
|
|
300
363
|
|
|
301
364
|
Sync router location when actor route signal changes.
|
|
302
365
|
|
|
@@ -329,9 +392,11 @@ suppressed as circular echoes.
|
|
|
329
392
|
protected unwatchRouterChanges(): void;
|
|
330
393
|
```
|
|
331
394
|
|
|
332
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
395
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L110)
|
|
396
|
+
|
|
397
|
+
Stop watching for router location changes.
|
|
333
398
|
|
|
334
|
-
|
|
399
|
+
Called by disconnect(). Should clean up the framework-specific subscription.
|
|
335
400
|
|
|
336
401
|
#### Returns
|
|
337
402
|
|
|
@@ -349,12 +414,12 @@ Unsubscribe from Vue Router afterEach guard.
|
|
|
349
414
|
protected watchRouterChanges(): void;
|
|
350
415
|
```
|
|
351
416
|
|
|
352
|
-
Defined in: [play-vue-router/src/vue-router-bridge.ts:
|
|
417
|
+
Defined in: [play-vue-router/src/vue-router-bridge.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/vue-router-bridge.ts#L78)
|
|
353
418
|
|
|
354
|
-
|
|
419
|
+
Subscribe to Vue Router changes using `afterEach`.
|
|
355
420
|
|
|
356
|
-
|
|
357
|
-
|
|
421
|
+
Uses Vue's native `to.params` / `to.query` for accurate extraction
|
|
422
|
+
instead of URLPattern-based re-parsing.
|
|
358
423
|
|
|
359
424
|
#### Returns
|
|
360
425
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function createRouteMap(machine): RouteMap;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-vue-router/src/create-route-map.ts:
|
|
9
|
+
Defined in: [play-vue-router/src/create-route-map.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/create-route-map.ts#L5)
|
|
10
10
|
|
|
11
11
|
## Parameters
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayRouteEvent
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:
|
|
5
|
+
Defined in: [play-router/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L223)
|
|
6
6
|
|
|
7
7
|
Enhanced routing event with parameter and query support
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ Target state ID with # prefix (e.g., '#home', '#profile')
|
|
|
30
30
|
|
|
31
31
|
## Param
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Path-only route parameters extracted from the URL path (e.g., `{ userId: '123' }` from `/profile/123`). Query parameters are kept separate in `query`.
|
|
34
34
|
|
|
35
35
|
## Param
|
|
36
36
|
|
|
@@ -85,7 +85,7 @@ import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
|
85
85
|
const event: PlayRouteEvent = {
|
|
86
86
|
type: "play.route",
|
|
87
87
|
to: "#settings",
|
|
88
|
-
params: { section: "profile" }, //
|
|
88
|
+
params: { section: "profile" }, // Path-only route parameter
|
|
89
89
|
query: { tab: "security" }, // Query-only
|
|
90
90
|
};
|
|
91
91
|
actor.send(event);
|
|
@@ -112,8 +112,8 @@ URLPatternResult for advanced use cases (debugging, pattern analysis).
|
|
|
112
112
|
|
|
113
113
|
| Property | Modifier | Type | Defined in |
|
|
114
114
|
| -------------------------------------- | ---------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
115
|
-
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:
|
|
116
|
-
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:
|
|
117
|
-
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:
|
|
118
|
-
| <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:
|
|
119
|
-
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:
|
|
115
|
+
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L228) |
|
|
116
|
+
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L226) |
|
|
117
|
+
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L227) |
|
|
118
|
+
| <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L225) |
|
|
119
|
+
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L224) |
|
|
@@ -2,14 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapping
|
|
4
4
|
|
|
5
|
-
Defined in: [play-
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L57)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
A single state ID ↔ path mapping entry.
|
|
8
|
+
|
|
9
|
+
Both fields are `readonly` — mappings are immutable once passed to `BaseRouteMap`.
|
|
10
|
+
Adapter packages re-export a structurally compatible `RouteMapping` type under
|
|
11
|
+
their own name. This type is published from `@xmachines/play-router` as
|
|
12
|
+
`BaseRouteMapping` to avoid name collisions with those adapter-local types.
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
const mapping: BaseRouteMapping = { stateId: "home", path: "/" };
|
|
18
|
+
const paramMapping: BaseRouteMapping = { stateId: "profile", path: "/profile/:userId" };
|
|
19
|
+
const optionalMapping: BaseRouteMapping = { stateId: "settings", path: "/settings/:section?" };
|
|
20
|
+
```
|
|
8
21
|
|
|
9
22
|
## Properties
|
|
10
23
|
|
|
11
|
-
| Property
|
|
12
|
-
|
|
|
13
|
-
| <a id="property-
|
|
14
|
-
| <a id="property-
|
|
15
|
-
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | XMachines state ID (e.g., '#home', '#profile') | [play-vue-router/src/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-vue-router/src/types.ts#L12) |
|
|
24
|
+
| Property | Modifier | Type | Description | Defined in |
|
|
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.26/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.26/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:
|
|
5
|
+
Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L271)
|
|
6
6
|
|
|
7
7
|
RouterBridge interface for runtime infrastructure adapters
|
|
8
8
|
|
|
@@ -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:
|
|
57
|
+
Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/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:
|
|
86
|
+
Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L303)
|
|
87
87
|
|
|
88
88
|
Disconnect the router bridge from the Actor
|
|
89
89
|
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
type RoutableActor = AbstractActor<AnyActorLogic> & Routable & Viewable;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-vue-router/src/play-router-provider.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [play-vue-router/src/play-router-provider.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/play-router-provider.ts#L10)
|
|
10
10
|
|
|
11
11
|
Minimum actor shape accepted by PlayRouterProvider.
|
|
@@ -64,7 +64,7 @@ const PlayRouterProvider: DefineComponent<
|
|
|
64
64
|
>;
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
Defined in: [play-vue-router/src/play-router-provider.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
67
|
+
Defined in: [play-vue-router/src/play-router-provider.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-vue-router/src/play-router-provider.ts#L19)
|
|
68
68
|
|
|
69
69
|
PlayRouterProvider — Vue convenience wrapper for VueRouterBridge.
|
|
70
70
|
|
|
@@ -40,8 +40,8 @@ const machine = setup({
|
|
|
40
40
|
types: {
|
|
41
41
|
context: {} as {
|
|
42
42
|
isAuthenticated: boolean;
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
params: Record<string, string>;
|
|
44
|
+
query: Record<string, string>;
|
|
45
45
|
},
|
|
46
46
|
events: {} as
|
|
47
47
|
| { type: "play.route"; to: string; params?: Record<string, string> }
|
|
@@ -52,7 +52,7 @@ const machine = setup({
|
|
|
52
52
|
formatPlayRouteTransitions({
|
|
53
53
|
id: "app",
|
|
54
54
|
initial: "login",
|
|
55
|
-
context: { isAuthenticated: false,
|
|
55
|
+
context: { isAuthenticated: false, params: {}, query: {} },
|
|
56
56
|
states: {
|
|
57
57
|
login: {
|
|
58
58
|
id: "login",
|
|
@@ -180,8 +180,8 @@ Concrete actor implementing Play signal protocol:
|
|
|
180
180
|
**Signal Properties:**
|
|
181
181
|
|
|
182
182
|
- `state: Signal.State<AnyMachineSnapshot>` — Reactive snapshot of current state
|
|
183
|
-
- `currentRoute: Signal.Computed<string | null>` — Derived URL from the current state's `meta.route` and `context.
|
|
184
|
-
- `currentView: Signal.State<ViewMetadata | null>` — Current view spec (updated on every state transition). The spec is automatically enriched with `context.
|
|
183
|
+
- `currentRoute: Signal.Computed<string | null>` — Derived URL from the current state's `meta.route` and `context.params`. Returns `null` when no route metadata is present or a required route parameter is missing from context.
|
|
184
|
+
- `currentView: Signal.State<ViewMetadata | null>` — Current view spec (updated on every state transition). The spec is automatically enriched with `context.params` (URL params) and any `contextProps`-allowlisted context fields before being emitted (see [Prop Enrichment from Routing and Context](#prop-enrichment-from-routing-and-context)).
|
|
185
185
|
|
|
186
186
|
**Lifecycle ordering:**
|
|
187
187
|
|
|
@@ -207,7 +207,7 @@ Concrete actor implementing Play signal protocol:
|
|
|
207
207
|
**View derivation and route-param enrichment:**
|
|
208
208
|
|
|
209
209
|
- `currentView` emits a fresh `ViewMetadata` object on every transition so TC39 Signal equality checks always detect changes (including re-entries to the same state with different params).
|
|
210
|
-
- `context.
|
|
210
|
+
- `context.params` and `contextProps`-allowlisted context fields are merged into spec element props — see [Prop Enrichment from Routing and Context](#prop-enrichment-from-routing-and-context).
|
|
211
211
|
|
|
212
212
|
**Example:**
|
|
213
213
|
|
|
@@ -316,8 +316,8 @@ const machine = setup({
|
|
|
316
316
|
types: {
|
|
317
317
|
context: {} as {
|
|
318
318
|
isAuthenticated: boolean;
|
|
319
|
-
|
|
320
|
-
|
|
319
|
+
params: Record<string, string>;
|
|
320
|
+
query: Record<string, string>;
|
|
321
321
|
},
|
|
322
322
|
events: {} as
|
|
323
323
|
| { type: "play.route"; to: string; params?: Record<string, string> }
|
|
@@ -474,7 +474,7 @@ spec: {
|
|
|
474
474
|
}
|
|
475
475
|
// After play.route to /settings/profile:
|
|
476
476
|
// Component receives: { section: "profile", username: "alice", theme: "dark" }
|
|
477
|
-
// section → from
|
|
477
|
+
// section → from context.params (URL)
|
|
478
478
|
// username → from contextProps (context)
|
|
479
479
|
// theme → from spec (explicit value, untouched)
|
|
480
480
|
```
|
|
@@ -526,11 +526,11 @@ it to be filled in automatically.
|
|
|
526
526
|
|
|
527
527
|
### Merge priority (highest → lowest)
|
|
528
528
|
|
|
529
|
-
| Source
|
|
530
|
-
|
|
|
531
|
-
| Explicit non-`undefined` spec prop
|
|
532
|
-
| URL route param (`context.
|
|
533
|
-
| `contextProps` field
|
|
529
|
+
| Source | When it applies | Wins over |
|
|
530
|
+
| ---------------------------------- | -------------------------------- | ------------------------- |
|
|
531
|
+
| Explicit non-`undefined` spec prop | Always | Everything |
|
|
532
|
+
| URL route param (`context.params`) | State has a `:param` URL segment | `contextProps` values |
|
|
533
|
+
| `contextProps` field | Listed in `spec.contextProps` | Nothing (lowest priority) |
|
|
534
534
|
|
|
535
535
|
### URL route parameters
|
|
536
536
|
|
|
@@ -580,7 +580,7 @@ If both a route param and a `contextProps` field share the same key, the route p
|
|
|
580
580
|
|
|
581
581
|
```typescript
|
|
582
582
|
// context.username = "alice" (logged-in user)
|
|
583
|
-
// play.route to /profile/demo →
|
|
583
|
+
// play.route to /profile/demo → context.params.username = "demo"
|
|
584
584
|
// contextProps: ["username"], props: { username: undefined }
|
|
585
585
|
// Component receives: { username: "demo" } ← route param wins
|
|
586
586
|
```
|