@xmachines/docs 1.0.0-beta.23 → 1.0.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/classes/PlayError.md +4 -4
- package/api/@xmachines/play/type-aliases/PlayEvent.md +3 -3
- package/api/@xmachines/play-actor/README.md +2 -2
- package/api/@xmachines/play-actor/classes/AbstractActor.md +4 -4
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/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/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- 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/PlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +21 -21
- package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/README.md +1 -1
- package/api/@xmachines/play-router/classes/BaseRouteMap.md +6 -4
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -21
- 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/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/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/BaseRouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- 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 +6 -6
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/README.md +2 -2
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
- 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 +1 -1
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +22 -22
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +4 -4
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-svelte/README.md +91 -0
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +52 -0
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +27 -0
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +27 -0
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +22 -0
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +16 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +7 -0
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +7 -0
- package/api/@xmachines/play-svelte/variables/getBoundProp.md +7 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +53 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +150 -0
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +19 -0
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +19 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +16 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +119 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +12 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-svelte-spa-router-demo/README.md +23 -0
- package/api/@xmachines/play-sveltekit-router/README.md +53 -0
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +115 -0
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +19 -0
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +19 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +12 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +119 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +12 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-sveltekit-router-demo/README.md +23 -0
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +21 -21
- 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 +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +22 -22
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-vue/README.md +1 -1
- 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/interfaces/PlayRendererProps.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +1 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +7 -7
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +7 -7
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +22 -22
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +4 -4
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +12 -12
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +2 -2
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/README.md +5 -0
- package/api/llms.txt +3 -0
- package/examples/multi-router-integration.md +34 -6
- package/package.json +2 -2
- package/api/rfc/play.md +0 -447
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRendererProps
|
|
2
|
+
|
|
3
|
+
# Interface: PlayRendererProps\<TLogic\>
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-svelte/src/types.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L13)
|
|
6
|
+
|
|
7
|
+
## Type Parameters
|
|
8
|
+
|
|
9
|
+
| Type Parameter | Default type |
|
|
10
|
+
| ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
11
|
+
| `TLogic` _extends_ [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) |
|
|
12
|
+
|
|
13
|
+
## Properties
|
|
14
|
+
|
|
15
|
+
| Property | Type | Description | Defined in |
|
|
16
|
+
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| <a id="property-actions"></a> `actions?` | `object` | - | [packages/play-svelte/src/types.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L17) |
|
|
18
|
+
| <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<`TLogic`, [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | - | [packages/play-svelte/src/types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L14) |
|
|
19
|
+
| <a id="property-fallback"></a> `fallback?` | `Snippet`\<\[\]\> | Svelte snippet rendered when currentView is null (no active view). Also shown when a catalog component throws during render. | [packages/play-svelte/src/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L22) |
|
|
20
|
+
| <a id="property-onerror"></a> `onError?` | (`error`) => `void` | Called when a catalog component throws during render. | [packages/play-svelte/src/types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L26) |
|
|
21
|
+
| <a id="property-registry"></a> `registry` | `ComponentRegistry` | - | [packages/play-svelte/src/types.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L15) |
|
|
22
|
+
| <a id="property-store"></a> `store?` | `StateStore` | - | [packages/play-svelte/src/types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L16) |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / ComponentFn
|
|
2
|
+
|
|
3
|
+
# Type Alias: ComponentFn\<C, K\>
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type ComponentFn<C, K> = Component<BaseComponentProps<InferComponentProps<C, K>>>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Component render function type for Svelte
|
|
10
|
+
|
|
11
|
+
## Type Parameters
|
|
12
|
+
|
|
13
|
+
| Type Parameter |
|
|
14
|
+
| --------------------------------------------------- |
|
|
15
|
+
| `C` _extends_ `Catalog` |
|
|
16
|
+
| `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[Documentation](../../README.md) / @xmachines/play-svelte-spa-router
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router
|
|
4
|
+
|
|
5
|
+
Svelte SPA adapter for XMachines Play.
|
|
6
|
+
|
|
7
|
+
This package keeps a Play actor's route state aligned with `svelte-spa-router` hash navigation. It is a direct adapter, not a shared router-core layer.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @xmachines/play-svelte-spa-router svelte svelte-spa-router
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Quick start
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
|
|
19
|
+
|
|
20
|
+
const routeMap = createRouteMap(machine);
|
|
21
|
+
const disconnect = connectRouter({ actor, routeMap });
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## API
|
|
25
|
+
|
|
26
|
+
- `createRouteMap(machine)` builds the adapter's `RouteMap` from Play route metadata.
|
|
27
|
+
- `connectRouter({ actor, routeMap })` syncs hash navigation with `actor.currentRoute`.
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- Hash changes are handled locally in this package.
|
|
32
|
+
- The adapter uses the shared Play router helpers for route resolution and event formatting.
|
|
33
|
+
- Actor routes may be either state IDs or resolved paths; the adapter normalizes both before pushing hash navigation.
|
|
34
|
+
|
|
35
|
+
## Classes
|
|
36
|
+
|
|
37
|
+
- [RouteMap](classes/RouteMap.md)
|
|
38
|
+
|
|
39
|
+
## Interfaces
|
|
40
|
+
|
|
41
|
+
- [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
|
|
42
|
+
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
43
|
+
- [RouteMapping](interfaces/RouteMapping.md)
|
|
44
|
+
- [RouterBridge](interfaces/RouterBridge.md)
|
|
45
|
+
|
|
46
|
+
## Type Aliases
|
|
47
|
+
|
|
48
|
+
- [RoutableActor](type-aliases/RoutableActor.md)
|
|
49
|
+
|
|
50
|
+
## Functions
|
|
51
|
+
|
|
52
|
+
- [connectRouter](functions/connectRouter.md)
|
|
53
|
+
- [createRouteMap](functions/createRouteMap.md)
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMap
|
|
2
|
+
|
|
3
|
+
# Class: RouteMap
|
|
4
|
+
|
|
5
|
+
Defined in: [play-svelte-spa-router/src/route-map.ts:3](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/route-map.ts#L3)
|
|
6
|
+
|
|
7
|
+
Shared bidirectional route map base class.
|
|
8
|
+
|
|
9
|
+
All framework adapter `RouteMap` classes extend this — they add no logic of their
|
|
10
|
+
own and inherit the full public API from here.
|
|
11
|
+
|
|
12
|
+
**Lookup strategy:**
|
|
13
|
+
|
|
14
|
+
- Static paths (no `:param`) → O(1) `Map` lookup
|
|
15
|
+
- Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
|
|
16
|
+
of routes sharing the same first path segment
|
|
17
|
+
- Results are cached after the first match
|
|
18
|
+
|
|
19
|
+
**Pattern syntax** (`:param` / `:param?`):
|
|
20
|
+
|
|
21
|
+
- `:param` — required segment, matches exactly one non-`/` segment
|
|
22
|
+
- `:param?` — optional segment, matches zero or one non-`/` segment
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { BaseRouteMap } from "@xmachines/play-router";
|
|
28
|
+
|
|
29
|
+
const map = new BaseRouteMap([
|
|
30
|
+
{ stateId: "home", path: "/" },
|
|
31
|
+
{ stateId: "profile", path: "/profile/:userId" },
|
|
32
|
+
{ stateId: "settings", path: "/settings/:section?" },
|
|
33
|
+
]);
|
|
34
|
+
|
|
35
|
+
map.getStateIdByPath("/"); // "home"
|
|
36
|
+
map.getStateIdByPath("/profile/123"); // "profile"
|
|
37
|
+
map.getStateIdByPath("/settings"); // "settings"
|
|
38
|
+
map.getStateIdByPath("/unknown"); // null
|
|
39
|
+
|
|
40
|
+
map.getPathByStateId("profile"); // "/profile/:userId"
|
|
41
|
+
map.getPathByStateId("missing"); // null
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Extends
|
|
45
|
+
|
|
46
|
+
- [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md)
|
|
47
|
+
|
|
48
|
+
## Constructors
|
|
49
|
+
|
|
50
|
+
### Constructor
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
new RouteMap(mappings): RouteMap;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Defined in: play-router/dist/base-route-map.d.ts:82
|
|
57
|
+
|
|
58
|
+
Build a route map from an array of state ID ↔ path mappings.
|
|
59
|
+
|
|
60
|
+
Static paths (no `:param`) are indexed in an O(1) `Map`.
|
|
61
|
+
Parameterized paths are compiled to `URLPattern` and grouped into first-segment
|
|
62
|
+
buckets for efficient candidate selection.
|
|
63
|
+
|
|
64
|
+
#### Parameters
|
|
65
|
+
|
|
66
|
+
| Parameter | Type | Description |
|
|
67
|
+
| ---------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
|
|
68
|
+
| `mappings` | [`BaseRouteMapping`](../../play-router/interfaces/BaseRouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
|
|
69
|
+
|
|
70
|
+
#### Returns
|
|
71
|
+
|
|
72
|
+
`RouteMap`
|
|
73
|
+
|
|
74
|
+
#### Inherited from
|
|
75
|
+
|
|
76
|
+
[`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`constructor`](../../play-router/classes/BaseRouteMap.md#constructor)
|
|
77
|
+
|
|
78
|
+
## Methods
|
|
79
|
+
|
|
80
|
+
### getPathByStateId()
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
getPathByStateId(stateId): string | null;
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Defined in: play-router/dist/base-route-map.d.ts:112
|
|
87
|
+
|
|
88
|
+
Look up the path pattern registered for a state ID.
|
|
89
|
+
|
|
90
|
+
#### Parameters
|
|
91
|
+
|
|
92
|
+
| Parameter | Type | Description |
|
|
93
|
+
| --------- | -------- | --------------------------------------------------------- |
|
|
94
|
+
| `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
|
|
95
|
+
|
|
96
|
+
#### Returns
|
|
97
|
+
|
|
98
|
+
`string` \| `null`
|
|
99
|
+
|
|
100
|
+
The registered path pattern, or `null` if the state ID is unknown
|
|
101
|
+
|
|
102
|
+
#### Example
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
map.getPathByStateId("profile"); // "/profile/:userId"
|
|
106
|
+
map.getPathByStateId("missing"); // null
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Inherited from
|
|
110
|
+
|
|
111
|
+
[`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getPathByStateId`](../../play-router/classes/BaseRouteMap.md#getpathbystateid)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### getStateIdByPath()
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
getStateIdByPath(path): string | null;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Defined in: play-router/dist/base-route-map.d.ts:99
|
|
122
|
+
|
|
123
|
+
Resolve a URL path to its mapped state ID.
|
|
124
|
+
|
|
125
|
+
Strips query strings and hash fragments before matching. Tries an O(1) exact
|
|
126
|
+
lookup first, then falls back to bucket-indexed pattern matching. Results are
|
|
127
|
+
cached after the first pattern match.
|
|
128
|
+
|
|
129
|
+
#### Parameters
|
|
130
|
+
|
|
131
|
+
| Parameter | Type | Description |
|
|
132
|
+
| --------- | -------- | ------------------------------------------------------------------------------ |
|
|
133
|
+
| `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
|
|
134
|
+
|
|
135
|
+
#### Returns
|
|
136
|
+
|
|
137
|
+
`string` \| `null`
|
|
138
|
+
|
|
139
|
+
The mapped state ID, or `null` if no route matches
|
|
140
|
+
|
|
141
|
+
#### Example
|
|
142
|
+
|
|
143
|
+
```typescript
|
|
144
|
+
map.getStateIdByPath("/profile/123"); // "profile"
|
|
145
|
+
map.getStateIdByPath("/unknown"); // null
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Inherited from
|
|
149
|
+
|
|
150
|
+
[`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getStateIdByPath`](../../play-router/classes/BaseRouteMap.md#getstateidbypath)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / connectRouter
|
|
2
|
+
|
|
3
|
+
# Function: connectRouter()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function connectRouter(options): () => void;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-svelte-spa-router/src/connect-router.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L46)
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type |
|
|
14
|
+
| --------- | --------------------------------------------------------------- |
|
|
15
|
+
| `options` | [`ConnectRouterOptions`](../interfaces/ConnectRouterOptions.md) |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
() => `void`
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / createRouteMap
|
|
2
|
+
|
|
3
|
+
# Function: createRouteMap()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createRouteMap(machine): RouteMap;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-svelte-spa-router/src/create-route-map.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/create-route-map.ts#L5)
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type |
|
|
14
|
+
| --------- | ------------------------------------------------------------------------- |
|
|
15
|
+
| `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[`RouteMap`](../classes/RouteMap.md)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / ConnectRouterOptions
|
|
2
|
+
|
|
3
|
+
# Interface: ConnectRouterOptions
|
|
4
|
+
|
|
5
|
+
Defined in: [play-svelte-spa-router/src/connect-router.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L12)
|
|
6
|
+
|
|
7
|
+
@xmachines/play-svelte-spa-router
|
|
8
|
+
|
|
9
|
+
Svelte SPA router adapter for XMachines Play architecture.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
| Property | Modifier | Type | Defined in |
|
|
14
|
+
| ----------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
15
|
+
| <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) | [play-svelte-spa-router/src/connect-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L13) |
|
|
16
|
+
| <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | [play-svelte-spa-router/src/connect-router.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L14) |
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / PlayRouteEvent
|
|
2
|
+
|
|
3
|
+
# Interface: PlayRouteEvent
|
|
4
|
+
|
|
5
|
+
Defined in: play-router/dist/types.d.ts:207
|
|
6
|
+
|
|
7
|
+
Enhanced routing event with parameter and query support
|
|
8
|
+
|
|
9
|
+
Unified routing event used throughout the Play architecture. Supports parameter-aware
|
|
10
|
+
navigation patterns (e.g., `/profile/:userId`) for dynamic route segments.
|
|
11
|
+
|
|
12
|
+
**Architectural Context:** Implements **Passive Infrastructure (INV-04)** by representing
|
|
13
|
+
user navigation intent that the Actor evaluates through guards. Infrastructure proposes
|
|
14
|
+
via `play.route` events, Actor decides via state machine transitions.
|
|
15
|
+
|
|
16
|
+
**Browser Navigation Flow:**
|
|
17
|
+
|
|
18
|
+
1. Browser fires `popstate`
|
|
19
|
+
2. Router adapter resolves URL to route target
|
|
20
|
+
3. Adapter sends `PlayRouteEvent` to Actor
|
|
21
|
+
4. Actor validates transition via state machine guards
|
|
22
|
+
|
|
23
|
+
## Param
|
|
24
|
+
|
|
25
|
+
Event discriminator (always "play.route")
|
|
26
|
+
|
|
27
|
+
## Param
|
|
28
|
+
|
|
29
|
+
Target state ID with # prefix (e.g., '#home', '#profile')
|
|
30
|
+
|
|
31
|
+
## Param
|
|
32
|
+
|
|
33
|
+
Merged path + query parameters (path parameters win conflicts)
|
|
34
|
+
|
|
35
|
+
## Param
|
|
36
|
+
|
|
37
|
+
Query parameters only (isolated from path params)
|
|
38
|
+
|
|
39
|
+
## Param
|
|
40
|
+
|
|
41
|
+
Full URLPattern match result for debugging/observability (optional)
|
|
42
|
+
|
|
43
|
+
## Examples
|
|
44
|
+
|
|
45
|
+
Combining base and routing events
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
import type { PlayEvent } from "@xmachines/play";
|
|
49
|
+
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
50
|
+
|
|
51
|
+
type AppEvent = PlayEvent | PlayRouteEvent;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Basic navigation to a route
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
58
|
+
|
|
59
|
+
const event: PlayRouteEvent = {
|
|
60
|
+
type: "play.route",
|
|
61
|
+
to: "#home",
|
|
62
|
+
};
|
|
63
|
+
actor.send(event);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Navigation with route parameters
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
70
|
+
|
|
71
|
+
const event: PlayRouteEvent = {
|
|
72
|
+
type: "play.route",
|
|
73
|
+
to: "#profile",
|
|
74
|
+
params: { userId: "123" },
|
|
75
|
+
};
|
|
76
|
+
actor.send(event);
|
|
77
|
+
// Resolves to route: /profile/123
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Navigation with query parameters
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
84
|
+
|
|
85
|
+
const event: PlayRouteEvent = {
|
|
86
|
+
type: "play.route",
|
|
87
|
+
to: "#settings",
|
|
88
|
+
params: { section: "profile" }, // Merged: path + query
|
|
89
|
+
query: { tab: "security" }, // Query-only
|
|
90
|
+
};
|
|
91
|
+
actor.send(event);
|
|
92
|
+
// Resolves to route: /settings/profile?tab=security
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## See
|
|
96
|
+
|
|
97
|
+
[Play RFC](../../../../rfc/play.md)
|
|
98
|
+
|
|
99
|
+
## Remarks
|
|
100
|
+
|
|
101
|
+
Use `play.route` when you need parameter-aware navigation with the `route: {}`
|
|
102
|
+
config pattern on your state machine nodes. The `match` field exposes the full
|
|
103
|
+
URLPatternResult for advanced use cases (debugging, pattern analysis).
|
|
104
|
+
|
|
105
|
+
## Indexable
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
[key: string]: unknown
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Properties
|
|
112
|
+
|
|
113
|
+
| Property | Modifier | Type | Defined in |
|
|
114
|
+
| -------------------------------------- | ---------- | ------------------------------ | ------------------------------- |
|
|
115
|
+
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | play-router/dist/types.d.ts:212 |
|
|
116
|
+
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | play-router/dist/types.d.ts:210 |
|
|
117
|
+
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | play-router/dist/types.d.ts:211 |
|
|
118
|
+
| <a id="property-to"></a> `to` | `readonly` | `string` | play-router/dist/types.d.ts:209 |
|
|
119
|
+
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | play-router/dist/types.d.ts:208 |
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMapping
|
|
2
|
+
|
|
3
|
+
# Interface: RouteMapping
|
|
4
|
+
|
|
5
|
+
Defined in: [play-svelte-spa-router/src/types.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L6)
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Property | Modifier | Type | Defined in |
|
|
10
|
+
| --------------------------------------- | ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| <a id="property-path"></a> `path` | `readonly` | `string` | [play-svelte-spa-router/src/types.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L8) |
|
|
12
|
+
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | [play-svelte-spa-router/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L7) |
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouterBridge
|
|
2
|
+
|
|
3
|
+
# Interface: RouterBridge
|
|
4
|
+
|
|
5
|
+
Defined in: play-router/dist/types.d.ts:254
|
|
6
|
+
|
|
7
|
+
RouterBridge interface for runtime infrastructure adapters
|
|
8
|
+
|
|
9
|
+
Defines the lifecycle connection between Infrastructure (e.g., TanStack Router) and
|
|
10
|
+
the Actor. Infrastructure "bridges" to the Actor by observing its signals and
|
|
11
|
+
managing its own lifecycle accordingly.
|
|
12
|
+
|
|
13
|
+
**Architectural Context:** Implements **Passive Infrastructure (INV-04)** by establishing
|
|
14
|
+
a unidirectional observation pattern. Infrastructure connects to observe Actor signals
|
|
15
|
+
(currentRoute, currentView, state) and reflects changes without making state decisions.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
TanStack Router bridge implementation
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import type { RouterBridge } from "@xmachines/play-router";
|
|
23
|
+
import { Signal } from "@xmachines/play-signals";
|
|
24
|
+
|
|
25
|
+
class TanStackRouterBridge implements RouterBridge {
|
|
26
|
+
private watcher: Signal.Watcher | null = null;
|
|
27
|
+
|
|
28
|
+
async connect(): Promise<void> {
|
|
29
|
+
// Start observing actor.currentRoute signal
|
|
30
|
+
this.watcher = new Signal.subtle.Watcher(() => {
|
|
31
|
+
const route = actor.currentRoute.get();
|
|
32
|
+
if (route) router.navigate(route);
|
|
33
|
+
});
|
|
34
|
+
this.watcher.watch(actor.currentRoute);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async disconnect(): Promise<void> {
|
|
38
|
+
// Stop observing, cleanup watchers
|
|
39
|
+
this.watcher?.unwatch(actor.currentRoute);
|
|
40
|
+
this.watcher = null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## See
|
|
46
|
+
|
|
47
|
+
[Play RFC](../../../../rfc/play.md) - Invariant INV-04
|
|
48
|
+
|
|
49
|
+
## Methods
|
|
50
|
+
|
|
51
|
+
### connect()
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
connect(): void | Promise<void>;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Defined in: play-router/dist/types.d.ts:270
|
|
58
|
+
|
|
59
|
+
Connect the router bridge to the Actor
|
|
60
|
+
|
|
61
|
+
Called when Infrastructure should begin observing Actor signals and
|
|
62
|
+
synchronizing its state (e.g., browser URL) with Actor state.
|
|
63
|
+
|
|
64
|
+
#### Returns
|
|
65
|
+
|
|
66
|
+
`void` \| `Promise`\<`void`\>
|
|
67
|
+
|
|
68
|
+
Promise that resolves when connection is established, or void for synchronous connection
|
|
69
|
+
|
|
70
|
+
#### Example
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
const bridge: RouterBridge = createBridge(actor, router);
|
|
74
|
+
await bridge.connect();
|
|
75
|
+
// Bridge now observing actor.currentRoute signal
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### disconnect()
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
disconnect(): void | Promise<void>;
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Defined in: play-router/dist/types.d.ts:285
|
|
87
|
+
|
|
88
|
+
Disconnect the router bridge from the Actor
|
|
89
|
+
|
|
90
|
+
Called when Infrastructure should stop observing and clean up resources
|
|
91
|
+
(e.g., signal watchers, event listeners).
|
|
92
|
+
|
|
93
|
+
#### Returns
|
|
94
|
+
|
|
95
|
+
`void` \| `Promise`\<`void`\>
|
|
96
|
+
|
|
97
|
+
Promise that resolves when disconnection is complete, or void for synchronous disconnection
|
|
98
|
+
|
|
99
|
+
#### Example
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
await bridge.disconnect();
|
|
103
|
+
// Bridge stopped observing, resources cleaned up
|
|
104
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RoutableActor
|
|
2
|
+
|
|
3
|
+
# Type Alias: RoutableActor
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type RoutableActor = AbstractActor<AnyActorLogic> & Routable;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-svelte-spa-router/src/types.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L11)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
[Documentation](../../README.md) / @xmachines/play-svelte-spa-router-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router demo
|
|
4
|
+
|
|
5
|
+
Compact browser demo for the Svelte SPA router adapter.
|
|
6
|
+
|
|
7
|
+
## Imports
|
|
8
|
+
|
|
9
|
+
- `@xmachines/play-svelte` for the Svelte renderer and registry helpers
|
|
10
|
+
- `@xmachines/play-svelte-spa-router` for hash-based URL ↔ actor sync
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm run dev -w @xmachines/play-svelte-spa-router-demo
|
|
16
|
+
npm run build -w @xmachines/play-svelte-spa-router-demo
|
|
17
|
+
npm run test:browser -w @xmachines/play-svelte-spa-router-demo
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## What it proves
|
|
21
|
+
|
|
22
|
+
- Clicking a navigation control updates the rendered view
|
|
23
|
+
- Browser back/forward restores the route and view
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[Documentation](../../README.md) / @xmachines/play-sveltekit-router
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-sveltekit-router
|
|
4
|
+
|
|
5
|
+
Thin SvelteKit adapter for XMachines Play.
|
|
6
|
+
|
|
7
|
+
## What it does
|
|
8
|
+
|
|
9
|
+
- Keeps `actor.currentRoute` and SvelteKit navigation in sync.
|
|
10
|
+
- Exposes a local `RouteMap` plus `createRouteMap(machine)` helper.
|
|
11
|
+
- Stays direct, with no shared `@xmachines/play-svelte-router` abstraction.
|
|
12
|
+
- Extracts route params and query values when browser navigation enters through SvelteKit.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { connectRouter, createRouteMap } from "@xmachines/play-sveltekit-router";
|
|
18
|
+
|
|
19
|
+
const routeMap = createRouteMap(machine);
|
|
20
|
+
const disconnect = connectRouter({ actor, routeMap });
|
|
21
|
+
|
|
22
|
+
onDestroy(disconnect);
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Notes
|
|
26
|
+
|
|
27
|
+
- `connectRouter()` returns a cleanup function. Call it during teardown to stop syncing actor updates.
|
|
28
|
+
- Actor routes may be either state IDs or resolved paths; the adapter normalizes both.
|
|
29
|
+
- Incoming SvelteKit paths are converted into `play.route` events with extracted `params` and `query`.
|
|
30
|
+
|
|
31
|
+
## Route map
|
|
32
|
+
|
|
33
|
+
`createRouteMap(machine)` reads route metadata from the machine and builds a Play route map for SvelteKit paths.
|
|
34
|
+
|
|
35
|
+
## Classes
|
|
36
|
+
|
|
37
|
+
- [RouteMap](classes/RouteMap.md)
|
|
38
|
+
|
|
39
|
+
## Interfaces
|
|
40
|
+
|
|
41
|
+
- [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
|
|
42
|
+
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
43
|
+
- [RouteMapping](interfaces/RouteMapping.md)
|
|
44
|
+
- [RouterBridge](interfaces/RouterBridge.md)
|
|
45
|
+
|
|
46
|
+
## Type Aliases
|
|
47
|
+
|
|
48
|
+
- [RoutableActor](type-aliases/RoutableActor.md)
|
|
49
|
+
|
|
50
|
+
## Functions
|
|
51
|
+
|
|
52
|
+
- [connectRouter](functions/connectRouter.md)
|
|
53
|
+
- [createRouteMap](functions/createRouteMap.md)
|