@xmachines/docs 1.0.0-beta.53 → 1.0.0-beta.55
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 +1 -1
- package/api/@xmachines/play/classes/NonNullableError.md +7 -7
- package/api/@xmachines/play/classes/PlayError.md +7 -7
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +2 -0
- package/api/@xmachines/play-actor/classes/AbstractActor.md +14 -14
- 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 +1 -1
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/README.md +2 -0
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-dom/functions/renderSpec.md +12 -30
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +7 -6
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +16 -15
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +9 -8
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +25 -0
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +6 -5
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-dom/variables/schema.md +1 -1
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +7 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +16 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-react/README.md +6 -6
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +18 -18
- package/api/@xmachines/play-react/functions/ActionProvider.md +1 -1
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +1 -1
- package/api/@xmachines/play-react/functions/Renderer.md +1 -1
- package/api/@xmachines/play-react/functions/StateProvider.md +1 -1
- package/api/@xmachines/play-react/functions/ValidationProvider.md +1 -1
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-react/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useBoundProp.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +28 -26
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/RendererProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +10 -1
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -365
- package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +2 -2
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +17 -7
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-react-router/{functions → variables}/PlayRouterProvider.md +6 -6
- package/api/@xmachines/play-router/README.md +12 -10
- package/api/@xmachines/play-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +9 -345
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/functions/buildRouteTree.md +11 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +2 -2
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +13 -6
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +9 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +7 -2
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +4 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +4 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +3 -3
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +4 -4
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +5 -5
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +1 -1
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/functions/ActionProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/Renderer.md +1 -1
- package/api/@xmachines/play-solid/functions/StateProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-solid/functions/useAction.md +1 -1
- package/api/@xmachines/play-solid/functions/useActions.md +1 -1
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +1 -1
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +1 -1
- package/api/@xmachines/play-solid/functions/useIsVisible.md +1 -1
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateStore.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateValue.md +1 -1
- package/api/@xmachines/play-solid/functions/useVisibility.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +1 -1
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +7 -1
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -360
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +13 -13
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +17 -7
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/{functions → variables}/PlayRouterProvider.md +6 -6
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +7 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +21 -384
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +17 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +12 -4
- package/api/@xmachines/play-tanstack-react-router/{functions → variables}/PlayRouterProvider.md +8 -6
- package/api/@xmachines/play-tanstack-router/README.md +58 -0
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
- package/api/@xmachines/play-tanstack-solid-router/README.md +7 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +25 -378
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +15 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +30 -7
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +1 -1
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-vue/variables/ActionProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/Renderer.md +1 -1
- package/api/@xmachines/play-vue/variables/StateProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +17 -5
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +6 -395
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +16 -6
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +6 -6
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +3 -3
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +70 -169
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/vite-aliases/README.md +1 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +7 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +6 -5
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
- package/api/@xmachines/shared/vitest/README.md +5 -0
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
- package/api/README.md +1 -0
- package/api/llms.txt +4 -3
- package/contributing/architecture.md +6 -6
- package/contributing/configuration.md +1 -16
- package/contributing/deployment.md +8 -8
- package/contributing/testing.md +4 -4
- 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/App.md +1 -1
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/App.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/guides/README.md +6 -44
- package/package.json +6 -3
- package/api/@xmachines/play-router/functions/createRouteMatcher.md +0 -53
- package/api/@xmachines/play-router/interfaces/RouteMatcher.md +0 -56
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -33
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RoutableActor
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:259](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-router/src/types.ts:259](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L259)
|
|
6
6
|
|
|
7
7
|
Minimal actor interface required by `RouterBridgeBase` and all framework router
|
|
8
8
|
adapters.
|
|
@@ -42,8 +42,8 @@ class MyBridge extends RouterBridgeBase {
|
|
|
42
42
|
|
|
43
43
|
| Property | Modifier | Type | Description | Defined in |
|
|
44
44
|
| ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
-
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | TC39 Signal exposing the actor's current URL path (or state ID). | [play-router/src/types.ts:261](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
46
|
-
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's initial state — fixed at construction. Router bridges compare this against the browser URL to distinguish a deep-link (router wins) from a session restore (actor wins). | [play-router/src/types.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
45
|
+
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | TC39 Signal exposing the actor's current URL path (or state ID). | [play-router/src/types.ts:261](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L261) |
|
|
46
|
+
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's initial state — fixed at construction. Router bridges compare this against the browser URL to distinguish a deep-link (router wins) from a session restore (actor wins). | [play-router/src/types.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L267) |
|
|
47
47
|
|
|
48
48
|
## Methods
|
|
49
49
|
|
|
@@ -53,7 +53,7 @@ class MyBridge extends RouterBridgeBase {
|
|
|
53
53
|
send(event): void;
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
Defined in: [play-router/src/types.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
56
|
+
Defined in: [play-router/src/types.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L269)
|
|
57
57
|
|
|
58
58
|
Send a route navigation event to the actor.
|
|
59
59
|
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteLookupContract
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/connect-router.ts:
|
|
5
|
+
Defined in: [play-dom-router/src/connect-router.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L15)
|
|
6
6
|
|
|
7
7
|
Structural route lookup interface accepted by [connectRouter](../functions/connectRouter.md).
|
|
8
8
|
|
|
9
9
|
Any object with these two methods satisfies the constraint — including
|
|
10
10
|
`RouteMap` instances, subclasses, and plain test objects.
|
|
11
11
|
|
|
12
|
+
`getPathByStateId` may receive the stateId in either `"#stateId"` or bare
|
|
13
|
+
`"stateId"` form — the bridge tries both forms automatically, so
|
|
14
|
+
implementations keyed on a single form still resolve.
|
|
15
|
+
|
|
12
16
|
## Methods
|
|
13
17
|
|
|
14
18
|
### getPathByStateId()
|
|
@@ -17,7 +21,7 @@ Any object with these two methods satisfies the constraint — including
|
|
|
17
21
|
getPathByStateId(id): string | null | undefined;
|
|
18
22
|
```
|
|
19
23
|
|
|
20
|
-
Defined in: [play-dom-router/src/connect-router.ts:
|
|
24
|
+
Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L17)
|
|
21
25
|
|
|
22
26
|
#### Parameters
|
|
23
27
|
|
|
@@ -37,7 +41,7 @@ Defined in: [play-dom-router/src/connect-router.ts:13](https://gitlab.com/xmachi
|
|
|
37
41
|
getStateIdByPath(path): string | null | undefined;
|
|
38
42
|
```
|
|
39
43
|
|
|
40
|
-
Defined in: [play-dom-router/src/connect-router.ts:
|
|
44
|
+
Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L16)
|
|
41
45
|
|
|
42
46
|
#### Parameters
|
|
43
47
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L101)
|
|
6
6
|
|
|
7
7
|
Shared bidirectional route map base class.
|
|
8
8
|
|
|
@@ -17,10 +17,17 @@ own and inherit the full public API from here.
|
|
|
17
17
|
- Results are cached after the first match in an LRU cache (default 500 entries,
|
|
18
18
|
configurable via the `cacheSize` constructor option)
|
|
19
19
|
|
|
20
|
-
**Pattern syntax** (`:param` / `:param?`):
|
|
20
|
+
**Pattern syntax** (`:param` / `:param?` / `*`):
|
|
21
21
|
|
|
22
22
|
- `:param` — required segment, matches exactly one non-`/` segment
|
|
23
23
|
- `:param?` — optional segment, matches zero or one non-`/` segment
|
|
24
|
+
- `*` — wildcard, matches any number of segments (URLPattern semantics)
|
|
25
|
+
|
|
26
|
+
**StateId forms:** stateIds may be registered and looked up in either
|
|
27
|
+
`"#stateId"` or `"stateId"` form — `RouteMap` canonicalizes internally.
|
|
28
|
+
`getStateIdByPath` returns the stateId exactly as registered;
|
|
29
|
+
`getPathByStateId` accepts both forms. Registering the same stateId in both
|
|
30
|
+
forms refers to one entry (the later registration wins for reverse lookup).
|
|
24
31
|
|
|
25
32
|
## Example
|
|
26
33
|
|
|
@@ -50,10 +57,14 @@ map.getPathByStateId("missing"); // null
|
|
|
50
57
|
getPathByStateId(stateId): string | null;
|
|
51
58
|
```
|
|
52
59
|
|
|
53
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
60
|
+
Defined in: [play-router/src/base-route-map.ts:218](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L218)
|
|
54
61
|
|
|
55
62
|
Look up the path pattern registered for a state ID.
|
|
56
63
|
|
|
64
|
+
Accepts the stateId in either `"#stateId"` or `"stateId"` form regardless of
|
|
65
|
+
which form was used at registration — lookups are canonicalized internally,
|
|
66
|
+
so consumers never need to try both forms.
|
|
67
|
+
|
|
57
68
|
#### Parameters
|
|
58
69
|
|
|
59
70
|
| Parameter | Type | Description |
|
|
@@ -70,6 +81,7 @@ The registered path pattern, or `null` if the state ID is unknown
|
|
|
70
81
|
|
|
71
82
|
```typescript
|
|
72
83
|
map.getPathByStateId("profile"); // "/profile/:userId"
|
|
84
|
+
map.getPathByStateId("#profile"); // "/profile/:userId" (same entry)
|
|
73
85
|
map.getPathByStateId("missing"); // null
|
|
74
86
|
```
|
|
75
87
|
|
|
@@ -81,7 +93,7 @@ map.getPathByStateId("missing"); // null
|
|
|
81
93
|
getStateIdByPath(path): string | null;
|
|
82
94
|
```
|
|
83
95
|
|
|
84
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
96
|
+
Defined in: [play-router/src/base-route-map.ts:178](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L178)
|
|
85
97
|
|
|
86
98
|
Resolve a URL path to its mapped state ID.
|
|
87
99
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/create-route-map.ts#L9)
|
|
6
6
|
|
|
7
7
|
Options for `createRouteMap` and `createRouteMapFromTree`.
|
|
8
8
|
|
|
@@ -10,4 +10,4 @@ Options for `createRouteMap` and `createRouteMapFromTree`.
|
|
|
10
10
|
|
|
11
11
|
| Property | Type | Description | Defined in |
|
|
12
12
|
| -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-cachesize"></a> `cacheSize?` | `number` | Maximum number of resolved parameterized path lookups to cache. `RouteMap.getStateIdByPath()` resolves parameterized patterns (e.g. `/profile/:userId`) via URLPattern on every call. Frequently visited paths are cached in an LRU so subsequent lookups are O(1). Increase this value for applications with large parameterized route sets or high navigation frequency. Default: `500`. | [play-router/src/create-route-map.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
13
|
+
| <a id="property-cachesize"></a> `cacheSize?` | `number` | Maximum number of resolved parameterized path lookups to cache. `RouteMap.getStateIdByPath()` resolves parameterized patterns (e.g. `/profile/:userId`) via URLPattern on every call. Frequently visited paths are cached in an LRU so subsequent lookups are O(1). Increase this value for applications with large parameterized route sets or high navigation frequency. Default: `500`. | [play-router/src/create-route-map.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/create-route-map.ts#L20) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapping
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L51)
|
|
6
6
|
|
|
7
7
|
A single state ID ↔ path mapping entry.
|
|
8
8
|
|
|
@@ -23,5 +23,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
|
|
|
23
23
|
|
|
24
24
|
| Property | Modifier | Type | Description | Defined in |
|
|
25
25
|
| --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
26
|
-
| <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:
|
|
27
|
-
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:
|
|
26
|
+
| <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L55) |
|
|
27
|
+
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L53) |
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:341](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-router/src/types.ts:341](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L341)
|
|
6
6
|
|
|
7
7
|
RouterBridge interface for runtime infrastructure adapters
|
|
8
8
|
|
|
9
|
-
Defines the lifecycle connection between Infrastructure (e.g.,
|
|
9
|
+
Defines the lifecycle connection between Infrastructure (e.g., a framework router) and
|
|
10
10
|
the Actor. Infrastructure "bridges" to the Actor by observing its signals and
|
|
11
11
|
managing its own lifecycle accordingly.
|
|
12
12
|
|
|
@@ -16,13 +16,13 @@ a unidirectional observation pattern. Infrastructure connects to observe Actor s
|
|
|
16
16
|
|
|
17
17
|
## Example
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Framework router bridge implementation
|
|
20
20
|
|
|
21
21
|
```typescript
|
|
22
22
|
import type { RouterBridge } from "@xmachines/play-router";
|
|
23
23
|
import { Signal } from "@xmachines/play-signals";
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class MyRouterBridge implements RouterBridge {
|
|
26
26
|
private watcher: Signal.Watcher | null = null;
|
|
27
27
|
|
|
28
28
|
async connect(): Promise<void> {
|
|
@@ -54,7 +54,7 @@ class TanStackRouterBridge implements RouterBridge {
|
|
|
54
54
|
connect(): void | Promise<void>;
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
Defined in: [play-router/src/types.ts:357](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
57
|
+
Defined in: [play-router/src/types.ts:357](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L357)
|
|
58
58
|
|
|
59
59
|
Connect the router bridge to the Actor
|
|
60
60
|
|
|
@@ -83,7 +83,7 @@ await bridge.connect();
|
|
|
83
83
|
disconnect(): void | Promise<void>;
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
Defined in: [play-router/src/types.ts:373](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
86
|
+
Defined in: [play-router/src/types.ts:373](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L373)
|
|
87
87
|
|
|
88
88
|
Disconnect the router bridge from the Actor
|
|
89
89
|
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: VanillaRouter
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L4)
|
|
6
6
|
|
|
7
7
|
## Properties
|
|
8
8
|
|
|
9
9
|
| Property | Modifier | Type | Description | Defined in |
|
|
10
10
|
| ------------------------------------------- | ---------- | -------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
-
| <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
12
|
-
| <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
11
|
+
| <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L8) |
|
|
12
|
+
| <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L13) |
|
|
13
13
|
|
|
14
14
|
## Methods
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-
|
|
|
19
19
|
destroy(): void;
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
22
|
+
Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L18)
|
|
23
23
|
|
|
24
24
|
Cleanup
|
|
25
25
|
|
|
@@ -110,7 +110,7 @@ function MyComponent({ actor }) {
|
|
|
110
110
|
|
|
111
111
|
useSignalEffect(() => {
|
|
112
112
|
setView(actor.currentView.get());
|
|
113
|
-
});
|
|
113
|
+
}, [actor]); // deps: re-subscribe when the actor prop swaps
|
|
114
114
|
|
|
115
115
|
return <div>{view?.component}</div>;
|
|
116
116
|
}
|
|
@@ -129,11 +129,11 @@ function MyComponent({ actor }) {
|
|
|
129
129
|
|
|
130
130
|
### Hooks
|
|
131
131
|
|
|
132
|
-
| Export
|
|
133
|
-
|
|
|
134
|
-
| `useSignalEffect(callback)` | Subscribes to TC39 signal changes; re-runs the callback
|
|
135
|
-
| `useActor()`
|
|
136
|
-
| `usePlayView()`
|
|
132
|
+
| Export | Description |
|
|
133
|
+
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
134
|
+
| `useSignalEffect(callback, deps?)` | Subscribes to TC39 signal changes; re-runs the callback when any accessed signal changes (re-render via the callback's own setState). Optional `deps` recreates the subscription, like `useEffect`. Cleanup is automatic on unmount. |
|
|
135
|
+
| `useActor()` | Returns the raw actor instance. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
|
|
136
|
+
| `usePlayView()` | Returns `{ spec, handlers, registry, store }` for the current view. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
|
|
137
137
|
|
|
138
138
|
### Types
|
|
139
139
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: PlayErrorBoundary
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L53)
|
|
6
6
|
|
|
7
7
|
React class component error boundary for catching catalog component render errors.
|
|
8
8
|
|
|
@@ -36,7 +36,7 @@ Per CONS-14: Class component pattern works with all React versions (18 and 19).
|
|
|
36
36
|
new PlayErrorBoundary(props): PlayErrorBoundary;
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
39
|
+
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L57)
|
|
40
40
|
|
|
41
41
|
#### Parameters
|
|
42
42
|
|
|
@@ -75,7 +75,7 @@ React.Component<
|
|
|
75
75
|
componentDidCatch(error, info): void;
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
78
|
+
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L66)
|
|
79
79
|
|
|
80
80
|
Catches exceptions generated in descendant components. Unhandled exceptions will cause
|
|
81
81
|
the entire component tree to unmount.
|
|
@@ -105,7 +105,7 @@ React.Component.componentDidCatch;
|
|
|
105
105
|
optional componentDidMount(): void;
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
Defined in:
|
|
108
|
+
Defined in: `.pnpm`
|
|
109
109
|
|
|
110
110
|
Called immediately after a component is mounted. Setting state here will trigger re-rendering.
|
|
111
111
|
|
|
@@ -130,7 +130,7 @@ optional componentDidUpdate(
|
|
|
130
130
|
snapshot?): void;
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
Defined in:
|
|
133
|
+
Defined in: `.pnpm`
|
|
134
134
|
|
|
135
135
|
Called immediately after updating occurs. Not called for the initial render.
|
|
136
136
|
|
|
@@ -162,7 +162,7 @@ React.Component.componentDidUpdate;
|
|
|
162
162
|
optional componentWillMount(): void;
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
Defined in:
|
|
165
|
+
Defined in: `.pnpm`
|
|
166
166
|
|
|
167
167
|
Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
|
|
168
168
|
Avoid introducing any side-effects or subscriptions in this method.
|
|
@@ -198,7 +198,7 @@ React.Component.componentWillMount;
|
|
|
198
198
|
optional componentWillReceiveProps(nextProps, nextContext): void;
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-
Defined in:
|
|
201
|
+
Defined in: `.pnpm`
|
|
202
202
|
|
|
203
203
|
Called when the component may be receiving new props.
|
|
204
204
|
React may call this even if props have not changed, so be sure to compare new and existing
|
|
@@ -244,7 +244,7 @@ React.Component.componentWillReceiveProps;
|
|
|
244
244
|
optional componentWillUnmount(): void;
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
Defined in:
|
|
247
|
+
Defined in: `.pnpm`
|
|
248
248
|
|
|
249
249
|
Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as
|
|
250
250
|
cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`.
|
|
@@ -270,7 +270,7 @@ optional componentWillUpdate(
|
|
|
270
270
|
nextContext): void;
|
|
271
271
|
```
|
|
272
272
|
|
|
273
|
-
Defined in:
|
|
273
|
+
Defined in: `.pnpm`
|
|
274
274
|
|
|
275
275
|
Called immediately before rendering when new props or state is received. Not called for the initial render.
|
|
276
276
|
|
|
@@ -315,7 +315,7 @@ React.Component.componentWillUpdate;
|
|
|
315
315
|
forceUpdate(callback?): void;
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
-
Defined in:
|
|
318
|
+
Defined in: `.pnpm`
|
|
319
319
|
|
|
320
320
|
#### Parameters
|
|
321
321
|
|
|
@@ -341,7 +341,7 @@ React.Component.forceUpdate;
|
|
|
341
341
|
optional getSnapshotBeforeUpdate(prevProps, prevState): any;
|
|
342
342
|
```
|
|
343
343
|
|
|
344
|
-
Defined in:
|
|
344
|
+
Defined in: `.pnpm`
|
|
345
345
|
|
|
346
346
|
Runs before React applies the result of [render](https://www.jsdocs.io/package/@types/react#Component.render) to the document, and
|
|
347
347
|
returns an object to be given to [componentDidUpdate](#componentdidupdate). Useful for saving
|
|
@@ -375,7 +375,7 @@ React.Component.getSnapshotBeforeUpdate;
|
|
|
375
375
|
render(): ReactNode;
|
|
376
376
|
```
|
|
377
377
|
|
|
378
|
-
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
378
|
+
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L70)
|
|
379
379
|
|
|
380
380
|
#### Returns
|
|
381
381
|
|
|
@@ -395,7 +395,7 @@ React.Component.render;
|
|
|
395
395
|
setState<K>(state, callback?): void;
|
|
396
396
|
```
|
|
397
397
|
|
|
398
|
-
Defined in:
|
|
398
|
+
Defined in: `.pnpm`
|
|
399
399
|
|
|
400
400
|
#### Type Parameters
|
|
401
401
|
|
|
@@ -431,7 +431,7 @@ optional shouldComponentUpdate(
|
|
|
431
431
|
nextContext): boolean;
|
|
432
432
|
```
|
|
433
433
|
|
|
434
|
-
Defined in:
|
|
434
|
+
Defined in: `.pnpm`
|
|
435
435
|
|
|
436
436
|
Called to determine whether the change in props and state should trigger a re-render.
|
|
437
437
|
|
|
@@ -468,7 +468,7 @@ React.Component.shouldComponentUpdate;
|
|
|
468
468
|
optional UNSAFE_componentWillMount(): void;
|
|
469
469
|
```
|
|
470
470
|
|
|
471
|
-
Defined in:
|
|
471
|
+
Defined in: `.pnpm`
|
|
472
472
|
|
|
473
473
|
Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
|
|
474
474
|
Avoid introducing any side-effects or subscriptions in this method.
|
|
@@ -506,7 +506,7 @@ React.Component.UNSAFE_componentWillMount;
|
|
|
506
506
|
optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void;
|
|
507
507
|
```
|
|
508
508
|
|
|
509
|
-
Defined in:
|
|
509
|
+
Defined in: `.pnpm`
|
|
510
510
|
|
|
511
511
|
Called when the component may be receiving new props.
|
|
512
512
|
React may call this even if props have not changed, so be sure to compare new and existing
|
|
@@ -557,7 +557,7 @@ optional UNSAFE_componentWillUpdate(
|
|
|
557
557
|
nextContext): void;
|
|
558
558
|
```
|
|
559
559
|
|
|
560
|
-
Defined in:
|
|
560
|
+
Defined in: `.pnpm`
|
|
561
561
|
|
|
562
562
|
Called immediately before rendering when new props or state is received. Not called for the initial render.
|
|
563
563
|
|
|
@@ -604,7 +604,7 @@ React.Component.UNSAFE_componentWillUpdate;
|
|
|
604
604
|
static getDerivedStateFromError(error): PlayErrorBoundaryState;
|
|
605
605
|
```
|
|
606
606
|
|
|
607
|
-
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
607
|
+
Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L62)
|
|
608
608
|
|
|
609
609
|
#### Parameters
|
|
610
610
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function useActor(): AnyPlayActor;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-react/src/useActor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-react/src/useActor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/useActor.ts#L32)
|
|
10
10
|
|
|
11
11
|
## Returns
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function usePlayView(): ViewContextValue;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-react/src/ActorProvider.tsx:
|
|
9
|
+
Defined in: [packages/play-react/src/ActorProvider.tsx:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/ActorProvider.tsx#L78)
|
|
10
10
|
|
|
11
11
|
Hook to access the current view spec, handlers, and registry.
|
|
12
12
|
|
|
@@ -3,23 +3,25 @@
|
|
|
3
3
|
# Function: useSignalEffect()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function useSignalEffect(callback): void;
|
|
6
|
+
function useSignalEffect(callback, deps?): void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-react/src/useSignalEffect.ts:
|
|
9
|
+
Defined in: [packages/play-react/src/useSignalEffect.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/useSignalEffect.ts#L80)
|
|
10
10
|
|
|
11
11
|
React hook that subscribes to signal changes and runs effect callback
|
|
12
12
|
|
|
13
|
-
Wraps Signal.
|
|
14
|
-
accessed
|
|
15
|
-
re-
|
|
13
|
+
Wraps the callback in a Signal.Computed to automatically track signal
|
|
14
|
+
dependencies accessed inside it, then delegates the watcher lifecycle
|
|
15
|
+
(microtask batching, re-arming, disposal) to `watchSignal` from
|
|
16
|
+
`@xmachines/play-signals` — the single canonical implementation shared
|
|
17
|
+
across framework renderers.
|
|
16
18
|
|
|
17
|
-
Architecture
|
|
19
|
+
Architecture:
|
|
18
20
|
|
|
19
21
|
- Uses Signal.Computed to wrap callback for automatic dependency tracking
|
|
20
|
-
- Signal.subtle.Watcher
|
|
22
|
+
- watchSignal owns the Signal.subtle.Watcher lifecycle (Phase 29 memory safety)
|
|
21
23
|
- Microtask batching coalesces rapid signal updates
|
|
22
|
-
-
|
|
24
|
+
- Re-rendering is driven by the callback's own setState (see remarks)
|
|
23
25
|
- Handles cleanup on unmount to prevent memory leaks
|
|
24
26
|
|
|
25
27
|
Invariant: Signal-Only Reactivity - Signals accessed in callback are watched.
|
|
@@ -27,9 +29,10 @@ Invariant: Passive Infrastructure - React observes signals and does not control
|
|
|
27
29
|
|
|
28
30
|
## Parameters
|
|
29
31
|
|
|
30
|
-
| Parameter | Type | Description
|
|
31
|
-
| ---------- | ------------------------------ |
|
|
32
|
-
| `callback` | () => `void` \| (() => `void`) | Effect function that accesses signals. Can return cleanup function.
|
|
32
|
+
| Parameter | Type | Default value | Description |
|
|
33
|
+
| ---------- | ------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `callback` | () => `void` \| (() => `void`) | `undefined` | Effect function that accesses signals. Can return cleanup function. |
|
|
35
|
+
| `deps` | `DependencyList` | `[]` | Optional dependency list (like useEffect). When any dependency changes, the watcher and Computed are torn down and recreated, re-tracking signals from scratch. Defaults to `[]` (subscribe once per mount). Pass this when the identity of the object whose signals you read can change over the component's lifetime (e.g. an `actor` prop) — otherwise the watcher keeps tracking the OLD object's signals forever. |
|
|
33
36
|
|
|
34
37
|
## Returns
|
|
35
38
|
|
|
@@ -41,11 +44,11 @@ Invariant: Passive Infrastructure - React observes signals and does not control
|
|
|
41
44
|
const MyComponent = ({ actor }) => {
|
|
42
45
|
const [view, setView] = useState(null);
|
|
43
46
|
|
|
44
|
-
// Subscribe to actor.currentView signal
|
|
47
|
+
// Subscribe to actor.currentView signal; re-subscribe if the actor swaps
|
|
45
48
|
useSignalEffect(() => {
|
|
46
49
|
const currentView = actor.currentView.get();
|
|
47
50
|
setView(currentView);
|
|
48
|
-
});
|
|
51
|
+
}, [actor]);
|
|
49
52
|
|
|
50
53
|
return <div>{view?.component}</div>;
|
|
51
54
|
};
|
|
@@ -56,20 +59,19 @@ const MyComponent = ({ actor }) => {
|
|
|
56
59
|
**CRITICAL:** Signals must be accessed unconditionally (no if statements).
|
|
57
60
|
Conditional signal access breaks automatic dependency tracking.
|
|
58
61
|
|
|
59
|
-
**Performance:** Microtask batching (queueMicrotask
|
|
60
|
-
when multiple signals update rapidly.
|
|
62
|
+
**Performance:** Microtask batching (queueMicrotask, inside watchSignal)
|
|
63
|
+
prevents React thrashing when multiple signals update rapidly.
|
|
61
64
|
|
|
62
|
-
**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
**Re-rendering:** the hook itself does NOT force a React render on signal
|
|
66
|
+
change — the callback drives re-rendering by calling setState with the new
|
|
67
|
+
signal value (as in the example above). This lets React's setState bailout
|
|
68
|
+
skip renders when the derived value is unchanged; an unconditional
|
|
69
|
+
force-update here previously caused a wasted render per notification even
|
|
70
|
+
when the callback's setState bailed. If you need to re-render on every
|
|
71
|
+
notification while reading signals during render, mirror the signal value
|
|
72
|
+
into React state inside the callback.
|
|
65
73
|
|
|
66
74
|
**Implementation note:** We wrap the callback in Signal.Computed because
|
|
67
75
|
Signal.subtle.Watcher cannot automatically track arbitrary function calls.
|
|
68
|
-
The Computed handles dependency tracking
|
|
69
|
-
|
|
70
|
-
**Memory safety (Phase 29):**
|
|
71
|
-
|
|
72
|
-
- `disposed` flag prevents post-cleanup callback execution: if cleanup is
|
|
73
|
-
called before a pending microtask fires, the microtask returns early.
|
|
74
|
-
- `needsEnqueue` guard dedups rapid synchronous signal changes: only one
|
|
75
|
-
microtask is ever queued per batch of synchronous mutations.
|
|
76
|
+
The Computed handles dependency tracking; watchSignal evaluates it (which
|
|
77
|
+
runs the callback) whenever any tracked signal changes.
|