@xmachines/docs 1.0.0-beta.9 → 2.0.0-alpha.1
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/README.md +137 -7
- package/api/@xmachines/play/README.md +160 -38
- package/api/@xmachines/play/classes/NonNullableError.md +189 -0
- package/api/@xmachines/play/classes/PlayError.md +251 -0
- package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
- package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
- package/api/@xmachines/play-actor/README.md +141 -160
- package/api/@xmachines/play-actor/classes/AbstractActor.md +96 -126
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
- package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
- package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
- package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
- package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
- package/api/@xmachines/play-dom/README.md +384 -0
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
- package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
- package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
- package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
- package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
- package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
- package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
- package/api/@xmachines/play-dom/variables/schema.md +62 -0
- package/api/@xmachines/play-dom-router/README.md +271 -0
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
- package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -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 +28 -0
- package/api/@xmachines/play-react/README.md +185 -334
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
- package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-react/functions/Renderer.md +21 -0
- package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
- package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
- package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
- package/api/@xmachines/play-react/functions/useActor.md +13 -0
- package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
- package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
- package/api/@xmachines/play-react-router/README.md +130 -114
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
- package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
- package/api/@xmachines/play-router/README.md +285 -355
- package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
- package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
- package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
- package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
- package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
- package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
- package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
- package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
- package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
- package/api/@xmachines/play-router/functions/routeExists.md +2 -2
- package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
- package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
- package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +17 -0
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
- package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
- package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
- package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
- package/api/@xmachines/play-signals/README.md +116 -65
- package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
- package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
- package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
- package/api/@xmachines/play-solid/README.md +196 -234
- package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
- package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
- package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
- package/api/@xmachines/play-solid/functions/useAction.md +24 -0
- package/api/@xmachines/play-solid/functions/useActions.md +13 -0
- package/api/@xmachines/play-solid/functions/useActor.md +13 -0
- package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
- package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
- package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
- package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
- package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
- package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
- package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
- package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
- package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
- package/api/@xmachines/play-solid-router/README.md +153 -562
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +89 -119
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
- package/api/@xmachines/play-svelte/README.md +269 -0
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
- package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
- package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
- package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +205 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-sveltekit-router/README.md +211 -0
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -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-tanstack-react-router/README.md +155 -126
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
- package/api/@xmachines/play-tanstack-router/README.md +58 -0
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
- package/api/@xmachines/play-tanstack-solid-router/README.md +215 -175
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
- package/api/@xmachines/play-vue/README.md +192 -210
- package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
- package/api/@xmachines/play-vue/functions/useActor.md +13 -0
- package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
- package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
- package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
- package/api/@xmachines/play-vue-router/README.md +173 -487
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
- package/api/@xmachines/play-xstate/README.md +234 -340
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +166 -195
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
- package/api/@xmachines/play-xstate/functions/composeGuards.md +24 -18
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +17 -17
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -0
- package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +87 -0
- package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
- package/api/@xmachines/play-xstate/functions/eventMatches.md +2 -2
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +46 -12
- package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/negateGuard.md +16 -16
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +12 -13
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +27 -6
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
- package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +30 -0
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +22 -5
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +34 -6
- package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +33 -0
- package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +31 -0
- package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +37 -0
- package/api/@xmachines/play-xstate/variables/playMetaSchema.md +40 -0
- package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +9 -0
- package/api/@xmachines/shared/README.md +95 -295
- package/api/@xmachines/shared/vite-aliases/README.md +11 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
- package/api/@xmachines/shared/vitest/README.md +12 -0
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
- package/api/README.md +6 -7
- package/api/llms.txt +72 -23
- package/contributing/README.md +10 -0
- package/contributing/architecture.md +602 -0
- package/contributing/configuration.md +368 -0
- package/contributing/deployment.md +312 -0
- package/contributing/development.md +464 -0
- package/contributing/testing.md +453 -0
- package/examples/@xmachines/play-dom-demo/README.md +181 -0
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +24 -0
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
- package/examples/@xmachines/play-react-demo/README.md +187 -0
- package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
- package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
- package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Shell.md +18 -0
- package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-react-router-demo/README.md +151 -0
- package/examples/@xmachines/play-solid-demo/README.md +187 -0
- package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
- package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
- package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +15 -0
- package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +17 -0
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
- package/examples/@xmachines/play-svelte-demo/README.md +143 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
- package/examples/@xmachines/play-vue-demo/README.md +183 -0
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
- package/examples/README.md +78 -30
- package/examples/basic-state-machine.md +73 -31
- package/examples/form-validation.md +267 -115
- package/examples/multi-router-integration.md +314 -194
- package/examples/routing-patterns.md +260 -187
- package/examples/traffic-light.md +96 -58
- package/guides/README.md +9 -21
- package/guides/actor-model.md +180 -0
- package/guides/getting-started.md +630 -137
- package/guides/signals.md +166 -0
- package/guides/state-machines.md +300 -0
- package/package.json +18 -7
- package/rfc/broker.md +100 -0
- package/rfc/browser.md +44 -0
- package/rfc/cli.md +118 -0
- package/rfc/git.md +61 -0
- package/rfc/mcp.md +43 -0
- package/rfc/node.md +36 -0
- package/rfc/play.md +472 -0
- package/rfc/rest.md +102 -0
- package/rfc/run.md +159 -0
- package/rfc/streams.md +168 -0
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
- package/api/@xmachines/play-catalog/README.md +0 -331
- package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
- package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
- package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
- package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
- package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
- package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
- package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-react-router-demo/README.md +0 -137
- package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
- package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
- package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
- package/api/@xmachines/play-router/functions/createRouter.md +0 -76
- package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
- package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
- package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
- package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
- package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
- package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
- package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
- package/api/@xmachines/play-router-demo/README.md +0 -137
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-solid-router-demo/README.md +0 -127
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
- package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
- package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
- package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
- package/api/@xmachines/play-vue-router-demo/README.md +0 -133
- package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
- package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
- package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
- package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
- package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
- package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
- package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
- package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
- package/api/@xmachines/shared/functions/xmAliases.md +0 -24
- package/guides/installation.md +0 -323
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / buildRouteUrl
|
|
2
2
|
|
|
3
3
|
# Function: buildRouteUrl()
|
|
4
4
|
|
|
@@ -6,38 +6,49 @@
|
|
|
6
6
|
function buildRouteUrl(routeTemplate, context?): string;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/build-url.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/build-url.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/build-url.ts#L40)
|
|
10
10
|
|
|
11
|
-
Build full URL from route template and context
|
|
11
|
+
Build a full URL from a route template and the actor's context.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Substitutes `:param` and `:param?` placeholders from `context.params`,
|
|
14
|
+
then appends query params and hash fragments.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Per RESEARCH.md Pattern 3: Replace :param with context values
|
|
16
|
+
All parameter values must be in `context.params`. Flat context fields are not
|
|
17
|
+
inspected — this is intentional so misspelled placeholders produce a compile-time
|
|
18
|
+
error rather than silently resolving to `undefined`.
|
|
20
19
|
|
|
21
20
|
## Parameters
|
|
22
21
|
|
|
23
|
-
| Parameter | Type | Description
|
|
24
|
-
| --------------- | ----------------------------------------------- |
|
|
25
|
-
| `routeTemplate` | `string` | Route path
|
|
26
|
-
| `context` | [`RouteContext`](../interfaces/RouteContext.md) | Route context
|
|
22
|
+
| Parameter | Type | Description |
|
|
23
|
+
| --------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
+
| `routeTemplate` | `string` | Route path template, e.g. `"/profile/:userId"` or `"/settings/:section?"`. |
|
|
25
|
+
| `context` | [`RouteContext`](../interfaces/RouteContext.md) | Actor context object. Route parameters must be in `context.params`; flat context fields are not inspected. **Must include a `query` field** (use `query: {}` when no query parameters are needed). Omitting `query` when `params` is present throws `MissingQueryContextError` to prevent silent query-string loss. |
|
|
27
26
|
|
|
28
27
|
## Returns
|
|
29
28
|
|
|
30
29
|
`string`
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
The fully resolved URL string.
|
|
32
|
+
|
|
33
|
+
## Throws
|
|
34
|
+
|
|
35
|
+
When a **required** `:param` placeholder has no
|
|
36
|
+
matching value in context. Optional parameters (`:param?`) are silently omitted
|
|
37
|
+
when missing. Import the class from `@xmachines/play-xstate/errors`.
|
|
38
|
+
|
|
39
|
+
## Throws
|
|
40
|
+
|
|
41
|
+
When the context has a `params` field but no
|
|
42
|
+
`query` field. This indicates a routing-aware machine context that was not set up
|
|
43
|
+
to receive query parameters, which would silently drop query params from
|
|
44
|
+
`play.route` events. Import the class from `@xmachines/play-xstate/errors`.
|
|
33
45
|
|
|
34
46
|
## Example
|
|
35
47
|
|
|
36
48
|
```typescript
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// Result: '/user/123?tab=profile#section-1'
|
|
49
|
+
buildRouteUrl("/user/:id", { params: { id: "123" }, query: { tab: "profile" }, hash: "top" });
|
|
50
|
+
// → "/user/123?tab=profile#top"
|
|
51
|
+
|
|
52
|
+
buildRouteUrl("/settings/:section?", { params: {}, query: {} });
|
|
53
|
+
// → "/settings" (optional param omitted, no query string)
|
|
43
54
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuards
|
|
2
2
|
|
|
3
3
|
# Function: composeGuards()
|
|
4
4
|
|
|
@@ -6,36 +6,38 @@
|
|
|
6
6
|
function composeGuards<TContext, TEvent>(guards): ComposedGuard;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/compose.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/compose.ts:130](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/compose.ts#L130)
|
|
10
10
|
|
|
11
|
-
Compose guards with AND logic
|
|
11
|
+
Compose guards with AND logic.
|
|
12
12
|
|
|
13
13
|
Combines multiple guard predicates using AND semantics—all guards must pass for
|
|
14
|
-
the composition to succeed.
|
|
15
|
-
type inference and machine serialization.
|
|
14
|
+
the composition to succeed. Evaluation is short-circuiting, left to right.
|
|
16
15
|
|
|
17
16
|
**Architectural Context:** Supports **Actor Authority (INV-01)** by enabling
|
|
18
17
|
declarative guard composition in state machine transitions. Guards enforce business
|
|
19
18
|
logic rules that determine whether navigation or actions are valid.
|
|
20
19
|
|
|
20
|
+
**XState v6:** the composed value is a plain predicate. Call it inside a
|
|
21
|
+
transition function and return early to block the transition:
|
|
22
|
+
|
|
21
23
|
## Type Parameters
|
|
22
24
|
|
|
23
|
-
| Type Parameter | Default type | Description
|
|
24
|
-
| -------------- | ------------ |
|
|
25
|
-
| `TContext` | `any` | State machine context type |
|
|
26
|
-
| `TEvent` | `any` | Event type
|
|
25
|
+
| Type Parameter | Default type | Description |
|
|
26
|
+
| -------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
+
| `TContext` | `any` | State machine context type (defaults to `any` so the documented inline-predicate examples compile without annotations) |
|
|
28
|
+
| `TEvent` | `any` | Event type |
|
|
27
29
|
|
|
28
30
|
## Parameters
|
|
29
31
|
|
|
30
|
-
| Parameter | Type | Description
|
|
31
|
-
| --------- | --------------------------------------------------------------------- |
|
|
32
|
-
| `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references) |
|
|
32
|
+
| Parameter | Type | Description |
|
|
33
|
+
| --------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references resolved against `args.guards` from `setup({ guards })`) |
|
|
33
35
|
|
|
34
36
|
## Returns
|
|
35
37
|
|
|
36
38
|
[`ComposedGuard`](../type-aliases/ComposedGuard.md)
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
Predicate returning `true` only when every guard passes
|
|
39
41
|
|
|
40
42
|
## Throws
|
|
41
43
|
|
|
@@ -49,6 +51,8 @@ AND composition with named guards
|
|
|
49
51
|
import { setup } from "xstate";
|
|
50
52
|
import { composeGuards } from "@xmachines/play-xstate";
|
|
51
53
|
|
|
54
|
+
const canAccessAdmin = composeGuards(["isLoggedIn", "hasPermission"]);
|
|
55
|
+
|
|
52
56
|
const machine = setup({
|
|
53
57
|
guards: {
|
|
54
58
|
isLoggedIn: ({ context }) => !!context.userId,
|
|
@@ -56,10 +60,9 @@ const machine = setup({
|
|
|
56
60
|
},
|
|
57
61
|
}).createMachine({
|
|
58
62
|
on: {
|
|
59
|
-
accessAdmin: {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
target: "adminPanel",
|
|
63
|
+
accessAdmin: (args) => {
|
|
64
|
+
if (!canAccessAdmin(args)) return;
|
|
65
|
+
return { target: "adminPanel" };
|
|
63
66
|
},
|
|
64
67
|
},
|
|
65
68
|
});
|
|
@@ -70,7 +73,10 @@ AND composition with inline predicates
|
|
|
70
73
|
```typescript
|
|
71
74
|
import { composeGuards } from "@xmachines/play-xstate";
|
|
72
75
|
|
|
73
|
-
|
|
76
|
+
const isEligible = composeGuards([
|
|
77
|
+
({ context }) => context.age >= 18,
|
|
78
|
+
({ context }) => context.verified,
|
|
79
|
+
]);
|
|
74
80
|
```
|
|
75
81
|
|
|
76
82
|
## See
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuardsOr
|
|
2
2
|
|
|
3
3
|
# Function: composeGuardsOr()
|
|
4
4
|
|
|
@@ -6,32 +6,31 @@
|
|
|
6
6
|
function composeGuardsOr<TContext, TEvent>(guards): ComposedGuard;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/compose.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/compose.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/compose.ts#L189)
|
|
10
10
|
|
|
11
|
-
Compose guards with OR logic
|
|
11
|
+
Compose guards with OR logic.
|
|
12
12
|
|
|
13
13
|
Combines multiple guard predicates using OR semantics—at least one guard must pass
|
|
14
|
-
for the composition to succeed.
|
|
15
|
-
type inference.
|
|
14
|
+
for the composition to succeed. Evaluation is short-circuiting, left to right.
|
|
16
15
|
|
|
17
16
|
## Type Parameters
|
|
18
17
|
|
|
19
|
-
| Type Parameter | Default type |
|
|
20
|
-
| -------------- | ------------ |
|
|
21
|
-
| `TContext` | `any` |
|
|
22
|
-
| `TEvent` | `any` |
|
|
18
|
+
| Type Parameter | Default type |
|
|
19
|
+
| -------------- | ------------ |
|
|
20
|
+
| `TContext` | `any` |
|
|
21
|
+
| `TEvent` | `any` |
|
|
23
22
|
|
|
24
23
|
## Parameters
|
|
25
24
|
|
|
26
|
-
| Parameter | Type | Description
|
|
27
|
-
| --------- | --------------------------------------------------------------------- |
|
|
28
|
-
| `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names |
|
|
25
|
+
| Parameter | Type | Description |
|
|
26
|
+
| --------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
+
| `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references resolved against `args.guards` from `setup({ guards })`) |
|
|
29
28
|
|
|
30
29
|
## Returns
|
|
31
30
|
|
|
32
31
|
[`ComposedGuard`](../type-aliases/ComposedGuard.md)
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
Predicate returning `true` when any guard passes
|
|
35
34
|
|
|
36
35
|
## Throws
|
|
37
36
|
|
|
@@ -45,6 +44,8 @@ OR composition with named guards
|
|
|
45
44
|
import { setup } from "xstate";
|
|
46
45
|
import { composeGuardsOr } from "@xmachines/play-xstate";
|
|
47
46
|
|
|
47
|
+
const canDelete = composeGuardsOr(["isOwner", "isAdmin"]);
|
|
48
|
+
|
|
48
49
|
const machine = setup({
|
|
49
50
|
guards: {
|
|
50
51
|
isOwner: ({ context }) => context.role === "owner",
|
|
@@ -52,10 +53,9 @@ const machine = setup({
|
|
|
52
53
|
},
|
|
53
54
|
}).createMachine({
|
|
54
55
|
on: {
|
|
55
|
-
deleteResource: {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
actions: "delete",
|
|
56
|
+
deleteResource: (args, enq) => {
|
|
57
|
+
if (!canDelete(args)) return;
|
|
58
|
+
enq(() => deleteIt());
|
|
59
59
|
},
|
|
60
60
|
},
|
|
61
61
|
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / contextFieldMatches
|
|
2
|
+
|
|
3
|
+
# Function: contextFieldMatches()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function contextFieldMatches<TContext>(fieldPath, expectedValue): Guard<TContext, PlayEvent>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/helpers.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L71)
|
|
10
|
+
|
|
11
|
+
Check if a context field matches an expected value.
|
|
12
|
+
|
|
13
|
+
- Accepts an explicit dot-separated field path (e.g. `"user.role"`)
|
|
14
|
+
- Uses strict equality for primitives, deep structural equality for objects
|
|
15
|
+
- Object comparison is key-order-insensitive: `{a:1,b:2}` equals `{b:2,a:1}`
|
|
16
|
+
- Supports Date, RegExp, class instances, nested objects and arrays via `dequal/lite`
|
|
17
|
+
- Does NOT use substring matching — `"a"` will not match `"active"`
|
|
18
|
+
|
|
19
|
+
For XState state-node matching, use the built-in `in:` guard syntax instead.
|
|
20
|
+
|
|
21
|
+
## Type Parameters
|
|
22
|
+
|
|
23
|
+
| Type Parameter | Default type |
|
|
24
|
+
| -------------- | ------------------------------- |
|
|
25
|
+
| `TContext` | `Record`\<`string`, `unknown`\> |
|
|
26
|
+
|
|
27
|
+
## Parameters
|
|
28
|
+
|
|
29
|
+
| Parameter | Type | Description |
|
|
30
|
+
| --------------- | --------- | -------------------------------------------------------------------- |
|
|
31
|
+
| `fieldPath` | `string` | Dot-separated path to context property (e.g., "status", "user.role") |
|
|
32
|
+
| `expectedValue` | `unknown` | Value to compare against (string, object, Date, etc.) |
|
|
33
|
+
|
|
34
|
+
## Returns
|
|
35
|
+
|
|
36
|
+
[`Guard`](../type-aliases/Guard.md)\<`TContext`, [`PlayEvent`](../../play/type-aliases/PlayEvent.md)\>
|
|
37
|
+
|
|
38
|
+
Guard predicate checking if context field matches
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / createRoutedMachine
|
|
2
|
+
|
|
3
|
+
# Function: createRoutedMachine()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createRoutedMachine<TSetup>(s): TSetup["createMachine"];
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/create-routed-machine.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/create-routed-machine.ts#L78)
|
|
10
|
+
|
|
11
|
+
Returns a `createMachine` that routes: identical signature to the setup's
|
|
12
|
+
own `createMachine`, with [formatPlayRouteTransitions](formatPlayRouteTransitions.md) applied to the
|
|
13
|
+
config at runtime.
|
|
14
|
+
|
|
15
|
+
### Why this exists
|
|
16
|
+
|
|
17
|
+
`formatPlayRouteTransitions(config)` accepts a loosely-typed config. A config
|
|
18
|
+
authored as a standalone value loses inline transition-function parameter
|
|
19
|
+
inference entirely (implicit-any under strict mode), and even the inline
|
|
20
|
+
`setup().createMachine(formatPlayRouteTransitions({ ... }))` form depends on
|
|
21
|
+
TypeScript threading contextual typing through two generic calls.
|
|
22
|
+
|
|
23
|
+
This wrapper removes the question: it is typed as the setup's own
|
|
24
|
+
`createMachine`, so the config is contextually typed exactly as if passed to
|
|
25
|
+
`setup().createMachine(...)` directly — transition-function args infer from
|
|
26
|
+
the setup's schemas, sibling targets are validated, and the returned machine
|
|
27
|
+
keeps its full literal state-value typing.
|
|
28
|
+
|
|
29
|
+
Typing is _identical to native_ — including its current gaps: as of xstate
|
|
30
|
+
6.0.0-alpha.20, `event` and `context` reads in transition args are fully
|
|
31
|
+
typed, while returned context patches are property-typed but still carry a
|
|
32
|
+
loose index signature in the alpha itself. Expect that to tighten upstream
|
|
33
|
+
without changes here.
|
|
34
|
+
|
|
35
|
+
## Type Parameters
|
|
36
|
+
|
|
37
|
+
| Type Parameter |
|
|
38
|
+
| -------------------------------------------------------------- |
|
|
39
|
+
| `TSetup` _extends_ [`SetupLike`](../type-aliases/SetupLike.md) |
|
|
40
|
+
|
|
41
|
+
## Parameters
|
|
42
|
+
|
|
43
|
+
| Parameter | Type | Description |
|
|
44
|
+
| --------- | -------- | ------------------------------------------------------------ |
|
|
45
|
+
| `s` | `TSetup` | A `setup(...)` return value (anything with `createMachine`). |
|
|
46
|
+
|
|
47
|
+
## Returns
|
|
48
|
+
|
|
49
|
+
`TSetup`\[`"createMachine"`\]
|
|
50
|
+
|
|
51
|
+
A function with the same signature as `s.createMachine` that
|
|
52
|
+
applies [formatPlayRouteTransitions](formatPlayRouteTransitions.md) before creating the machine.
|
|
53
|
+
|
|
54
|
+
## Example
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { setup, types } from "xstate";
|
|
58
|
+
import { createRoutedMachine, playMetaSchema, playRouteEventSchema } from "@xmachines/play-xstate";
|
|
59
|
+
|
|
60
|
+
const authSetup = setup({
|
|
61
|
+
schemas: {
|
|
62
|
+
context: types<{ isAuthenticated: boolean }>(),
|
|
63
|
+
events: { "play.route": playRouteEventSchema },
|
|
64
|
+
meta: playMetaSchema,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const machine = createRoutedMachine(authSetup)({
|
|
69
|
+
initial: "home",
|
|
70
|
+
context: { isAuthenticated: false },
|
|
71
|
+
states: {
|
|
72
|
+
home: { id: "home", meta: { route: "/" } },
|
|
73
|
+
login: { id: "login", meta: { route: "/login" } },
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
// ({ context }) params in transitions infer from the setup schemas —
|
|
77
|
+
// no explicit annotations needed.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Note: routes are injected at runtime, so the machine's static type does not
|
|
81
|
+
gain an `xstate.route` event for them — `play.route` (declared in the
|
|
82
|
+
setup's event schemas) remains the typed public API; native `xstate.route`
|
|
83
|
+
interop is runtime-only.
|
|
84
|
+
|
|
85
|
+
## See
|
|
86
|
+
|
|
87
|
+
[formatPlayRouteTransitions](formatPlayRouteTransitions.md) for the routing transform itself
|
|
@@ -1,36 +1,31 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / definePlayer
|
|
2
2
|
|
|
3
3
|
# Function: definePlayer()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function definePlayer<TMachine
|
|
6
|
+
function definePlayer<TMachine>(config): PlayerFactory<TMachine>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/define-player.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/define-player.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/define-player.ts#L61)
|
|
10
10
|
|
|
11
|
-
Create a player factory from XState machine
|
|
11
|
+
Create a player factory from an XState machine
|
|
12
12
|
|
|
13
|
-
Factory pattern that accepts an XState
|
|
13
|
+
Factory pattern that accepts an XState v6 machine,
|
|
14
14
|
returning a function that creates [PlayerActor](../classes/PlayerActor.md) instances. This enables
|
|
15
15
|
creating multiple actor instances from a single configuration, useful for
|
|
16
16
|
testing, multi-instance scenarios, or server-side rendering.
|
|
17
17
|
|
|
18
|
-
**Architectural Context:** Implements **Strict Separation (INV-02)** by accepting
|
|
19
|
-
the machine definition (pure business logic) separately from the catalog (UI vocabulary).
|
|
20
|
-
The machine references component names in `meta.view` without importing React/framework code.
|
|
21
|
-
|
|
22
18
|
## Type Parameters
|
|
23
19
|
|
|
24
|
-
| Type Parameter
|
|
25
|
-
|
|
|
26
|
-
| `TMachine` _extends_ `AnyStateMachine` |
|
|
27
|
-
| `TCatalog` | `Record`\<`string`, `unknown`\> | Optional UI component catalog type |
|
|
20
|
+
| Type Parameter | Description |
|
|
21
|
+
| ---------------------------------------------------------------------------------------------- | ---------------------------- |
|
|
22
|
+
| `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v6 state machine type |
|
|
28
23
|
|
|
29
24
|
## Parameters
|
|
30
25
|
|
|
31
|
-
| Parameter | Type
|
|
32
|
-
| --------- |
|
|
33
|
-
| `config` | [`PlayerConfig`](../interfaces/PlayerConfig.md)\<`TMachine
|
|
26
|
+
| Parameter | Type | Description |
|
|
27
|
+
| --------- | ------------------------------------------------------------- | --------------------------- |
|
|
28
|
+
| `config` | [`PlayerConfig`](../interfaces/PlayerConfig.md)\<`TMachine`\> | Player configuration object |
|
|
34
29
|
|
|
35
30
|
## Returns
|
|
36
31
|
|
|
@@ -40,7 +35,7 @@ Factory function that creates actor instances with optional input context
|
|
|
40
35
|
|
|
41
36
|
## Examples
|
|
42
37
|
|
|
43
|
-
Basic player factory
|
|
38
|
+
Basic player factory
|
|
44
39
|
|
|
45
40
|
```typescript
|
|
46
41
|
import { setup } from "xstate";
|
|
@@ -59,54 +54,10 @@ const actor = createPlayer();
|
|
|
59
54
|
actor.start();
|
|
60
55
|
```
|
|
61
56
|
|
|
62
|
-
Player factory with catalog and parameter-aware routing
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
import { setup } from "xstate";
|
|
66
|
-
import { defineCatalog } from "@xmachines/play-catalog";
|
|
67
|
-
import { definePlayer } from "@xmachines/play-xstate";
|
|
68
|
-
import { z } from "zod";
|
|
69
|
-
|
|
70
|
-
const catalog = defineCatalog({
|
|
71
|
-
HomePage: z.object({}),
|
|
72
|
-
ProfilePage: z.object({ userId: z.string() }),
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const machine = setup({
|
|
76
|
-
types: {
|
|
77
|
-
context: {} as { userId: string },
|
|
78
|
-
events: {} as { type: "play.route"; to: string; params?: Record<string, string> },
|
|
79
|
-
},
|
|
80
|
-
}).createMachine({
|
|
81
|
-
initial: "home",
|
|
82
|
-
context: { userId: "" },
|
|
83
|
-
states: {
|
|
84
|
-
home: {
|
|
85
|
-
route: {},
|
|
86
|
-
meta: {
|
|
87
|
-
route: "/",
|
|
88
|
-
view: { component: "HomePage" },
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
profile: {
|
|
92
|
-
route: {},
|
|
93
|
-
meta: {
|
|
94
|
-
route: "/profile/:userId",
|
|
95
|
-
view: { component: "ProfilePage", userId: (ctx) => ctx.userId },
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
const createPlayer = definePlayer({ machine, catalog });
|
|
102
|
-
const actor = createPlayer({ userId: "user123" });
|
|
103
|
-
actor.start();
|
|
104
|
-
```
|
|
105
|
-
|
|
106
57
|
Multiple actor instances from single factory
|
|
107
58
|
|
|
108
59
|
```typescript
|
|
109
|
-
const createPlayer = definePlayer({ machine
|
|
60
|
+
const createPlayer = definePlayer({ machine });
|
|
110
61
|
|
|
111
62
|
// Create actors for different users
|
|
112
63
|
const alice = createPlayer({ userId: "alice" });
|
|
@@ -121,7 +72,7 @@ console.log(alice.state.get() !== bob.state.get());
|
|
|
121
72
|
|
|
122
73
|
## See
|
|
123
74
|
|
|
124
|
-
- [
|
|
75
|
+
- [Play RFC](../../../../rfc/play.md)
|
|
125
76
|
- [PlayerActor](../classes/PlayerActor.md) for the concrete actor implementation
|
|
126
77
|
- [PlayerConfig](../interfaces/PlayerConfig.md) for configuration options
|
|
127
78
|
- [PlayerFactory](../type-aliases/PlayerFactory.md) for factory function signature
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / deriveRoute
|
|
2
2
|
|
|
3
3
|
# Function: deriveRoute()
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function deriveRoute(stateMeta): string | null;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/derive-route.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/derive-route.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/derive-route.ts#L91)
|
|
10
10
|
|
|
11
11
|
Derive route from XState state metadata
|
|
12
12
|
|
|
@@ -94,7 +94,7 @@ console.log(route); // "/dashboard"
|
|
|
94
94
|
|
|
95
95
|
## See
|
|
96
96
|
|
|
97
|
-
- [
|
|
97
|
+
- [Play RFC](../../../../rfc/play.md)
|
|
98
98
|
- [buildRouteUrl](buildRouteUrl.md) for URL construction with parameter substitution
|
|
99
99
|
- [isAbsoluteRoute](isAbsoluteRoute.md) for checking path absoluteness
|
|
100
100
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / eventMatches
|
|
2
2
|
|
|
3
3
|
# Function: eventMatches()
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function eventMatches<TEvent>(eventType): Guard<unknown, TEvent>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/helpers.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/helpers.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L50)
|
|
10
10
|
|
|
11
11
|
Check if event type matches expected type
|
|
12
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / formatPlayRouteTransitions
|
|
2
2
|
|
|
3
3
|
# Function: formatPlayRouteTransitions()
|
|
4
4
|
|
|
@@ -6,14 +6,20 @@
|
|
|
6
6
|
function formatPlayRouteTransitions<T>(machineConfig): T;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:146](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/format-play-route-transitions.ts#L146)
|
|
10
10
|
|
|
11
|
-
Formats play.route
|
|
11
|
+
Formats play.route routing from declarative route configs.
|
|
12
12
|
|
|
13
|
-
Crawls machine states looking for states with meta.route and
|
|
14
|
-
|
|
13
|
+
Crawls machine states looking for states with `meta.route` and wires them to
|
|
14
|
+
XState v6's **native routing machinery**:
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
- every routed state gets a native `route: {}` config (unless it already
|
|
17
|
+
declares its own `route`), making it targetable via the built-in
|
|
18
|
+
`{ type: "xstate.route", to: "#id" }` event (Stately tooling interop and
|
|
19
|
+
statically-known graph edges), and
|
|
20
|
+
- one root-level `play.route` forwarder performs the navigation for those
|
|
21
|
+
targets as ONE atomic transition: target + re-entry + a shallow
|
|
22
|
+
`params`/`query` context patch.
|
|
17
23
|
|
|
18
24
|
## Type Parameters
|
|
19
25
|
|
|
@@ -31,7 +37,7 @@ Inspired by XState's internal formatRouteTransitions (stateUtils.ts line 391).
|
|
|
31
37
|
|
|
32
38
|
`T`
|
|
33
39
|
|
|
34
|
-
The
|
|
40
|
+
The machine config with native `route` configs and the `play.route` forwarder merged in, preserving the original type `T`.
|
|
35
41
|
|
|
36
42
|
## Example
|
|
37
43
|
|
|
@@ -47,8 +53,36 @@ const machineConfig = {
|
|
|
47
53
|
const machine = createMachine(formatPlayRouteTransitions(machineConfig));
|
|
48
54
|
```
|
|
49
55
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
|
|
56
|
+
Because the injected `route` configs are static (object form), the machine's
|
|
57
|
+
route transitions keep **statically-known targets** — `toDirectedGraph()` /
|
|
58
|
+
`machineToGraph()` edges point at the actual routed states, so graph
|
|
59
|
+
reachability queries work. (Function-form transition candidates would have
|
|
60
|
+
dynamic targets, opaque to static analysis.)
|
|
61
|
+
|
|
62
|
+
The `play.route` public API and its v5 semantics are preserved:
|
|
63
|
+
|
|
64
|
+
- `send({ type: "play.route", to: "#home", params, query })` navigates and
|
|
65
|
+
patches `context.params`/`context.query` in the SAME transition — exit
|
|
66
|
+
actions of the departing state observe the OLD params, entry actions of
|
|
67
|
+
the target observe the NEW ones, `always` transitions never see a
|
|
68
|
+
half-navigated intermediate state, and entry/exit actions receive the
|
|
69
|
+
original `play.route` event;
|
|
70
|
+
- user-defined `play.route` transitions (e.g. a hand-written 404 fallback)
|
|
71
|
+
are preserved AFTER the forwarder: for unknown targets the forwarder
|
|
72
|
+
returns `undefined`, so evaluation falls through to them;
|
|
73
|
+
- `params`/`query` are only patched when the forwarder navigates — unknown
|
|
74
|
+
and blocked targets leave context untouched.
|
|
75
|
+
|
|
76
|
+
When a state declares its OWN `route` config (which wins over the injected
|
|
77
|
+
default), the forwarder re-raises the event as `xstate.route` instead of
|
|
78
|
+
navigating, so the user's resolver decides — including blocking. The
|
|
79
|
+
forwarder does NOT patch `params`/`query` for such targets (a blocking
|
|
80
|
+
resolver would otherwise leave context describing a route that was never
|
|
81
|
+
entered); the user's function-form resolver owns any context patch, and
|
|
82
|
+
that navigation microstep runs under the `xstate.route` event.
|
|
83
|
+
|
|
84
|
+
Native `xstate.route` events also work directly (Stately ecosystem tooling),
|
|
85
|
+
but bypass the forwarder — no `params`/`query` context patch is applied, so
|
|
86
|
+
stale values from earlier `play.route` events linger in context (and a
|
|
87
|
+
router bridge deriving the URL from context would interpolate those stale
|
|
88
|
+
params).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / hasContext
|
|
2
2
|
|
|
3
3
|
# Function: hasContext()
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function hasContext<TContext>(path): Guard<TContext, PlayEvent>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/helpers.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/helpers.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L24)
|
|
10
10
|
|
|
11
11
|
Check if context has a truthy value at path
|
|
12
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / isAbsoluteRoute
|
|
2
2
|
|
|
3
3
|
# Function: isAbsoluteRoute()
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function isAbsoluteRoute(path): boolean;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/derive-route.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/derive-route.ts:160](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/derive-route.ts#L160)
|
|
10
10
|
|
|
11
11
|
Check if route path is absolute
|
|
12
12
|
|