@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
|
# Abstract Class: RouterBridgeBase
|
|
4
4
|
|
|
5
|
-
Defined in: [router-bridge-base.ts:
|
|
5
|
+
Defined in: [router-bridge-base.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L84)
|
|
6
6
|
|
|
7
7
|
Abstract base class for all `@xmachines` router adapter bridges.
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ 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:98](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L98)
|
|
34
34
|
|
|
35
35
|
#### Parameters
|
|
36
36
|
|
|
@@ -49,15 +49,15 @@ Defined in: [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-
|
|
|
49
49
|
|
|
50
50
|
| Property | Modifier | Type | Default value | Description | Defined in |
|
|
51
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:
|
|
53
|
-
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:
|
|
54
|
-
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:
|
|
55
|
-
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:
|
|
56
|
-
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [router-bridge-base.ts:
|
|
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. | [router-bridge-base.ts:
|
|
58
|
-
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:
|
|
59
|
-
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:
|
|
60
|
-
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [router-bridge-base.ts:
|
|
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:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L99) |
|
|
53
|
+
| <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [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) |
|
|
54
|
+
| <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [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) |
|
|
55
|
+
| <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [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) |
|
|
56
|
+
| <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [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) |
|
|
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. | [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) |
|
|
58
|
+
| `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [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) |
|
|
59
|
+
| `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [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) |
|
|
60
|
+
| <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [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) |
|
|
61
61
|
|
|
62
62
|
## Methods
|
|
63
63
|
|
|
@@ -67,7 +67,7 @@ Defined in: [router-bridge-base.ts:101](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:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L126)
|
|
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:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L209)
|
|
103
103
|
|
|
104
104
|
Disconnect the router bridge from the Actor.
|
|
105
105
|
|
|
@@ -121,14 +121,14 @@ 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:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L318)
|
|
125
125
|
|
|
126
126
|
Extract path parameters from URL using the URLPattern API.
|
|
127
127
|
|
|
128
128
|
Accesses `globalThis.URLPattern` at runtime — no polyfill is imported by this
|
|
129
|
-
library. If `URLPattern` is unavailable
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
library. If `URLPattern` is unavailable and the matched route has parameterized
|
|
130
|
+
segments, a `URLPatternUnavailableError` is thrown — callers must provide a polyfill
|
|
131
|
+
for environments without native URLPattern support (Node.js < 24, older browsers).
|
|
132
132
|
|
|
133
133
|
#### Parameters
|
|
134
134
|
|
|
@@ -141,7 +141,11 @@ works, params will be empty).
|
|
|
141
141
|
|
|
142
142
|
`Record`\<`string`, `string`\>
|
|
143
143
|
|
|
144
|
-
Extracted path parameters, or empty object if
|
|
144
|
+
Extracted path parameters, or empty object if no match
|
|
145
|
+
|
|
146
|
+
#### Throws
|
|
147
|
+
|
|
148
|
+
When URLPattern is absent and the route is parameterized
|
|
145
149
|
|
|
146
150
|
---
|
|
147
151
|
|
|
@@ -151,7 +155,7 @@ Extracted path parameters, or empty object if URLPattern is unavailable or no ma
|
|
|
151
155
|
protected extractQuery(search): Record<string, string>;
|
|
152
156
|
```
|
|
153
157
|
|
|
154
|
-
Defined in: [router-bridge-base.ts:
|
|
158
|
+
Defined in: [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)
|
|
155
159
|
|
|
156
160
|
Extract query parameters from URL search string.
|
|
157
161
|
|
|
@@ -175,7 +179,7 @@ Extracted query parameters or empty object
|
|
|
175
179
|
protected getInitialRouterPath(): string | null | undefined;
|
|
176
180
|
```
|
|
177
181
|
|
|
178
|
-
Defined in: [router-bridge-base.ts:
|
|
182
|
+
Defined in: [router-bridge-base.ts:412](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L412)
|
|
179
183
|
|
|
180
184
|
Return the router's current pathname at connect() time.
|
|
181
185
|
|
|
@@ -201,13 +205,39 @@ bridges that have not yet implemented this hook.
|
|
|
201
205
|
|
|
202
206
|
---
|
|
203
207
|
|
|
208
|
+
### getInitialRouterSearch()
|
|
209
|
+
|
|
210
|
+
```ts
|
|
211
|
+
protected getInitialRouterSearch(): string | undefined;
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Defined in: [router-bridge-base.ts:429](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L429)
|
|
215
|
+
|
|
216
|
+
Return the router's current search string at connect() time.
|
|
217
|
+
|
|
218
|
+
Paired with `getInitialRouterPath()` — called once during connect() to pass
|
|
219
|
+
the initial URL query string to `syncActorFromRouter()`. If the router's current
|
|
220
|
+
URL has no search (or the subclass doesn't override this), returns `undefined`
|
|
221
|
+
and `syncActorFromRouter` will produce an empty `query: {}` in the event.
|
|
222
|
+
|
|
223
|
+
Subclasses that override `getInitialRouterPath()` and have a query string
|
|
224
|
+
available should also override this method.
|
|
225
|
+
|
|
226
|
+
#### Returns
|
|
227
|
+
|
|
228
|
+
`string` \| `undefined`
|
|
229
|
+
|
|
230
|
+
URL search string (e.g. `"?tab=security"`), or `undefined` if not available.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
204
234
|
### navigateRouter()
|
|
205
235
|
|
|
206
236
|
```ts
|
|
207
237
|
abstract protected navigateRouter(path): void;
|
|
208
238
|
```
|
|
209
239
|
|
|
210
|
-
Defined in: [router-bridge-base.ts:
|
|
240
|
+
Defined in: [router-bridge-base.ts:367](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L367)
|
|
211
241
|
|
|
212
242
|
Navigate the framework router to the given path.
|
|
213
243
|
|
|
@@ -226,13 +256,48 @@ Must trigger the framework router's navigation (e.g., router.navigate(path)).
|
|
|
226
256
|
|
|
227
257
|
---
|
|
228
258
|
|
|
259
|
+
### resolveNavigationPath()
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
protected resolveNavigationPath(route): string | null;
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Defined in: [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)
|
|
266
|
+
|
|
267
|
+
Resolve an actor route value to a concrete URL path for navigation.
|
|
268
|
+
|
|
269
|
+
Bridges that receive raw `actor.currentRoute` values in `navigateRouter`
|
|
270
|
+
can call this to normalize stateIds (with or without `#` prefix) to paths.
|
|
271
|
+
Returns `null` when navigation is not possible:
|
|
272
|
+
|
|
273
|
+
- unknown stateId with no route map entry
|
|
274
|
+
- parameterized pattern (e.g. `/profile/:id`) — no concrete values available
|
|
275
|
+
- non-path string that isn't a known stateId
|
|
276
|
+
|
|
277
|
+
Route maps may store stateIds with or without the `#` prefix; both forms
|
|
278
|
+
are tried automatically.
|
|
279
|
+
|
|
280
|
+
#### Parameters
|
|
281
|
+
|
|
282
|
+
| Parameter | Type | Description |
|
|
283
|
+
| --------- | -------- | -------------------------------------------------------------- |
|
|
284
|
+
| `route` | `string` | Raw actor route value (stateId, `#`-stateId, or concrete path) |
|
|
285
|
+
|
|
286
|
+
#### Returns
|
|
287
|
+
|
|
288
|
+
`string` \| `null`
|
|
289
|
+
|
|
290
|
+
Concrete URL path, or `null` if navigation should be skipped
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
229
294
|
### syncActorFromRouter()
|
|
230
295
|
|
|
231
296
|
```ts
|
|
232
297
|
protected syncActorFromRouter(pathname, search?): void;
|
|
233
298
|
```
|
|
234
299
|
|
|
235
|
-
Defined in: [router-bridge-base.ts:
|
|
300
|
+
Defined in: [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)
|
|
236
301
|
|
|
237
302
|
Sync actor state when router location changes.
|
|
238
303
|
|
|
@@ -258,7 +323,7 @@ Prevents circular updates via isProcessingNavigation flag.
|
|
|
258
323
|
protected syncRouterFromActor(route): void;
|
|
259
324
|
```
|
|
260
325
|
|
|
261
|
-
Defined in: [router-bridge-base.ts:
|
|
326
|
+
Defined in: [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)
|
|
262
327
|
|
|
263
328
|
Sync router location when actor route signal changes.
|
|
264
329
|
|
|
@@ -287,7 +352,7 @@ suppressed as circular echoes.
|
|
|
287
352
|
abstract protected unwatchRouterChanges(): void;
|
|
288
353
|
```
|
|
289
354
|
|
|
290
|
-
Defined in: [router-bridge-base.ts:
|
|
355
|
+
Defined in: [router-bridge-base.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L392)
|
|
291
356
|
|
|
292
357
|
Stop watching for router location changes.
|
|
293
358
|
|
|
@@ -305,13 +370,23 @@ Called by disconnect(). Should clean up the framework-specific subscription.
|
|
|
305
370
|
abstract protected watchRouterChanges(): void;
|
|
306
371
|
```
|
|
307
372
|
|
|
308
|
-
Defined in: [router-bridge-base.ts:
|
|
373
|
+
Defined in: [router-bridge-base.ts:385](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L385)
|
|
309
374
|
|
|
310
375
|
Start watching for router location changes.
|
|
311
376
|
|
|
312
377
|
Called by connect(). Should set up the framework-specific subscription
|
|
313
378
|
for location changes and call syncActorFromRouter() on each change.
|
|
314
379
|
|
|
380
|
+
**Implementations that call `syncActorFromRouter`** get `sanitizePathname`
|
|
381
|
+
applied automatically — no extra work needed.
|
|
382
|
+
|
|
383
|
+
**Implementations that bypass `syncActorFromRouter`** (e.g. `VueRouterBridge`,
|
|
384
|
+
which builds the `play.route` event directly from `afterEach` params) MUST
|
|
385
|
+
apply `sanitizePathname(path)` manually before processing the path. Skipping
|
|
386
|
+
this allows oversized or malformed paths through without the length/content
|
|
387
|
+
guards that protect the route-map lookup. Import `sanitizePathname` from
|
|
388
|
+
`@xmachines/play-router`.
|
|
389
|
+
|
|
315
390
|
#### Returns
|
|
316
391
|
|
|
317
392
|
`void`
|
|
@@ -9,7 +9,7 @@ function buildPlayRouteEvent(options): {
|
|
|
9
9
|
} | null;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [router-sync.ts:
|
|
12
|
+
Defined in: [router-sync.ts:140](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/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.26/packages/play-router/src/build-tree.ts#L13)
|
|
10
10
|
|
|
11
11
|
Build hierarchical route tree from flat route list
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function createRouteMap(routeTree): RouteMap;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map.ts#L74)
|
|
10
10
|
|
|
11
11
|
Create a RouteMap from a RouteTree for efficient path lookups.
|
|
12
12
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMapFromMachine
|
|
2
|
+
|
|
3
|
+
# Function: createRouteMapFromMachine()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createRouteMapFromMachine(machine): BaseRouteMap;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [create-route-map-from-machine.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-machine.ts#L26)
|
|
10
|
+
|
|
11
|
+
Create a `BaseRouteMap` from an XState state machine.
|
|
12
|
+
|
|
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.
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
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
|
+
|
|
24
|
+
## Returns
|
|
25
|
+
|
|
26
|
+
[`BaseRouteMap`](../classes/BaseRouteMap.md)
|
|
27
|
+
|
|
28
|
+
A `BaseRouteMap` for passing to any `RouterBridgeBase`-based adapter.
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { createRouteMapFromMachine } from "@xmachines/play-router";
|
|
34
|
+
import { connectRouter } from "@xmachines/play-dom-router";
|
|
35
|
+
|
|
36
|
+
const routeMap = createRouteMapFromMachine(myMachine);
|
|
37
|
+
const disconnect = connectRouter({ actor, router, routeMap });
|
|
38
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMapFromTree
|
|
2
|
+
|
|
3
|
+
# Function: createRouteMapFromTree()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createRouteMapFromTree(routeTree): BaseRouteMap;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [create-route-map-from-tree.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-tree.ts#L31)
|
|
10
|
+
|
|
11
|
+
Create a `BaseRouteMap` from a `RouteTree` node structure.
|
|
12
|
+
|
|
13
|
+
Used by framework-router adapters (React Router, TanStack Router) that pass a
|
|
14
|
+
`RouteTree` produced by `extractMachineRoutes()` rather than calling
|
|
15
|
+
`createRouteMapFromMachine()` directly.
|
|
16
|
+
|
|
17
|
+
Traverses all nodes collecting `{ stateId: node.id, path: node.fullPath }` pairs.
|
|
18
|
+
`node.fullPath` is always the absolute resolved path (e.g. `"/dashboard/overview"`),
|
|
19
|
+
which is what `BaseRouteMap` needs for browser URL matching. This matches the
|
|
20
|
+
behaviour of `createRouteMapFromMachine`, which also uses `node.fullPath`.
|
|
21
|
+
|
|
22
|
+
## Parameters
|
|
23
|
+
|
|
24
|
+
| Parameter | Type | Description |
|
|
25
|
+
| ----------- | ----------------------------------------- | ------------------------------------------------------ |
|
|
26
|
+
| `routeTree` | [`RouteTree`](../interfaces/RouteTree.md) | A `RouteTree` as returned by `extractMachineRoutes()`. |
|
|
27
|
+
|
|
28
|
+
## Returns
|
|
29
|
+
|
|
30
|
+
[`BaseRouteMap`](../classes/BaseRouteMap.md)
|
|
31
|
+
|
|
32
|
+
A `BaseRouteMap` for use with any `RouterBridgeBase`-based adapter.
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// Preferred — single call for XState machines:
|
|
38
|
+
import { createRouteMapFromMachine } from "@xmachines/play-router";
|
|
39
|
+
const routeMap = createRouteMapFromMachine(machine);
|
|
40
|
+
|
|
41
|
+
// Equivalent two-step form used by framework adapters:
|
|
42
|
+
import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
|
|
43
|
+
const routeTree = extractMachineRoutes(machine);
|
|
44
|
+
const routeMap = createRouteMapFromTree(routeTree); // uses node.fullPath (absolute)
|
|
45
|
+
```
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function detectDuplicateRoutes(routes): void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [validate-routes.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [validate-routes.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L51)
|
|
10
10
|
|
|
11
11
|
Detect duplicate route paths
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function extractMachineRoutes(machine): RouteTree;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/extract-routes.ts#L93)
|
|
10
10
|
|
|
11
11
|
Extract complete route tree from state machine graph
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function extractQuery(search): Record<string, string>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [router-sync.ts:
|
|
9
|
+
Defined in: [router-sync.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L121)
|
|
10
10
|
|
|
11
11
|
Parse a URL search string into the plain object shape expected by
|
|
12
12
|
`play.route` events.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / extractRouteParams
|
|
2
|
+
|
|
3
|
+
# Function: extractRouteParams()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function extractRouteParams(pathname, pattern): Record<string, string>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [router-sync.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L101)
|
|
10
|
+
|
|
11
|
+
Extract named path parameters from a URL using the URLPattern API.
|
|
12
|
+
|
|
13
|
+
Takes the pattern string directly — use this when the pattern is already known.
|
|
14
|
+
For extraction via a state ID lookup, see `RouterBridgeBase.extractParams`.
|
|
15
|
+
|
|
16
|
+
Undefined values (unmatched optional segments, e.g. `/settings` against
|
|
17
|
+
`/settings/:section?`) are omitted from the returned object.
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
|
|
21
|
+
| Parameter | Type | Description |
|
|
22
|
+
| ---------- | -------- | ---------------------------------------------------- |
|
|
23
|
+
| `pathname` | `string` | The concrete URL pathname (e.g. `/profile/alice`) |
|
|
24
|
+
| `pattern` | `string` | The URL pattern template (e.g. `/profile/:username`) |
|
|
25
|
+
|
|
26
|
+
## Returns
|
|
27
|
+
|
|
28
|
+
`Record`\<`string`, `string`\>
|
|
29
|
+
|
|
30
|
+
A record of extracted parameter values, or `{}` for static patterns.
|
|
31
|
+
|
|
32
|
+
## Throws
|
|
33
|
+
|
|
34
|
+
When `URLPattern` is absent and the pattern is parameterized.
|
|
35
|
+
|
|
36
|
+
## Example
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { extractRouteParams } from "@xmachines/play-router";
|
|
40
|
+
|
|
41
|
+
extractRouteParams("/profile/alice", "/profile/:username");
|
|
42
|
+
// → { username: "alice" }
|
|
43
|
+
|
|
44
|
+
extractRouteParams("/settings", "/settings/:section?");
|
|
45
|
+
// → {} (optional param absent — not included)
|
|
46
|
+
```
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function findRouteById(tree, id): RouteNode | undefined;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [find-route.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [find-route.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/find-route.ts#L52)
|
|
10
10
|
|
|
11
11
|
Find route node by state ID
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function findRouteByPath(tree, path): RouteNode | undefined;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [find-route.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [find-route.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/find-route.ts#L77)
|
|
10
10
|
|
|
11
11
|
Find route node by URL path
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function getNavigableRoutes(tree, stateId): RouteNode[];
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [query.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [query.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L22)
|
|
10
10
|
|
|
11
11
|
Get all routes navigable from given state
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function getRoutableRoutes(tree): RouteNode[];
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [query.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [query.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L67)
|
|
10
10
|
|
|
11
11
|
Get all routable routes from tree as flat array
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function getTransitionReachableRoutes(graph, stateId): string[];
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [query.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [query.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L113)
|
|
10
10
|
|
|
11
11
|
Get routes reachable via transitions from current state
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function isRouteReachable(graph, fromStateId, toStateId): boolean;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [query.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [query.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L149)
|
|
10
10
|
|
|
11
11
|
Check if a route is reachable from current state via transitions
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function machineToGraph(machine): MachineGraph;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [machine-to-graph.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [machine-to-graph.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/machine-to-graph.ts#L70)
|
|
10
10
|
|
|
11
11
|
## Parameters
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function routeExists(tree, path): boolean;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [query.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [query.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L89)
|
|
10
10
|
|
|
11
11
|
Validate route path exists in tree
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function sanitizePathname(pathname): string | null;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [router-sync.ts:
|
|
9
|
+
Defined in: [router-sync.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L69)
|
|
10
10
|
|
|
11
11
|
Normalize a pathname before route-map lookup.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function validateRouteFormat(routePath, stateId): void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [validate-routes.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [validate-routes.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L14)
|
|
10
10
|
|
|
11
11
|
Validate route path format
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function validateStateExists(stateId, stateIds): void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [validate-routes.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [validate-routes.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L32)
|
|
10
10
|
|
|
11
11
|
Validate state exists in state ID set
|
|
12
12
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: BuildPlayRouteEventOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [router-sync.ts:
|
|
5
|
+
Defined in: [router-sync.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L14)
|
|
6
6
|
|
|
7
7
|
## Properties
|
|
8
8
|
|
|
9
9
|
| Property | Type | Defined in |
|
|
10
10
|
| ----------------------------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
-
| <a id="property-pathname"></a> `pathname` | `string` | [router-sync.ts:
|
|
12
|
-
| <a id="property-resolve"></a> `resolve` | (`sanitizedPathname`) => [`RouteMatch`](RouteMatch.md) | [router-sync.ts:
|
|
13
|
-
| <a id="property-search"></a> `search?` | `string` | [router-sync.ts:
|
|
11
|
+
| <a id="property-pathname"></a> `pathname` | `string` | [router-sync.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L15) |
|
|
12
|
+
| <a id="property-resolve"></a> `resolve` | (`sanitizedPathname`) => [`RouteMatch`](RouteMatch.md) | [router-sync.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L17) |
|
|
13
|
+
| <a id="property-search"></a> `search?` | `string` | [router-sync.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L16) |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / LocationLike
|
|
2
|
+
|
|
3
|
+
# Interface: LocationLike
|
|
4
|
+
|
|
5
|
+
Defined in: [types.ts:344](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L344)
|
|
6
|
+
|
|
7
|
+
Minimal location interface required by adapters that read the current URL at
|
|
8
|
+
`connect()` time. Injectable for SSR and testing — pass a mock instead of the
|
|
9
|
+
global `location` when the DOM is unavailable.
|
|
10
|
+
|
|
11
|
+
Defined structurally (no `Location` reference) so this package compiles without
|
|
12
|
+
the DOM lib.
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
// SSR / test — injected mock
|
|
18
|
+
const mockLoc: LocationLike = { pathname: "/dashboard", search: "?tab=posts" };
|
|
19
|
+
connectRouter({ actor, routeMap, location: mockLoc });
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Properties
|
|
23
|
+
|
|
24
|
+
| Property | Modifier | Type | Defined in |
|
|
25
|
+
| ----------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
26
|
+
| <a id="property-pathname"></a> `pathname` | `readonly` | `string` | [types.ts:345](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L345) |
|
|
27
|
+
| <a id="property-search"></a> `search` | `readonly` | `string` | [types.ts:346](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L346) |
|