@xmachines/docs 2.0.0-alpha.1 → 2.1.0
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 +16 -17
- package/api/@xmachines/play/README.md +58 -66
- package/api/@xmachines/play/classes/NonNullableError.md +14 -14
- package/api/@xmachines/play/classes/PlayError.md +32 -34
- package/api/@xmachines/play/functions/assertNonNullable.md +17 -17
- package/api/@xmachines/play/type-aliases/PlayEvent.md +28 -27
- package/api/@xmachines/play-actor/README.md +114 -50
- package/api/@xmachines/play-actor/classes/AbstractActor.md +45 -30
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +19 -18
- package/api/@xmachines/play-actor/functions/composePlayState.md +27 -0
- package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +21 -0
- package/api/@xmachines/play-actor/functions/guardContextWrites.md +43 -0
- package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +28 -0
- package/api/@xmachines/play-actor/functions/reuseComposedState.md +42 -0
- package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +29 -0
- package/api/@xmachines/play-actor/functions/toAtomState.md +16 -14
- package/api/@xmachines/play-actor/functions/typedSpec.md +25 -27
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +17 -15
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +15 -14
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +13 -15
- package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +11 -0
- package/api/@xmachines/play-actor/interfaces/Routable.md +6 -6
- package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +50 -0
- package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +15 -0
- package/api/@xmachines/play-actor/interfaces/Viewable.md +9 -9
- package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +15 -0
- package/api/@xmachines/play-dom/README.md +123 -86
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +34 -32
- package/api/@xmachines/play-dom/functions/createPlayUI.md +10 -10
- package/api/@xmachines/play-dom/functions/createRenderer.md +21 -17
- package/api/@xmachines/play-dom/functions/createValidationRegistry.md +22 -0
- package/api/@xmachines/play-dom/functions/defineRegistry.md +5 -5
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -8
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +16 -16
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +2 -0
- package/api/@xmachines/play-dom/interfaces/FieldValidationState.md +16 -0
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +9 -9
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +17 -17
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +2 -0
- package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +21 -0
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +10 -0
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +5 -5
- package/api/@xmachines/play-dom/variables/schema.md +35 -45
- package/api/@xmachines/play-dom-router/README.md +68 -51
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +116 -0
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +4 -3
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +16 -14
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-dom-router/functions/createRouter.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +25 -26
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +21 -20
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +18 -17
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +9 -9
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +39 -38
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +7 -7
- package/api/@xmachines/play-react/README.md +65 -55
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +14 -13
- package/api/@xmachines/play-react/functions/defineRegistry.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useFieldValidation.md +31 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +4 -4
- package/api/@xmachines/play-react/functions/useSignalEffect.md +39 -39
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +9 -8
- 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 +14 -14
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +2 -2
- package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +13 -0
- package/api/@xmachines/play-react/variables/ActorProvider.md +9 -8
- package/api/@xmachines/play-react/variables/PlayRenderer.md +5 -4
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +6 -6
- package/api/@xmachines/play-react-router/README.md +38 -31
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +22 -19
- package/api/@xmachines/play-react-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +16 -14
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +18 -18
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +12 -12
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +7 -6
- package/api/@xmachines/play-router/README.md +99 -95
- package/api/@xmachines/play-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +29 -23
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +6 -5
- package/api/@xmachines/play-router/functions/buildRouteTree.md +16 -15
- package/api/@xmachines/play-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +18 -18
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +18 -17
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +11 -10
- package/api/@xmachines/play-router/functions/extractQuery.md +3 -3
- package/api/@xmachines/play-router/functions/extractRouteParams.md +22 -19
- package/api/@xmachines/play-router/functions/findRouteById.md +10 -9
- package/api/@xmachines/play-router/functions/findRouteByPath.md +14 -12
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +9 -9
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +9 -9
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +16 -15
- package/api/@xmachines/play-router/functions/isRouteReachable.md +12 -11
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +8 -8
- package/api/@xmachines/play-router/functions/sanitizePathname.md +15 -13
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -10
- package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
- package/api/@xmachines/play-router/interfaces/LocationLike.md +11 -11
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +7 -9
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +9 -9
- package/api/@xmachines/play-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +7 -7
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +18 -17
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
- package/api/@xmachines/play-router/interfaces/RouteObject.md +6 -6
- package/api/@xmachines/play-router/interfaces/RouteTree.md +11 -11
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +13 -13
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-router/interfaces/WindowLike.md +10 -10
- package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +13 -0
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +4 -3
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
- package/api/@xmachines/play-signals/README.md +38 -36
- package/api/@xmachines/play-signals/functions/watchSignal.md +15 -15
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +6 -6
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +10 -10
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +6 -6
- package/api/@xmachines/play-signals/interfaces/SignalState.md +13 -13
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +18 -18
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +6 -5
- package/api/@xmachines/play-solid/README.md +46 -42
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +3 -3
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +13 -13
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +14 -14
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +9 -9
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +2 -2
- package/api/@xmachines/play-solid/variables/ActorContext.md +5 -4
- package/api/@xmachines/play-solid/variables/ActorProvider.md +8 -7
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -4
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +7 -7
- package/api/@xmachines/play-solid-router/README.md +39 -34
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +43 -34
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +15 -13
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +45 -30
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +10 -10
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +2 -2
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +11 -11
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +9 -8
- package/api/@xmachines/play-svelte/README.md +60 -33
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +9 -8
- package/api/@xmachines/play-svelte/functions/getActorContext.md +5 -4
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +3 -3
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +17 -15
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +20 -18
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +12 -11
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +2 -2
- package/api/@xmachines/play-svelte-spa-router/README.md +43 -52
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +133 -0
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/README.md +43 -39
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +132 -0
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -3
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +11 -11
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +67 -49
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +43 -38
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +16 -14
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +18 -18
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +11 -10
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +12 -12
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +16 -11
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +15 -13
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +9 -8
- package/api/@xmachines/play-tanstack-router/README.md +38 -16
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +43 -38
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +9 -9
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +15 -13
- package/api/@xmachines/play-tanstack-solid-router/README.md +76 -50
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +38 -30
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +15 -13
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +11 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +2 -2
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +15 -13
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +7 -7
- package/api/@xmachines/play-vue/README.md +39 -39
- package/api/@xmachines/play-vue/functions/defineRegistry.md +10 -9
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useFieldValidation.md +31 -0
- package/api/@xmachines/play-vue/functions/usePlayView.md +28 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +10 -9
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +13 -12
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +10 -9
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +6 -2
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +2 -2
- 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 +4 -4
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/getPlayViewContext.md +34 -0
- package/api/@xmachines/play-vue-router/README.md +66 -57
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +50 -48
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +26 -19
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +12 -11
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +22 -20
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +41 -35
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +5 -5
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +11 -10
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +27 -24
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +2 -2
- package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +13 -0
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +5 -5
- package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +13 -0
- package/api/@xmachines/play-xstate/README.md +129 -138
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +148 -114
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +19 -23
- package/api/@xmachines/play-xstate/functions/composeGuards.md +34 -33
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +27 -22
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +19 -14
- package/api/@xmachines/play-xstate/functions/definePlayer.md +19 -19
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +26 -25
- package/api/@xmachines/play-xstate/functions/eventMatches.md +12 -7
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +17 -48
- package/api/@xmachines/play-xstate/functions/hasContext.md +12 -9
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +10 -10
- package/api/@xmachines/play-xstate/functions/negateGuard.md +26 -20
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +7 -7
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +10 -11
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -14
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +9 -25
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +13 -11
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +8 -5
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +11 -15
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +12 -19
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +15 -26
- package/api/@xmachines/shared/README.md +12 -14
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +12 -7
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +9 -4
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
- package/contributing/architecture.md +27 -28
- package/contributing/configuration.md +10 -10
- package/contributing/deployment.md +51 -30
- package/contributing/development.md +90 -21
- package/contributing/testing.md +36 -14
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
- package/examples/README.md +4 -1
- package/examples/basic-state-machine.md +24 -24
- package/examples/form-validation.md +110 -121
- package/examples/multi-router-integration.md +0 -2
- package/examples/routing-patterns.md +60 -94
- package/examples/traffic-light.md +57 -48
- package/guides/README.md +6 -2
- package/guides/actor-model.md +1 -1
- package/guides/getting-started.md +89 -90
- package/guides/inspector.md +197 -0
- package/guides/state-machines.md +55 -69
- package/package.json +10 -7
- package/rfc/play.md +15 -6
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +0 -28
- package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +0 -87
- package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +0 -30
- package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +0 -33
- package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +0 -31
- package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +0 -37
- package/api/@xmachines/play-xstate/variables/playMetaSchema.md +0 -40
- package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +0 -9
|
@@ -6,20 +6,16 @@
|
|
|
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:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L112)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Makes the play.route transitions from the declarative route configs
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
The function walks the machine states. It looks for each state with a `meta.route`
|
|
14
|
+
field, and it generates the transitions that handle a `play.route` event: each
|
|
15
|
+
transition matches event.to against a state ID.
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
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
|
+
The internal formatRouteTransitions function of XState was the model for this
|
|
18
|
+
function (stateUtils.ts, line 391).
|
|
23
19
|
|
|
24
20
|
## Type Parameters
|
|
25
21
|
|
|
@@ -29,15 +25,15 @@ XState v6's **native routing machinery**:
|
|
|
29
25
|
|
|
30
26
|
## Parameters
|
|
31
27
|
|
|
32
|
-
| Parameter | Type | Description
|
|
33
|
-
| --------------- | ---- |
|
|
34
|
-
| `machineConfig` | `T` | XState machine config
|
|
28
|
+
| Parameter | Type | Description |
|
|
29
|
+
| --------------- | ---- | --------------------------------------------------------------------------------------- |
|
|
30
|
+
| `machineConfig` | `T` | The XState machine config, before `createMachine`. It must extend `RouteMachineConfig`. |
|
|
35
31
|
|
|
36
32
|
## Returns
|
|
37
33
|
|
|
38
34
|
`T`
|
|
39
35
|
|
|
40
|
-
The machine config with
|
|
36
|
+
The same machine config, with the generated `play.route` handlers in it. The original type `T` stays.
|
|
41
37
|
|
|
42
38
|
## Example
|
|
43
39
|
|
|
@@ -53,36 +49,9 @@ const machineConfig = {
|
|
|
53
49
|
const machine = createMachine(formatPlayRouteTransitions(machineConfig));
|
|
54
50
|
```
|
|
55
51
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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).
|
|
52
|
+
The function generates the `play.route` handlers at the root level. Those
|
|
53
|
+
handlers:
|
|
54
|
+
|
|
55
|
+
- match event.to against a state ID, for example event.to === "#home"
|
|
56
|
+
- target the correct state
|
|
57
|
+
- assign the params and the query of the event to the context
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / hasContext
|
|
2
2
|
|
|
3
|
-
# Function: hasContext()
|
|
3
|
+
# ~~Function: hasContext()~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
function hasContext<TContext>(path): Guard<TContext, PlayEvent>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/helpers.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/helpers.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/guards/helpers.ts#L24)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Per CONTEXT.md: Convenience helper for common guard pattern
|
|
11
|
+
Tells you if the context holds a value at the path, and that the value is truthy
|
|
14
12
|
|
|
15
13
|
## Type Parameters
|
|
16
14
|
|
|
@@ -20,15 +18,15 @@ Per CONTEXT.md: Convenience helper for common guard pattern
|
|
|
20
18
|
|
|
21
19
|
## Parameters
|
|
22
20
|
|
|
23
|
-
| Parameter | Type | Description
|
|
24
|
-
| --------- | -------- |
|
|
25
|
-
| `path` | `string` |
|
|
21
|
+
| Parameter | Type | Description |
|
|
22
|
+
| --------- | -------- | ----------------------------------------------------------------- |
|
|
23
|
+
| `path` | `string` | The path to the context property, with a dot between two segments |
|
|
26
24
|
|
|
27
25
|
## Returns
|
|
28
26
|
|
|
29
27
|
[`Guard`](../type-aliases/Guard.md)\<`TContext`, [`PlayEvent`](../../play/type-aliases/PlayEvent.md)\>
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
The guard predicate. It tests the property for a truthy value
|
|
32
30
|
|
|
33
31
|
## Example
|
|
34
32
|
|
|
@@ -40,3 +38,8 @@ const machine = setup({
|
|
|
40
38
|
},
|
|
41
39
|
});
|
|
42
40
|
```
|
|
41
|
+
|
|
42
|
+
## Deprecated
|
|
43
|
+
|
|
44
|
+
This function is part of the guard utilities, and the next major version removes
|
|
45
|
+
them. Write a plain typed predicate instead.
|
|
@@ -6,25 +6,25 @@
|
|
|
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:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/derive-route.ts#L163)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Tells you if the route path is absolute
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
The function decides if a route path is absolute, which means that it starts with
|
|
14
|
+
`/`, or relative. An absolute path inherits nothing from a parent route. A
|
|
15
|
+
relative path joins a parent path, for a nested routing.
|
|
16
16
|
|
|
17
17
|
## Parameters
|
|
18
18
|
|
|
19
|
-
| Parameter | Type | Description
|
|
20
|
-
| --------- | -------- |
|
|
21
|
-
| `path` | `string` |
|
|
19
|
+
| Parameter | Type | Description |
|
|
20
|
+
| --------- | -------- | ---------------------- |
|
|
21
|
+
| `path` | `string` | The route path to test |
|
|
22
22
|
|
|
23
23
|
## Returns
|
|
24
24
|
|
|
25
25
|
`boolean`
|
|
26
26
|
|
|
27
|
-
true
|
|
27
|
+
true when the path starts with '/'. In every other case, false
|
|
28
28
|
|
|
29
29
|
## Example
|
|
30
30
|
|
|
@@ -38,4 +38,4 @@ console.log(isAbsoluteRoute("./about")); // false
|
|
|
38
38
|
|
|
39
39
|
## See
|
|
40
40
|
|
|
41
|
-
[deriveRoute](deriveRoute.md) for route
|
|
41
|
+
[deriveRoute](deriveRoute.md) for the read of a route
|
|
@@ -1,55 +1,56 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / negateGuard
|
|
2
2
|
|
|
3
|
-
# Function: negateGuard()
|
|
3
|
+
# ~~Function: negateGuard()~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
function negateGuard<TContext, TEvent>(guard): 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:215](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/guards/compose.ts#L215)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Negates a guard, through the not() helper of XState
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The function inverts the result of a guard: the guard passes, and NOT then fails;
|
|
14
|
+
the guard fails, and NOT then passes. It uses the built-in `not()` helper of
|
|
15
|
+
XState, and the serialization is therefore correct.
|
|
14
16
|
|
|
15
17
|
## Type Parameters
|
|
16
18
|
|
|
17
|
-
| Type Parameter | Default type | Description
|
|
18
|
-
| -------------- | ------------ |
|
|
19
|
-
| `TContext` | `any` |
|
|
20
|
-
| `TEvent` | `any` |
|
|
19
|
+
| Type Parameter | Default type | Description |
|
|
20
|
+
| -------------- | ------------ | ------------------------------------- |
|
|
21
|
+
| `TContext` | `any` | The context type of the state machine |
|
|
22
|
+
| `TEvent` | `any` | The event type |
|
|
21
23
|
|
|
22
24
|
## Parameters
|
|
23
25
|
|
|
24
|
-
| Parameter | Type | Description
|
|
25
|
-
| --------- | ----------------------------------------------------------------------- |
|
|
26
|
-
| `guard` | `string` \| [`Guard`](../type-aliases/Guard.md)\<`TContext`, `TEvent`\> |
|
|
26
|
+
| Parameter | Type | Description |
|
|
27
|
+
| --------- | ----------------------------------------------------------------------- | ------------------------------------------ |
|
|
28
|
+
| `guard` | `string` \| [`Guard`](../type-aliases/Guard.md)\<`TContext`, `TEvent`\> | The guard predicate to negate, or its name |
|
|
27
29
|
|
|
28
30
|
## Returns
|
|
29
31
|
|
|
30
32
|
[`ComposedGuard`](../type-aliases/ComposedGuard.md)
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
The not() guard negation of XState
|
|
33
35
|
|
|
34
36
|
## Example
|
|
35
37
|
|
|
36
|
-
NOT composition with named guard
|
|
38
|
+
A NOT composition with a named guard
|
|
37
39
|
|
|
38
40
|
```typescript
|
|
39
41
|
import { setup } from "xstate";
|
|
40
42
|
import { negateGuard } from "@xmachines/play-xstate";
|
|
41
43
|
|
|
42
|
-
const isAuthenticated = negateGuard("isGuest");
|
|
43
|
-
|
|
44
44
|
const machine = setup({
|
|
45
45
|
guards: {
|
|
46
46
|
isGuest: ({ context }) => !context.userId,
|
|
47
47
|
},
|
|
48
48
|
}).createMachine({
|
|
49
49
|
on: {
|
|
50
|
-
accessDashboard:
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
accessDashboard: {
|
|
51
|
+
// Permit the transition when the user is NOT a guest, which means an authenticated user
|
|
52
|
+
guard: negateGuard("isGuest"),
|
|
53
|
+
target: "dashboard",
|
|
53
54
|
},
|
|
54
55
|
},
|
|
55
56
|
});
|
|
@@ -57,5 +58,10 @@ const machine = setup({
|
|
|
57
58
|
|
|
58
59
|
## See
|
|
59
60
|
|
|
60
|
-
- [composeGuards](composeGuards.md) for AND composition
|
|
61
|
-
- [composeGuardsOr](composeGuardsOr.md) for OR composition
|
|
61
|
+
- [composeGuards](composeGuards.md) for the AND composition
|
|
62
|
+
- [composeGuardsOr](composeGuardsOr.md) for the OR composition
|
|
63
|
+
|
|
64
|
+
## Deprecated
|
|
65
|
+
|
|
66
|
+
Use the `and()`, `or()`, and `not()` combinators of XState directly. This helper
|
|
67
|
+
does not compose with a guard slot that `setup()` types, and the next major version removes it.
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayerConfig\<TMachine\>
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-xstate/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
5
|
+
Defined in: [packages/play-xstate/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L7)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The configuration of definePlayer()
|
|
8
8
|
|
|
9
9
|
## Type Parameters
|
|
10
10
|
|
|
@@ -14,7 +14,7 @@ Configuration for definePlayer()
|
|
|
14
14
|
|
|
15
15
|
## Properties
|
|
16
16
|
|
|
17
|
-
| Property | Type | Description
|
|
18
|
-
| ---------------------------------------- | ------------------------------------------------- |
|
|
19
|
-
| <a id="property-machine"></a> `machine` | `TMachine` | XState
|
|
20
|
-
| <a id="property-options"></a> `options?` | [`PlayerOptions`](PlayerOptions.md)\<`TMachine`\> |
|
|
17
|
+
| Property | Type | Description | Defined in |
|
|
18
|
+
| ---------------------------------------- | ------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| <a id="property-machine"></a> `machine` | `TMachine` | The XState v5 state machine | [packages/play-xstate/src/types.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L9) |
|
|
20
|
+
| <a id="property-options"></a> `options?` | [`PlayerOptions`](PlayerOptions.md)\<`TMachine`\> | The lifecycle hooks and the configuration | [packages/play-xstate/src/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L12) |
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayerFactoryResumeOptions\<TMachine\>
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-xstate/src/types.ts:
|
|
5
|
+
Defined in: [packages/play-xstate/src/types.ts:115](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L115)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The optional restore arguments of the player factory.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
`createPlayer(input?)` calling convention
|
|
9
|
+
The shape follows the options object of `createActor` in XState. It also keeps the
|
|
10
|
+
`createPlayer(input?)` calling convention of a new actor.
|
|
11
11
|
|
|
12
12
|
## Type Parameters
|
|
13
13
|
|
|
@@ -17,6 +17,6 @@ Mirrors XState's createActor options bag while preserving the existing
|
|
|
17
17
|
|
|
18
18
|
## Properties
|
|
19
19
|
|
|
20
|
-
| Property | Type
|
|
21
|
-
| ------------------------------------------ |
|
|
22
|
-
| <a id="property-snapshot"></a> `snapshot?` | [`
|
|
20
|
+
| Property | Type | Description | Defined in |
|
|
21
|
+
| ------------------------------------------ | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
22
|
+
| <a id="property-snapshot"></a> `snapshot?` | [`Snapshot`](https://www.jsdocs.io/package/xstate#Snapshot)\<`unknown`\> | The persisted XState snapshot. The factory restores the actor state from it. Its type is the `ActorOptions["snapshot"]` type of XState, which is the exact type that `createActor` accepts and that `getPersistedSnapshot()` returns. The restore of a stored snapshot therefore needs no cast. | [packages/play-xstate/src/types.ts:123](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L123) |
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayerOptions\<TMachine\>
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-xstate/src/types.ts:
|
|
5
|
+
Defined in: [packages/play-xstate/src/types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L18)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Per CONTEXT.md: Rich set of hooks for observability
|
|
7
|
+
The lifecycle hooks of the player — the observability surface around the actor.
|
|
10
8
|
|
|
11
9
|
## Type Parameters
|
|
12
10
|
|
|
@@ -16,10 +14,11 @@ Per CONTEXT.md: Rich set of hooks for observability
|
|
|
16
14
|
|
|
17
15
|
## Properties
|
|
18
16
|
|
|
19
|
-
| Property | Type
|
|
20
|
-
| ---------------------------------------------------- |
|
|
21
|
-
| <a id="property-
|
|
22
|
-
| <a id="property-
|
|
23
|
-
| <a id="property-
|
|
24
|
-
| <a id="property-
|
|
25
|
-
| <a id="property-
|
|
17
|
+
| Property | Type | Description | Defined in |
|
|
18
|
+
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| <a id="property-inspect"></a> `inspect?` | \| [`Observer`](https://www.jsdocs.io/package/xstate#Observer)\<`InspectionEvent`\> \| ((`inspectionEvent`) => `void`) | The inspection observer. The factory gives it to `createActor` of XState without a change. This is the attachment at the moment of the creation, and it is the only route that observes the construction events of the actor. An attachment later, with `actor.system.inspect(fn)`, also works, but it sees only the events after that moment. A `PlayerActor` is the XState actor itself. Therefore its own events carry `actorRef === playerActor`, and you can recognize it by its identity. Each `PlayerActor` is also its own root system. Therefore `event.rootId === actor.sessionId` separates the complete tree, and this includes the events of an invoked child and of a spawned child, whose `actorRef` is the child. That identity brings one point to note: the `@xstate.actor` event fires from inside the constructor of the actor. Its `actorRef` value is therefore the instance during the construction, and `state`, `currentRoute`, `currentView`, and `initialRoute` do not exist yet. A read of one of them there throws. Keep the reference, and read the signals from a later event, or outside the observer. **Example** `import { createBrowserInspector } from "@statelyai/inspect"; const { inspect } = createBrowserInspector(); const createPlayer = definePlayer({ machine, options: { inspect } });` For an inspector that you create after the factory, for example behind a dev-tools switch, give the factory a function that forwards each event: `inspect: (event) => currentInspector?.(event)`. | [packages/play-xstate/src/types.ts:106](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L106) |
|
|
20
|
+
| <a id="property-onerror"></a> `onError?` | (`actor`, `error`) => `void` | The actor calls it on an actor error: a snapshot restore that fails at `start()`, an action or a guard that throws, and a failure of the view derivation. The actor reads this field at the moment of the delivery of an error, and not at its construction. The options object is shared by its reference. Therefore a handler on that object still receives each actor error, also after a later attachment, and the removal of the handler restores the loud default below. With a handler in place, the actor sends the error there, and the error counts as handled. XState decides its own global rethrow for each observer, and this option does not reach that decision: a subscription of your own without an `error` listener still forces the rethrow, with an `onError` handler and without one. Without `onError`, each actor error stays loud, with an unhandled rethrow through `setTimeout`. No error therefore disappears in silence. Your own `error` subscribers stop that default not: `onError` alone stops it. A failure of the actor that is an `Error` already arrives without a change, and it keeps the identity of the machine. A machine that throws a value that is not an `Error` arrives as an `ActorThrewNonErrorError`, with the value from the throw on its `cause` field. | [packages/play-xstate/src/types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L71) |
|
|
21
|
+
| <a id="property-onstart"></a> `onStart?` | (`actor`) => `void` | The actor calls it on each real start, which is every transition from "not running" to "running". A start after a stop is such a transition. A second `start()` call while the actor runs fires the hook not again. | [packages/play-xstate/src/types.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L24) |
|
|
22
|
+
| <a id="property-onstatechange"></a> `onStateChange?` | (`actor`, `state`) => `void` | The actor calls it when the state signal changes | [packages/play-xstate/src/types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L46) |
|
|
23
|
+
| <a id="property-onstop"></a> `onStop?` | (`actor`) => `void` | The actor calls it on each real stop, which means only after it tore a running actor down. A second `stop()` call, a second `dispose()` call, and a stop of an actor that never started fire the hook not. | [packages/play-xstate/src/types.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L31) |
|
|
24
|
+
| <a id="property-ontransition"></a> `onTransition?` | (`actor`, `prevState`, `nextState`) => `void` | The actor calls it after every event that `send()` processes. This includes an event that the machine ignores, and `prevState` and `nextState` are then the same snapshot. Compare the two values when only a real transition is important to you. | [packages/play-xstate/src/types.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/types.ts#L39) |
|
|
@@ -2,23 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteContext
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-xstate/src/routing/types.ts:
|
|
5
|
+
Defined in: [packages/play-xstate/src/routing/types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L20)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The context of the route construction, from the machine context.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Every substitution of a URL parameter reads `params`, because the type reads no
|
|
10
|
+
flat context field. This is deliberate: the type has no index signature now, and
|
|
11
|
+
the compiler therefore checks the shape of a context, and the IDE completes each
|
|
12
|
+
context field.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
must
|
|
14
|
+
A machine with `formatPlayRouteTransitions` receives its `params` field and its
|
|
15
|
+
`query` field from each `play.route` event, and the transitions assign them. A
|
|
16
|
+
machine that calls `buildRouteUrl` itself must fill `params` itself.
|
|
16
17
|
|
|
17
18
|
## Properties
|
|
18
19
|
|
|
19
|
-
| Property | Type | Description
|
|
20
|
-
| ------------------------------------------ | ------------------------------- |
|
|
21
|
-
| <a id="property-basepath"></a> `basePath?` | `string` |
|
|
22
|
-
| <a id="property-hash"></a> `hash?` | `string` |
|
|
23
|
-
| <a id="property-params"></a> `params?` | `Record`\<`string`, `unknown`\> |
|
|
24
|
-
| <a id="property-query"></a> `query?` | `Record`\<`string`, `unknown`\> |
|
|
20
|
+
| Property | Type | Description | Defined in |
|
|
21
|
+
| ------------------------------------------ | ------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
22
|
+
| <a id="property-basepath"></a> `basePath?` | `string` | The base path of a relative route | [packages/play-xstate/src/routing/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L22) |
|
|
23
|
+
| <a id="property-hash"></a> `hash?` | `string` | The hash fragment | [packages/play-xstate/src/routing/types.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L28) |
|
|
24
|
+
| <a id="property-params"></a> `params?` | `Record`\<`string`, `unknown`\> | The parameters of the path to substitute, for example `:userId` of `/profile/:userId` | [packages/play-xstate/src/routing/types.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L24) |
|
|
25
|
+
| <a id="property-query"></a> `query?` | `Record`\<`string`, `unknown`\> | The query parameters | [packages/play-xstate/src/routing/types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L26) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteObject
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
5
|
+
Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L1)
|
|
6
6
|
|
|
7
7
|
## Indexable
|
|
8
8
|
|
|
@@ -12,6 +12,6 @@ Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xma
|
|
|
12
12
|
|
|
13
13
|
## Properties
|
|
14
14
|
|
|
15
|
-
| Property | Type | Defined in
|
|
16
|
-
| --------------------------------- | -------- |
|
|
17
|
-
| <a id="property-path"></a> `path` | `string` | [packages/play-xstate/src/routing/types.ts:2](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
15
|
+
| Property | Type | Defined in |
|
|
16
|
+
| --------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| <a id="property-path"></a> `path` | `string` | [packages/play-xstate/src/routing/types.ts:2](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/routing/types.ts#L2) |
|
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / ComposedGuard
|
|
2
2
|
|
|
3
|
-
# Type Alias: ComposedGuard
|
|
3
|
+
# ~~Type Alias: ComposedGuard~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
type ComposedGuard =
|
|
6
|
+
type ComposedGuard = GuardPredicate<MachineContext, EventObject, unknown, ParameterizedObject>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/compose.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/compose.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/guards/compose.ts#L33)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
The narrowest public return type of the guard composition helpers.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
composed guard is therefore just another predicate with the same shape as
|
|
16
|
-
[Guard](Guard.md), callable anywhere transition args are available.
|
|
13
|
+
`GuardPredicate<MachineContext, EventObject, unknown, ParameterizedObject>` is the
|
|
14
|
+
concrete XState guard type with the widest compatibility that uses no `any`.
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
declared in `setup({ guards })`, which XState v6 passes to every transition
|
|
20
|
-
function). Resolving a name outside a transition function — or a name that
|
|
21
|
-
was never declared — throws `UnresolvableGuardNameError` immediately.
|
|
16
|
+
## Deprecated
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
resolvers.
|
|
26
|
-
|
|
27
|
-
## Parameters
|
|
28
|
-
|
|
29
|
-
| Parameter | Type |
|
|
30
|
-
| --------- | --------- |
|
|
31
|
-
| `args` | `unknown` |
|
|
32
|
-
|
|
33
|
-
## Returns
|
|
34
|
-
|
|
35
|
-
`boolean`
|
|
18
|
+
The next major version removes the guard utilities. Use the
|
|
19
|
+
combinator types of XState directly.
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / Guard
|
|
2
2
|
|
|
3
|
-
# Type Alias: Guard\<TContext, TEvent
|
|
3
|
+
# ~~Type Alias: Guard\<TContext, TEvent\>~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
type Guard<TContext, TEvent> = (args) => boolean;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/types.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/guards/types.ts#L12)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Per CONTEXT.md: Guards receive { context, event } per XState standard
|
|
11
|
+
The standard signature of an XState guard function. A guard receives `{ context, event }`.
|
|
14
12
|
|
|
15
13
|
## Type Parameters
|
|
16
14
|
|
|
@@ -21,14 +19,18 @@ Per CONTEXT.md: Guards receive { context, event } per XState standard
|
|
|
21
19
|
|
|
22
20
|
## Parameters
|
|
23
21
|
|
|
24
|
-
| Parameter | Type | Description
|
|
25
|
-
| -------------- | ----------------------------------------------- |
|
|
26
|
-
| `args` | \{ `context`: `TContext`; `event`: `TEvent`; \} |
|
|
27
|
-
| `args.context` | `TContext` |
|
|
28
|
-
| `args.event` | `TEvent` |
|
|
22
|
+
| Parameter | Type | Description |
|
|
23
|
+
| -------------- | ----------------------------------------------- | ----------------------------------------------------- |
|
|
24
|
+
| `args` | \{ `context`: `TContext`; `event`: `TEvent`; \} | The arguments of the guard: the context and the event |
|
|
25
|
+
| `args.context` | `TContext` | The current machine context |
|
|
26
|
+
| `args.event` | `TEvent` | The event that started the evaluation of the guard |
|
|
29
27
|
|
|
30
28
|
## Returns
|
|
31
29
|
|
|
32
30
|
`boolean`
|
|
33
31
|
|
|
34
|
-
boolean
|
|
32
|
+
The boolean value. It tells you if the guard passes
|
|
33
|
+
|
|
34
|
+
## Deprecated
|
|
35
|
+
|
|
36
|
+
The next major version removes the guard utilities.
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / GuardArray
|
|
2
2
|
|
|
3
|
-
# Type Alias: GuardArray\<TContext, TEvent
|
|
3
|
+
# ~~Type Alias: GuardArray\<TContext, TEvent\>~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
type GuardArray<TContext, TEvent> = (Guard<TContext, TEvent> | string)[];
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-xstate/src/guards/types.ts#L23)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Per CONTEXT.md: Array means AND - all guards must pass
|
|
11
|
+
The array of the guard predicates, or of the guard names. An array means AND:
|
|
12
|
+
every guard must pass.
|
|
14
13
|
|
|
15
14
|
## Type Parameters
|
|
16
15
|
|
|
@@ -18,3 +17,7 @@ Per CONTEXT.md: Array means AND - all guards must pass
|
|
|
18
17
|
| -------------- | --------------------------------------------------- |
|
|
19
18
|
| `TContext` | `Record`\<`string`, `unknown`\> |
|
|
20
19
|
| `TEvent` | [`PlayEvent`](../../play/type-aliases/PlayEvent.md) |
|
|
20
|
+
|
|
21
|
+
## Deprecated
|
|
22
|
+
|
|
23
|
+
The next major version removes the guard utilities.
|