@xmachines/docs 1.0.0-beta.9 → 1.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 +135 -7
- package/api/@xmachines/play/README.md +159 -39
- 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 +153 -160
- package/api/@xmachines/play-actor/classes/AbstractActor.md +106 -121
- 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 +385 -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 +272 -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 -333
- 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 -115
- 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 +275 -352
- 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 +15 -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 +117 -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 -233
- 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 +151 -559
- 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 +99 -114
- 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 +270 -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 +197 -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 +212 -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 -125
- 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 +61 -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 +216 -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 +190 -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 -486
- 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 +203 -354
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +195 -201
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +24 -20
- package/api/@xmachines/play-xstate/functions/composeGuards.md +8 -3
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +8 -3
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +43 -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 +8 -3
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
- package/api/@xmachines/play-xstate/functions/hasContext.md +8 -5
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/negateGuard.md +8 -3
- 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 +14 -16
- 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 +8 -3
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +8 -6
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +9 -7
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +15 -18
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
- 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 +35 -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 +601 -0
- package/contributing/configuration.md +368 -0
- package/contributing/deployment.md +333 -0
- package/contributing/development.md +503 -0
- package/contributing/testing.md +461 -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 +25 -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 +16 -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 +19 -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 +17 -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 +18 -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 +259 -118
- package/examples/multi-router-integration.md +312 -194
- package/examples/routing-patterns.md +228 -189
- package/examples/traffic-light.md +112 -65
- package/guides/README.md +7 -21
- package/guides/actor-model.md +180 -0
- package/guides/getting-started.md +627 -137
- package/guides/signals.md +166 -0
- package/guides/state-machines.md +284 -0
- package/package.json +21 -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
package/README.md
CHANGED
|
@@ -1,15 +1,143 @@
|
|
|
1
1
|
# @xmachines/docs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Documentation, guides, RFCs, and generated API reference for XMachines.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Part of the `XMachines Play monorepo`.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.npmjs.com/package/@xmachines/docs)
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
`@xmachines/docs` is the documentation package for the XMachines Play monorepo. It ships five categories of content:
|
|
13
|
+
|
|
14
|
+
| Location | Contents |
|
|
15
|
+
| --------------- | ---------------------------------------------------------------- |
|
|
16
|
+
| `rfc/` | Request-for-Comment specs that define the XMachines architecture |
|
|
17
|
+
| `guides/` | Concept guides, tutorials, and getting-started docs |
|
|
18
|
+
| `contributing/` | Operational docs for contributors and maintainers |
|
|
19
|
+
| `examples/` | Runnable code examples and demo application references |
|
|
20
|
+
| `api/` | TypeDoc-generated API reference for all public packages |
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm add @xmachines/docs
|
|
26
|
+
```
|
|
6
27
|
|
|
7
28
|
## Usage
|
|
8
29
|
|
|
9
|
-
|
|
30
|
+
### Import the package URL
|
|
31
|
+
|
|
32
|
+
The package default export is its own module URL — useful for resolving doc assets at runtime:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
import docsUrl from "@xmachines/docs";
|
|
36
|
+
// docsUrl is the resolved URL of the docs package entry point
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Access documentation files directly
|
|
40
|
+
|
|
41
|
+
All documentation directories are exposed as package exports:
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
// Access RFC files
|
|
45
|
+
import playRfc from "@xmachines/docs/rfc/play.md";
|
|
46
|
+
|
|
47
|
+
// Access guide files
|
|
48
|
+
import gettingStarted from "@xmachines/docs/guides/getting-started.md";
|
|
49
|
+
|
|
50
|
+
// Access example files
|
|
51
|
+
import basicExample from "@xmachines/docs/examples/basic-state-machine.md";
|
|
52
|
+
|
|
53
|
+
// Access API reference
|
|
54
|
+
import apiDocs from "@xmachines/docs/api/README.md";
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Contents
|
|
58
|
+
|
|
59
|
+
### RFCs
|
|
60
|
+
|
|
61
|
+
Architectural specifications that define the XMachines system:
|
|
62
|
+
|
|
63
|
+
| File | Title | Description |
|
|
64
|
+
| ---------------------------------- | ------- | -------------------------------------------------------------------- |
|
|
65
|
+
| [`rfc/play.md`](rfc/play.md) | Play | Universal Player Architecture — core protocol, roles, and invariants |
|
|
66
|
+
| [`rfc/streams.md`](rfc/streams.md) | Streams | WHATWG Streams as integration boundary |
|
|
67
|
+
| [`rfc/broker.md`](rfc/broker.md) | Broker | Event broker specification |
|
|
68
|
+
| [`rfc/git.md`](rfc/git.md) | Git | Git-compatible ID and history model |
|
|
69
|
+
| [`rfc/run.md`](rfc/run.md) | Run | Runtime execution model |
|
|
70
|
+
| [`rfc/browser.md`](rfc/browser.md) | Browser | Browser environment adapter |
|
|
71
|
+
| [`rfc/node.md`](rfc/node.md) | Node | Node.js environment adapter |
|
|
72
|
+
| [`rfc/cli.md`](rfc/cli.md) | CLI | Command-line interface specification |
|
|
73
|
+
| [`rfc/rest.md`](rfc/rest.md) | REST | REST adapter specification |
|
|
74
|
+
| [`rfc/mcp.md`](rfc/mcp.md) | MCP | Model Context Protocol adapter |
|
|
75
|
+
|
|
76
|
+
### Guides
|
|
77
|
+
|
|
78
|
+
Concept guides and tutorials for working with XMachines:
|
|
79
|
+
|
|
80
|
+
**Learning:**
|
|
81
|
+
|
|
82
|
+
- **[Getting Started](guides/getting-started.md)** — `setup().createMachine()` → `definePlayer()` → `actor.start()` → TC39 Signals
|
|
83
|
+
- **[Understanding State Machines](guides/state-machines.md)** — `meta.route`, `meta.view`, and why machines replace boolean flags
|
|
84
|
+
- **[Understanding the Actor Model](guides/actor-model.md)** — Actor/infrastructure split, `AbstractActor`, and the reset invariant
|
|
85
|
+
- **[Understanding TC39 Signals](guides/signals.md)** — Signal primitives and the five architectural invariants they enforce
|
|
86
|
+
|
|
87
|
+
### Contributing & Operations
|
|
88
|
+
|
|
89
|
+
Reference documentation for contributors and maintainers:
|
|
90
|
+
|
|
91
|
+
- **[Architecture](contributing/architecture.md)** — Package layers, data flows, key abstractions, TypeScript build graph
|
|
92
|
+
- **[Development](contributing/development.md)** — Monorepo setup, build system, adding packages, code conventions
|
|
93
|
+
- **[Configuration](contributing/configuration.md)** — TypeScript, linting, formatting, Vitest, CI/CD, and release configuration
|
|
94
|
+
- **[Testing](contributing/testing.md)** — Vitest setup, node vs browser modes, test patterns, coverage requirements
|
|
95
|
+
- **[Deployment](contributing/deployment.md)** — npm publishing, semantic-release process, GitLab CI pipeline
|
|
96
|
+
|
|
97
|
+
### Examples
|
|
98
|
+
|
|
99
|
+
Practical code examples demonstrating XMachines patterns:
|
|
100
|
+
|
|
101
|
+
- **[Basic State Machine](examples/basic-state-machine.md)** — `setup().createMachine()` + `definePlayer()` + TC39 Signals
|
|
102
|
+
- **[Traffic Light](examples/traffic-light.md)** — Multi-state machine with `meta.route` and `formatPlayRouteTransitions`
|
|
103
|
+
- **[Form Validation](examples/form-validation.md)** — Typed context mutations with `setup.assign`, guards, and `$bindState`
|
|
104
|
+
- **[Routing Patterns](examples/routing-patterns.md)** — `meta.route`, `play.route` events, `always` auth guards
|
|
105
|
+
- **[Multi-Router Integration](examples/multi-router-integration.md)** — All 8 router adapters
|
|
106
|
+
|
|
107
|
+
### API Reference
|
|
108
|
+
|
|
109
|
+
TypeDoc-generated API reference for all public packages — see [`api/README.md`](api/README.md).
|
|
110
|
+
|
|
111
|
+
Packages documented:
|
|
112
|
+
|
|
113
|
+
- [`@xmachines/play`](../play/README.md) — Core protocols (`PlayEvent`, `PlayError`)
|
|
114
|
+
- [`@xmachines/play-actor`](../play-actor/README.md) — `AbstractActor`, `Routable`, `Viewable`
|
|
115
|
+
- [`@xmachines/play-signals`](../play-signals/README.md) — TC39 Signals polyfill, `watchSignal`
|
|
116
|
+
- [`@xmachines/play-router`](../play-router/README.md) — `extractMachineRoutes`, `RouterBridgeBase`
|
|
117
|
+
- [`@xmachines/play-xstate`](../play-xstate/README.md) — `definePlayer`, `formatPlayRouteTransitions`, `PlayerActor`
|
|
118
|
+
- [`@xmachines/play-dom`](../play-dom/README.md), [`play-react`](../play-react/README.md), [`play-solid`](../play-solid/README.md), [`play-svelte`](../play-svelte/README.md), [`play-vue`](../play-vue/README.md) — View renderers
|
|
119
|
+
- [`@xmachines/play-dom-router`](../play-dom-router/README.md), [`play-tanstack-router`](../play-tanstack-router/README.md), [`play-react-router`](../play-react-router/README.md), [`play-tanstack-react-router`](../play-tanstack-react-router/README.md), [`play-solid-router`](../play-solid-router/README.md), [`play-tanstack-solid-router`](../play-tanstack-solid-router/README.md), [`play-vue-router`](../play-vue-router/README.md), [`play-svelte-spa-router`](../play-svelte-spa-router/README.md), [`play-sveltekit-router`](../play-sveltekit-router/README.md) — Router adapters
|
|
120
|
+
|
|
121
|
+
## Testing
|
|
122
|
+
|
|
123
|
+
Run the docs package tests in isolation:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# From the monorepo root
|
|
127
|
+
pnpm --filter @xmachines/docs test
|
|
128
|
+
|
|
129
|
+
# Or from within the package directory
|
|
130
|
+
pnpm test
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Regenerating API Docs
|
|
134
|
+
|
|
135
|
+
The `api/` directory is auto-generated by TypeDoc and must not be edited directly. Regenerate it from the monorepo root:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
pnpm run docs
|
|
139
|
+
```
|
|
10
140
|
|
|
11
|
-
|
|
141
|
+
## License
|
|
12
142
|
|
|
13
|
-
|
|
14
|
-
2. Run `npm install` in the root directory.
|
|
15
|
-
3. Run `npm run docs` to generate the documentation into `packages/docs/api`.
|
|
143
|
+
MIT — see [LICENSE](LICENSE).
|
|
@@ -1,75 +1,186 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../README.md) / @xmachines/play
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# `@xmachines/play`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> Core protocol layer for the Universal Player Architecture — defines `PlayEvent`, `PlayError`, and architectural contracts enabling loose coupling between business logic and runtime adapters.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.npmjs.com/package/@xmachines/play)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
This package exports protocol types only (no runtime behavior). It exists to preserve strict separation between:
|
|
12
|
-
|
|
13
|
-
- **Actors** (business authority)
|
|
14
|
-
- **Infrastructure adapters** (routers/renderers that observe and forward)
|
|
15
|
-
|
|
16
|
-
Per [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md), this package supports:
|
|
10
|
+
Part of the [XMachines JS monorepo](../../README.md).
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
- **Strict Separation (INV-02):** protocol types are framework-agnostic
|
|
20
|
-
- **Passive Infrastructure (INV-04):** adapters reflect actor decisions
|
|
12
|
+
---
|
|
21
13
|
|
|
22
14
|
## Installation
|
|
23
15
|
|
|
24
16
|
```bash
|
|
25
|
-
|
|
17
|
+
pnpm add @xmachines/play
|
|
26
18
|
```
|
|
27
19
|
|
|
28
|
-
|
|
20
|
+
> **Node.js `>= 22.0.0` required.** All packages are ES modules (`"type": "module"`).
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
---
|
|
31
23
|
|
|
32
|
-
|
|
24
|
+
## Overview
|
|
33
25
|
|
|
34
|
-
`
|
|
26
|
+
`@xmachines/play` is the foundational package in the XMachines ecosystem. It defines the minimal set of types and utilities that all other `@xmachines/*` packages build upon:
|
|
35
27
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
- **`PlayEvent<TPayload>`** — the universal event contract for Actor ↔ Infrastructure communication
|
|
29
|
+
- **`PlayError`** — the typed base class for all `@xmachines/*` runtime errors
|
|
30
|
+
- **`NonNullableError`** — thrown when a required value is `null` or `undefined`
|
|
31
|
+
- **`assertNonNullable()`** — assertion utility that narrows `T | null | undefined` to `T`
|
|
32
|
+
|
|
33
|
+
These protocols implement the architectural invariants defined in the Play RFC:
|
|
34
|
+
|
|
35
|
+
| # | Invariant | Description |
|
|
36
|
+
| ------ | -------------------------- | ------------------------------------------------------------------ |
|
|
37
|
+
| INV-01 | **Actor Authority** | The Actor is the final authority; guards decide all transitions |
|
|
38
|
+
| INV-02 | **Strict Separation** | Business logic never imports UI frameworks or routing libraries |
|
|
39
|
+
| INV-04 | **Passive Infrastructure** | Infrastructure observes Actor signals; it never enforces guards |
|
|
40
|
+
| INV-05 | **Signal-Only Reactivity** | TC39 Signals are the exclusive cross-boundary communication medium |
|
|
41
|
+
|
|
42
|
+
---
|
|
41
43
|
|
|
42
44
|
## Usage
|
|
43
45
|
|
|
44
|
-
###
|
|
46
|
+
### `PlayEvent<TPayload>`
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
The minimal event contract: any object with a `type: string` property. Framework-agnostic — works with XState, Robot, and any other state machine library.
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
47
51
|
import type { PlayEvent } from "@xmachines/play";
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
// Flexible (accepts any additional fields):
|
|
54
|
+
const event: PlayEvent = { type: "auth.login", userId: "user123" };
|
|
55
|
+
|
|
56
|
+
// Type-safe (with generic payload):
|
|
57
|
+
type LoginEvent = PlayEvent<{ userId: string; timestamp: number }>;
|
|
50
58
|
|
|
51
|
-
const
|
|
59
|
+
const loginEvent: LoginEvent = {
|
|
52
60
|
type: "auth.login",
|
|
53
|
-
userId: "
|
|
61
|
+
userId: "user123",
|
|
62
|
+
timestamp: Date.now(),
|
|
54
63
|
};
|
|
64
|
+
|
|
65
|
+
// TypeScript error: missing required field
|
|
66
|
+
const invalid: LoginEvent = { type: "auth.login" }; // Error!
|
|
55
67
|
```
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
### `PlayError`
|
|
58
70
|
|
|
59
|
-
|
|
60
|
-
- Keep actor implementation details in adapter packages such as `@xmachines/play-xstate`.
|
|
71
|
+
Base class for all `@xmachines/*` runtime errors. Every error has a stable `scope` (throwing class/module) and `code` (machine-readable identifier). Always branch on `.code` or subclass — never on `.message`.
|
|
61
72
|
|
|
62
|
-
|
|
73
|
+
```typescript
|
|
74
|
+
import { PlayError } from "@xmachines/play";
|
|
75
|
+
import { NonNullableError } from "@xmachines/play/errors";
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
bridge.connect();
|
|
79
|
+
} catch (err) {
|
|
80
|
+
if (err instanceof NonNullableError) {
|
|
81
|
+
// err.scope === "assertNonNullable"
|
|
82
|
+
// err.code === "PLAY_NON_NULLABLE"
|
|
83
|
+
console.error(`Missing value: ${err.message}`);
|
|
84
|
+
} else if (err instanceof PlayError) {
|
|
85
|
+
// Any other @xmachines/* error
|
|
86
|
+
console.error(`[${err.scope}:${err.code}] ${err.message}`);
|
|
87
|
+
} else {
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Extend `PlayError` in your own `@xmachines/*`-compatible packages:
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { PlayError } from "@xmachines/play";
|
|
97
|
+
|
|
98
|
+
export class MyPackageError extends PlayError {
|
|
99
|
+
constructor(message: string, options?: ErrorOptions) {
|
|
100
|
+
super("MyScope", "MY_PACKAGE_ERROR_CODE", message, options);
|
|
101
|
+
this.name = "MyPackageError";
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### `assertNonNullable(value, name?)`
|
|
107
|
+
|
|
108
|
+
Assertion utility that returns `value` typed as `NonNullable<V>` or throws `NonNullableError`. Eliminates unsafe `!` non-null assertions.
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
import { assertNonNullable } from "@xmachines/play";
|
|
112
|
+
|
|
113
|
+
// Inject + assert in one line — no intermediate variable or `!` needed:
|
|
114
|
+
const actor = assertNonNullable(inject<AuthActor>("actor"), "actor");
|
|
115
|
+
|
|
116
|
+
// DOM element lookup:
|
|
117
|
+
const el = assertNonNullable(document.getElementById("app"), "#app");
|
|
118
|
+
```
|
|
63
119
|
|
|
64
|
-
|
|
65
|
-
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## API Summary
|
|
123
|
+
|
|
124
|
+
### Exported from `@xmachines/play`
|
|
125
|
+
|
|
126
|
+
| Export | Kind | Description |
|
|
127
|
+
| --------------------- | ---------- | ---------------------------------------------------------------- |
|
|
128
|
+
| `PlayEvent<TPayload>` | `type` | Universal event contract — `{ type: string } & TPayload` |
|
|
129
|
+
| `PlayError` | `class` | Base class for all `@xmachines/*` typed errors |
|
|
130
|
+
| `NonNullableError` | `class` | Thrown by `assertNonNullable` when a value is `null`/`undefined` |
|
|
131
|
+
| `assertNonNullable` | `function` | Asserts non-null, returns narrowed value |
|
|
132
|
+
|
|
133
|
+
### Exported from `@xmachines/play/errors`
|
|
134
|
+
|
|
135
|
+
| Export | Kind | Description |
|
|
136
|
+
| ------------------ | ------- | --------------------------------------------------------- |
|
|
137
|
+
| `PlayError` | `class` | Re-exported base error class |
|
|
138
|
+
| `NonNullableError` | `class` | `scope: "assertNonNullable"`, `code: "PLAY_NON_NULLABLE"` |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Error Codes
|
|
143
|
+
|
|
144
|
+
| Code | Class | Thrown When |
|
|
145
|
+
| ------------------- | ------------------ | ---------------------------------------------------- |
|
|
146
|
+
| `PLAY_NON_NULLABLE` | `NonNullableError` | `assertNonNullable()` receives `null` or `undefined` |
|
|
147
|
+
|
|
148
|
+
Other `@xmachines/*` packages export their own error subclasses from their respective `./errors` subpath:
|
|
149
|
+
|
|
150
|
+
| Package | Import path |
|
|
151
|
+
| ---------------------------- | ----------------------------------- |
|
|
152
|
+
| `@xmachines/play` | `@xmachines/play/errors` |
|
|
153
|
+
| `@xmachines/play-router` | `@xmachines/play-router/errors` |
|
|
154
|
+
| `@xmachines/play-xstate` | `@xmachines/play-xstate/errors` |
|
|
155
|
+
| `@xmachines/play-react` | `@xmachines/play-react/errors` |
|
|
156
|
+
| `@xmachines/play-solid` | `@xmachines/play-solid/errors` |
|
|
157
|
+
| `@xmachines/play-vue-router` | `@xmachines/play-vue-router/errors` |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Testing
|
|
162
|
+
|
|
163
|
+
Run tests for this package in isolation:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
pnpm --filter @xmachines/play test
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Or from the package directory:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
pnpm test
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Tests use **Vitest** and cover the `PlayError` class construction, inheritance, `cause` support, and subclassing patterns.
|
|
176
|
+
|
|
177
|
+
---
|
|
66
178
|
|
|
67
179
|
## License
|
|
68
180
|
|
|
69
|
-
|
|
181
|
+
MIT © [Mikael Karon](mailto:mikael@karon.se)
|
|
70
182
|
|
|
71
|
-
|
|
72
|
-
For a copy, see <https://opensource.org/licenses/MIT>.
|
|
183
|
+
See [LICENSE](./LICENSE) for details.
|
|
73
184
|
|
|
74
185
|
@xmachines/play - Core Protocol Layer
|
|
75
186
|
|
|
@@ -125,6 +236,15 @@ These protocols enforce the following invariants:
|
|
|
125
236
|
4. **Signal-Only Reactivity**: All state changes flow through TC39 Signals
|
|
126
237
|
5. **State-Driven Reset**: Navigation follows state machine transition rules
|
|
127
238
|
|
|
239
|
+
## Classes
|
|
240
|
+
|
|
241
|
+
- [NonNullableError](classes/NonNullableError.md)
|
|
242
|
+
- [PlayError](classes/PlayError.md)
|
|
243
|
+
|
|
128
244
|
## Type Aliases
|
|
129
245
|
|
|
130
246
|
- [PlayEvent](type-aliases/PlayEvent.md)
|
|
247
|
+
|
|
248
|
+
## Functions
|
|
249
|
+
|
|
250
|
+
- [assertNonNullable](functions/assertNonNullable.md)
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play](../README.md) / NonNullableError
|
|
2
|
+
|
|
3
|
+
# Class: NonNullableError
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play/src/errors.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play/src/errors.ts#L111)
|
|
6
|
+
|
|
7
|
+
Thrown by [assertNonNullable](../functions/assertNonNullable.md) when a value is `null` or `undefined`.
|
|
8
|
+
|
|
9
|
+
Catch this specifically to distinguish a missing-value assertion failure from
|
|
10
|
+
other runtime errors:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { NonNullableError } from "@xmachines/play/errors";
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
const actor = assertNonNullable(inject<AuthActor>("actor"), "actor");
|
|
17
|
+
} catch (err) {
|
|
18
|
+
if (err instanceof NonNullableError) {
|
|
19
|
+
// err.name === "NonNullableError"
|
|
20
|
+
// err.scope === "assertNonNullable"
|
|
21
|
+
// err.code === "PLAY_NON_NULLABLE"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Extends
|
|
27
|
+
|
|
28
|
+
- [`PlayError`](PlayError.md)
|
|
29
|
+
|
|
30
|
+
## Constructors
|
|
31
|
+
|
|
32
|
+
### Constructor
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
new NonNullableError(message, options?): NonNullableError;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Defined in: [packages/play/src/errors.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play/src/errors.ts#L112)
|
|
39
|
+
|
|
40
|
+
#### Parameters
|
|
41
|
+
|
|
42
|
+
| Parameter | Type |
|
|
43
|
+
| ---------- | -------------- |
|
|
44
|
+
| `message` | `string` |
|
|
45
|
+
| `options?` | `ErrorOptions` |
|
|
46
|
+
|
|
47
|
+
#### Returns
|
|
48
|
+
|
|
49
|
+
`NonNullableError`
|
|
50
|
+
|
|
51
|
+
#### Overrides
|
|
52
|
+
|
|
53
|
+
[`PlayError`](PlayError.md).[`constructor`](PlayError.md#constructor)
|
|
54
|
+
|
|
55
|
+
## Properties
|
|
56
|
+
|
|
57
|
+
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
58
|
+
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
59
|
+
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](PlayError.md).[`cause`](PlayError.md#property-cause) | - |
|
|
60
|
+
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/play/src/errors.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play/src/errors.ts#L75) |
|
|
61
|
+
| <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](PlayError.md).[`message`](PlayError.md#property-message) | - |
|
|
62
|
+
| <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](PlayError.md).[`name`](PlayError.md#property-name) | - |
|
|
63
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play/src/errors.ts#L66) |
|
|
64
|
+
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](PlayError.md).[`stack`](PlayError.md#property-stack) | - |
|
|
65
|
+
| <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`PlayError`](PlayError.md).[`stackTraceLimit`](PlayError.md#property-stacktracelimit) | - |
|
|
66
|
+
|
|
67
|
+
## Methods
|
|
68
|
+
|
|
69
|
+
### captureStackTrace()
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
static captureStackTrace(targetObject, constructorOpt?): void;
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Defined in: `@types/node`
|
|
76
|
+
|
|
77
|
+
Creates a `.stack` property on `targetObject`, which when accessed returns
|
|
78
|
+
a string representing the location in the code at which
|
|
79
|
+
`Error.captureStackTrace()` was called.
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const myObject = {};
|
|
83
|
+
Error.captureStackTrace(myObject);
|
|
84
|
+
myObject.stack; // Similar to `new Error().stack`
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The first line of the trace will be prefixed with
|
|
88
|
+
`${myObject.name}: ${myObject.message}`.
|
|
89
|
+
|
|
90
|
+
The optional `constructorOpt` argument accepts a function. If given, all frames
|
|
91
|
+
above `constructorOpt`, including `constructorOpt`, will be omitted from the
|
|
92
|
+
generated stack trace.
|
|
93
|
+
|
|
94
|
+
The `constructorOpt` argument is useful for hiding implementation
|
|
95
|
+
details of error generation from the user. For instance:
|
|
96
|
+
|
|
97
|
+
```js
|
|
98
|
+
function a() {
|
|
99
|
+
b();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function b() {
|
|
103
|
+
c();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function c() {
|
|
107
|
+
// Create an error without stack trace to avoid calculating the stack trace twice.
|
|
108
|
+
const { stackTraceLimit } = Error;
|
|
109
|
+
Error.stackTraceLimit = 0;
|
|
110
|
+
const error = new Error();
|
|
111
|
+
Error.stackTraceLimit = stackTraceLimit;
|
|
112
|
+
|
|
113
|
+
// Capture the stack trace above function b
|
|
114
|
+
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
a();
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### Parameters
|
|
122
|
+
|
|
123
|
+
| Parameter | Type |
|
|
124
|
+
| ----------------- | ---------- |
|
|
125
|
+
| `targetObject` | `object` |
|
|
126
|
+
| `constructorOpt?` | `Function` |
|
|
127
|
+
|
|
128
|
+
#### Returns
|
|
129
|
+
|
|
130
|
+
`void`
|
|
131
|
+
|
|
132
|
+
#### Inherited from
|
|
133
|
+
|
|
134
|
+
[`PlayError`](PlayError.md).[`captureStackTrace`](PlayError.md#capturestacktrace)
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### isError()
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
static isError(error): error is Error;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Defined in: `typescript`
|
|
145
|
+
|
|
146
|
+
Indicates whether the argument provided is a built-in Error instance or not.
|
|
147
|
+
|
|
148
|
+
#### Parameters
|
|
149
|
+
|
|
150
|
+
| Parameter | Type |
|
|
151
|
+
| --------- | --------- |
|
|
152
|
+
| `error` | `unknown` |
|
|
153
|
+
|
|
154
|
+
#### Returns
|
|
155
|
+
|
|
156
|
+
`error is Error`
|
|
157
|
+
|
|
158
|
+
#### Inherited from
|
|
159
|
+
|
|
160
|
+
[`PlayError`](PlayError.md).[`isError`](PlayError.md#iserror)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### prepareStackTrace()
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
static prepareStackTrace(err, stackTraces): any;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Defined in: `@types/node`
|
|
171
|
+
|
|
172
|
+
#### Parameters
|
|
173
|
+
|
|
174
|
+
| Parameter | Type |
|
|
175
|
+
| ------------- | ------------ |
|
|
176
|
+
| `err` | `Error` |
|
|
177
|
+
| `stackTraces` | `CallSite`[] |
|
|
178
|
+
|
|
179
|
+
#### Returns
|
|
180
|
+
|
|
181
|
+
`any`
|
|
182
|
+
|
|
183
|
+
#### See
|
|
184
|
+
|
|
185
|
+
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
|
|
186
|
+
|
|
187
|
+
#### Inherited from
|
|
188
|
+
|
|
189
|
+
[`PlayError`](PlayError.md).[`prepareStackTrace`](PlayError.md#preparestacktrace)
|