@xmachines/docs 3.0.0 → 5.0.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 +14 -20
- package/api/@xmachines/play/README.md +29 -118
- package/api/@xmachines/play/errors/README.md +8 -0
- package/api/@xmachines/play/{classes → errors/classes}/NonNullableError.md +6 -6
- package/api/@xmachines/play/{classes → errors/classes}/PlayError.md +36 -10
- package/api/@xmachines/play/index/README.md +75 -0
- package/api/@xmachines/play/index/functions/asCleanup.md +77 -0
- package/api/@xmachines/play/{functions → index/functions}/assertNonNullable.md +2 -2
- package/api/@xmachines/{play-actor → play/index}/functions/shallowEqualExcept.md +3 -3
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/Cleanup.md +5 -5
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/DisposeKey.md +2 -2
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/PlayEvent.md +4 -4
- package/api/@xmachines/play/{variables → index/variables}/DISPOSE.md +2 -2
- package/api/@xmachines/play-actor/README.md +80 -231
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +18 -0
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +73 -0
- package/api/@xmachines/play-atom/README.md +281 -0
- package/api/@xmachines/play-atom/functions/watchAtom.md +79 -0
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +16 -0
- package/api/@xmachines/play-atom/interfaces/Atom.md +149 -0
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +25 -0
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +33 -0
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +23 -0
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +97 -0
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +91 -0
- package/api/@xmachines/play-atom/interfaces/Readable.md +93 -0
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +108 -0
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +13 -0
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +32 -0
- package/api/@xmachines/{play-signals → play-atom}/type-aliases/Cleanup.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +42 -0
- package/api/@xmachines/play-atom/variables/createAtom.md +18 -0
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +70 -0
- package/api/@xmachines/play-dom/README.md +44 -52
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +17 -16
- package/api/@xmachines/play-dom/functions/asCleanup.md +77 -0
- package/api/@xmachines/play-dom/functions/createPlayUI.md +4 -4
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
- package/api/@xmachines/play-dom/type-aliases/Cleanup.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +29 -12
- package/api/@xmachines/play-dom-router/README.md +83 -83
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +24 -23
- package/api/@xmachines/play-dom-router/{interfaces → classes}/RouteMap.md +42 -7
- package/api/@xmachines/{play → play-dom-router}/functions/asCleanup.md +5 -6
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +3 -8
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +9 -3
- package/api/@xmachines/play-dom-router/functions/createRouter.md +8 -14
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +70 -26
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +24 -21
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +36 -23
- package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +4 -4
- package/api/@xmachines/play-dom-router/variables/DISPOSE.md +2 -2
- package/api/@xmachines/play-pattern/README.md +115 -0
- package/api/@xmachines/play-pattern/functions/buildPath.md +46 -0
- package/api/@xmachines/play-pattern/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +30 -0
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +40 -0
- package/api/@xmachines/play-pattern/functions/parsePattern.md +28 -0
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +15 -0
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +14 -0
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +21 -0
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +19 -0
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-pattern/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +11 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +9 -0
- package/api/@xmachines/play-react/README.md +46 -58
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +14 -10
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +103 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-react/variables/ActorProvider.md +2 -2
- 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/variables/schema.md +52 -0
- package/api/@xmachines/play-react-router/README.md +23 -51
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -23
- package/api/@xmachines/play-react-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +11 -8
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +16 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +116 -197
- package/api/@xmachines/play-router/errors/README.md +15 -0
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +191 -0
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +200 -0
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +203 -0
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +199 -0
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +192 -0
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +182 -0
- package/api/@xmachines/play-router/index/README.md +83 -0
- package/api/@xmachines/play-router/{classes → index/classes}/RouteMap.md +19 -13
- package/api/@xmachines/play-router/{classes → index/classes}/RouterBridgeBase.md +22 -20
- package/api/@xmachines/play-router/{functions → index/functions}/buildPlayRouteEvent.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/buildRouteTree.md +14 -4
- package/api/@xmachines/play-router/{functions → index/functions}/cleanFrameworkParams.md +3 -4
- package/api/@xmachines/play-router/index/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-router/{functions → index/functions}/createRouteMapFromTree.md +17 -10
- package/api/@xmachines/play-router/{functions → index/functions}/createRouterConnection.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/detectDuplicateRoutes.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/extractQuery.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/extractRouteParams.md +9 -8
- package/api/@xmachines/play-router/{functions → index/functions}/findRouteById.md +2 -2
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +48 -0
- package/api/@xmachines/play-router/{functions → index/functions}/isMountableBridge.md +2 -2
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +38 -0
- package/api/@xmachines/play-router/{functions → index/functions}/mountKey.md +2 -2
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +43 -0
- package/api/@xmachines/play-router/{functions → index/functions}/openProviderBridge.md +14 -14
- package/api/@xmachines/play-router/index/functions/parsePattern.md +28 -0
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +41 -0
- package/api/@xmachines/play-router/{functions → index/functions}/repointProviderBridge.md +2 -2
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +51 -0
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +49 -0
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +27 -0
- package/api/@xmachines/play-router/index/functions/splitLocation.md +37 -0
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +44 -0
- package/api/@xmachines/play-router/{functions → index/functions}/validateRouteFormat.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/validateStateExists.md +2 -2
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +13 -0
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +35 -0
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +52 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/LocationLike.md +6 -6
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/MountableRouterBridge.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +30 -0
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-router/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +130 -0
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +39 -0
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +14 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/ResolvedRoutePath.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/Routable.md +26 -0
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteInfo.md +11 -11
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +19 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +12 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteNode.md +13 -13
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +34 -0
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +27 -0
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +55 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +31 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterConnection.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/WindowLike.md +4 -4
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +53 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +12 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +31 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +11 -0
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +68 -0
- package/api/@xmachines/{play-xstate → play-router/index}/variables/DISPOSE.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +18 -0
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +18 -0
- package/api/@xmachines/play-router/xstate/README.md +53 -0
- package/api/@xmachines/play-router/{functions → xstate/functions}/createRouteMap.md +11 -9
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +30 -0
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +35 -0
- package/api/@xmachines/play-router/{functions → xstate/functions}/getRoutableRoutes.md +6 -6
- package/api/@xmachines/play-router/{functions → xstate/functions}/getRouteMappings.md +7 -7
- package/api/@xmachines/play-router/{functions → xstate/functions}/getTransitionReachableRoutes.md +2 -2
- package/api/@xmachines/play-router/{functions → xstate/functions}/isRouteReachable.md +2 -2
- package/api/@xmachines/play-router/{functions → xstate/functions}/machineToGraph.md +2 -2
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +26 -0
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +15 -0
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +17 -0
- package/api/@xmachines/play-router/{type-aliases → xstate/type-aliases}/MachineGraph.md +2 -2
- package/api/@xmachines/play-solid/README.md +21 -34
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +2 -2
- 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/variables/schema.md +71 -0
- package/api/@xmachines/play-solid-router/README.md +34 -55
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +33 -56
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +9 -8
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +38 -35
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +18 -29
- 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 +12 -12
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-svelte/variables/schema.md +16 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +25 -44
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +24 -23
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +32 -50
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +24 -23
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +15 -23
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/README.md +25 -49
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +22 -21
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +11 -8
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +16 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +6 -4
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +26 -29
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/README.md +29 -55
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +52 -48
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +9 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +75 -0
- package/api/@xmachines/play-url/errors/README.md +17 -0
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +200 -0
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +203 -0
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +199 -0
- package/api/@xmachines/play-url/index/README.md +72 -0
- package/api/@xmachines/play-url/index/functions/buildPath.md +46 -0
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +39 -0
- package/api/@xmachines/play-url/index/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-url/index/functions/getCandidates.md +29 -0
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +32 -0
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +30 -0
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +36 -0
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +40 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/joinBasePath.md +3 -2
- package/api/@xmachines/{play-router → play-url/index}/functions/normalizeBasePath.md +2 -2
- package/api/@xmachines/play-url/index/functions/parsePattern.md +28 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/pickOwnParams.md +4 -4
- package/api/@xmachines/{play-router → play-url/index}/functions/resolveBasePath.md +2 -2
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +49 -0
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +27 -0
- package/api/@xmachines/play-url/index/functions/splitLocation.md +37 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/stripBasePath.md +2 -2
- package/api/@xmachines/{play-router → play-url/index}/interfaces/BasePathOptions.md +6 -10
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +21 -0
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +52 -0
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +15 -0
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +14 -0
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +21 -0
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-url/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +15 -0
- package/api/@xmachines/{play-router → play-url/index}/interfaces/ResolvedBasePath.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +11 -0
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +9 -0
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +22 -0
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +68 -0
- package/api/@xmachines/{play-router → play-url/index}/variables/NO_BASE_PATH.md +2 -2
- package/api/@xmachines/play-url/index/variables/URLPattern.md +21 -0
- package/api/@xmachines/play-view/README.md +176 -0
- package/api/@xmachines/play-view/errors/README.md +17 -0
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +192 -0
- package/api/@xmachines/play-view/index/README.md +55 -0
- package/api/@xmachines/{play-actor → play-view/index}/functions/attachRenderErrorHandler.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/functions/composePlayState.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createFailureLatch.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createReportGuard.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createViewStoreLifecycle.md +2 -2
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +19 -0
- package/api/@xmachines/{play-actor → play-view/index}/functions/refreshContextSubtree.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/reuseComposedState.md +3 -3
- package/api/@xmachines/{play-actor → play-view/index}/functions/sameViewInputs.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/toAtomState.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/typedSpec.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +49 -0
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/BaseViewContextValue.md +12 -12
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/FailureLatch.md +6 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuard.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuardMessages.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ResolveViewStoreOptions.md +5 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewInputs.md +7 -7
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreLifecycle.md +6 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreResolution.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +18 -0
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +26 -0
- package/api/@xmachines/{play-actor → play-view/index}/variables/CONTEXT_STATE_KEY.md +2 -2
- package/api/@xmachines/play-vue/README.md +26 -40
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +9 -9
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/schema.md +71 -0
- package/api/@xmachines/play-vue-router/README.md +42 -84
- package/api/@xmachines/play-vue-router/errors/README.md +8 -0
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +193 -0
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +177 -0
- package/api/@xmachines/play-vue-router/index/README.md +20 -0
- package/api/@xmachines/play-vue-router/{classes → index/classes}/RouteMap.md +19 -13
- package/api/@xmachines/play-vue-router/{classes → index/classes}/VueRouterBridge.md +26 -45
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +130 -0
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +19 -0
- package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
- package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
- package/api/@xmachines/play-vue-router/{variables → index/variables}/PlayRouterProvider.md +26 -4
- package/api/@xmachines/play-xstate/README.md +195 -116
- package/api/@xmachines/play-xstate/errors/README.md +14 -0
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +199 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +198 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +169 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +197 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +176 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +207 -0
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +199 -0
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +203 -0
- package/api/@xmachines/play-xstate/index/README.md +38 -0
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +583 -0
- package/api/@xmachines/play-xstate/index/functions/compose.md +224 -0
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +158 -0
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +22 -0
- package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerFactoryResumeOptions.md +3 -3
- package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerOptions.md +10 -10
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +33 -0
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +39 -0
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +27 -0
- package/api/@xmachines/{play-router → play-xstate/index}/variables/DISPOSE.md +3 -3
- package/api/@xmachines/play-xstate/with-routing/README.md +46 -0
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +57 -0
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/deriveRoute.md +4 -4
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/formatPlayRouteTransitions.md +2 -2
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/isAbsoluteRoute.md +3 -3
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +36 -0
- package/api/@xmachines/play-xstate/{interfaces → with-routing/interfaces}/RouteContext.md +6 -6
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +34 -0
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +12 -0
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +31 -0
- package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteMachineConfig.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +11 -0
- package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteStateNode.md +21 -7
- package/api/@xmachines/play-xstate/with-view/README.md +31 -0
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +33 -0
- package/api/@xmachines/shared/README.md +10 -32
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +2 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/api/README.md +4 -1
- package/api/llms.txt +18 -12
- package/contributing/architecture.md +157 -148
- package/contributing/configuration.md +100 -41
- package/contributing/deployment.md +112 -34
- package/contributing/development.md +103 -34
- package/contributing/migrating-to-play-atom.md +209 -0
- package/contributing/testing.md +136 -80
- package/examples/README.md +11 -9
- package/examples/basic-state-machine.md +4 -4
- package/examples/form-validation.md +4 -3
- package/examples/multi-router-integration.md +81 -59
- package/examples/routing-patterns.md +20 -19
- package/examples/traffic-light.md +17 -11
- package/guides/README.md +2 -1
- package/guides/actor-model.md +50 -32
- package/guides/atoms.md +264 -0
- package/guides/getting-started.md +91 -53
- package/guides/inspector.md +7 -7
- package/guides/routing.md +265 -0
- package/guides/state-machines.md +20 -21
- package/package.json +10 -9
- package/rfc/play.md +104 -60
- package/api/@xmachines/play-actor/classes/AbstractActor.md +0 -505
- package/api/@xmachines/play-actor/functions/guardContextWrites.md +0 -43
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +0 -48
- package/api/@xmachines/play-actor/interfaces/Routable.md +0 -14
- package/api/@xmachines/play-actor/interfaces/Viewable.md +0 -18
- package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +0 -36
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +0 -262
- package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +0 -80
- package/api/@xmachines/play-react/functions/useSignalEffect.md +0 -77
- package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +0 -13
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +0 -29
- package/api/@xmachines/play-router/functions/findRouteByPath.md +0 -41
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +0 -35
- package/api/@xmachines/play-router/functions/getPatternParamNames.md +0 -24
- package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +0 -36
- package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +0 -51
- package/api/@xmachines/play-router/functions/routeExists.md +0 -26
- package/api/@xmachines/play-router/functions/sanitizePathname.md +0 -42
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +0 -47
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +0 -15
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +0 -17
- package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +0 -28
- package/api/@xmachines/play-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +0 -135
- package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +0 -33
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +0 -65
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +0 -12
- package/api/@xmachines/play-router/interfaces/RouteObject.md +0 -21
- package/api/@xmachines/play-router/interfaces/RouteTree.md +0 -21
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +0 -55
- package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +0 -13
- package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +0 -36
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +0 -11
- package/api/@xmachines/play-signals/README.md +0 -231
- package/api/@xmachines/play-signals/functions/watchSignal.md +0 -65
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +0 -36
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +0 -49
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +0 -37
- package/api/@xmachines/play-signals/interfaces/SignalState.md +0 -68
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +0 -97
- package/api/@xmachines/play-signals/namespaces/Signal/README.md +0 -22
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -52
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -72
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +0 -21
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -85
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -13
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -25
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -19
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +0 -33
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +0 -471
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +0 -9
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +0 -9
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +0 -29
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +0 -31
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +0 -9
- package/api/@xmachines/play-vue/variables/getPlayViewContext.md +0 -39
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +0 -135
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +0 -13
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +0 -13
- package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +0 -13
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +0 -568
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +0 -50
- package/api/@xmachines/play-xstate/functions/composeGuards.md +0 -86
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +0 -72
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +0 -43
- package/api/@xmachines/play-xstate/functions/definePlayer.md +0 -78
- package/api/@xmachines/play-xstate/functions/eventMatches.md +0 -45
- package/api/@xmachines/play-xstate/functions/hasContext.md +0 -45
- package/api/@xmachines/play-xstate/functions/negateGuard.md +0 -67
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +0 -20
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +0 -17
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +0 -19
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +0 -36
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +0 -23
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +0 -26
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +0 -9
- package/guides/signals.md +0 -209
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / BaseAtom
|
|
2
|
+
|
|
3
|
+
# Interface: BaseAtom\<T\>
|
|
4
|
+
|
|
5
|
+
Defined in: [play-atom/src/types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L74)
|
|
6
|
+
|
|
7
|
+
The common base of a writable atom and a computed atom
|
|
8
|
+
|
|
9
|
+
Use it for a value that a caller reads and observes, when the caller must accept
|
|
10
|
+
both kinds.
|
|
11
|
+
|
|
12
|
+
## Extends
|
|
13
|
+
|
|
14
|
+
- [`Readable`](Readable.md)\<`T`\>
|
|
15
|
+
|
|
16
|
+
## Extended by
|
|
17
|
+
|
|
18
|
+
- [`Atom`](Atom.md)
|
|
19
|
+
- [`ReadonlyAtom`](ReadonlyAtom.md)
|
|
20
|
+
|
|
21
|
+
## Type Parameters
|
|
22
|
+
|
|
23
|
+
| Type Parameter |
|
|
24
|
+
| -------------- |
|
|
25
|
+
| `T` |
|
|
26
|
+
|
|
27
|
+
## Methods
|
|
28
|
+
|
|
29
|
+
### get()
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
get(): T;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Defined in: [play-atom/src/types.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L59)
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`T`
|
|
40
|
+
|
|
41
|
+
#### Inherited from
|
|
42
|
+
|
|
43
|
+
[`Readable`](Readable.md).[`get`](Readable.md#get)
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### subscribe()
|
|
48
|
+
|
|
49
|
+
#### Call Signature
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
subscribe(observer): AtomSubscription;
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Defined in: [play-atom/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L60)
|
|
56
|
+
|
|
57
|
+
##### Parameters
|
|
58
|
+
|
|
59
|
+
| Parameter | Type |
|
|
60
|
+
| ---------- | ---------------------------------------- |
|
|
61
|
+
| `observer` | [`AtomObserver`](AtomObserver.md)\<`T`\> |
|
|
62
|
+
|
|
63
|
+
##### Returns
|
|
64
|
+
|
|
65
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
66
|
+
|
|
67
|
+
##### Inherited from
|
|
68
|
+
|
|
69
|
+
[`Readable`](Readable.md).[`subscribe`](Readable.md#subscribe)
|
|
70
|
+
|
|
71
|
+
#### Call Signature
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
subscribe(
|
|
75
|
+
next,
|
|
76
|
+
error?,
|
|
77
|
+
complete?
|
|
78
|
+
): AtomSubscription;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Defined in: [play-atom/src/types.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L61)
|
|
82
|
+
|
|
83
|
+
##### Parameters
|
|
84
|
+
|
|
85
|
+
| Parameter | Type |
|
|
86
|
+
| ----------- | ------------------- |
|
|
87
|
+
| `next` | (`value`) => `void` |
|
|
88
|
+
| `error?` | (`error`) => `void` |
|
|
89
|
+
| `complete?` | () => `void` |
|
|
90
|
+
|
|
91
|
+
##### Returns
|
|
92
|
+
|
|
93
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
94
|
+
|
|
95
|
+
##### Inherited from
|
|
96
|
+
|
|
97
|
+
[`Readable`](Readable.md).[`subscribe`](Readable.md#subscribe)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / CreateAtom
|
|
2
|
+
|
|
3
|
+
# Interface: CreateAtom()
|
|
4
|
+
|
|
5
|
+
Defined in: [play-atom/src/create-atom.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-atom.ts#L33)
|
|
6
|
+
|
|
7
|
+
The two forms of `createAtom`
|
|
8
|
+
|
|
9
|
+
A function argument builds a COMPUTED atom, which reads its dependencies and gives a
|
|
10
|
+
`ReadonlyAtom`. Any other argument builds a WRITABLE atom, which holds the value and
|
|
11
|
+
gives an `Atom`.
|
|
12
|
+
|
|
13
|
+
A computed getter reads each dependency with the `get` of that dependency, and the
|
|
14
|
+
engine records the edge as it reads. Its one parameter is the PREVIOUS value, which is
|
|
15
|
+
`undefined` on the first derivation. `@xstate/store` 3 passed a `read` helper in that
|
|
16
|
+
first position and the previous value in the second; version 4 dropped the helper,
|
|
17
|
+
because `get` tracked the edge already.
|
|
18
|
+
|
|
19
|
+
## Call Signature
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
CreateAtom<T>(getValue, options?): ReadonlyAtom<T>;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Defined in: [play-atom/src/create-atom.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-atom.ts#L34)
|
|
26
|
+
|
|
27
|
+
The two forms of `createAtom`
|
|
28
|
+
|
|
29
|
+
A function argument builds a COMPUTED atom, which reads its dependencies and gives a
|
|
30
|
+
`ReadonlyAtom`. Any other argument builds a WRITABLE atom, which holds the value and
|
|
31
|
+
gives an `Atom`.
|
|
32
|
+
|
|
33
|
+
A computed getter reads each dependency with the `get` of that dependency, and the
|
|
34
|
+
engine records the edge as it reads. Its one parameter is the PREVIOUS value, which is
|
|
35
|
+
`undefined` on the first derivation. `@xstate/store` 3 passed a `read` helper in that
|
|
36
|
+
first position and the previous value in the second; version 4 dropped the helper,
|
|
37
|
+
because `get` tracked the edge already.
|
|
38
|
+
|
|
39
|
+
### Type Parameters
|
|
40
|
+
|
|
41
|
+
| Type Parameter |
|
|
42
|
+
| -------------- |
|
|
43
|
+
| `T` |
|
|
44
|
+
|
|
45
|
+
### Parameters
|
|
46
|
+
|
|
47
|
+
| Parameter | Type |
|
|
48
|
+
| ---------- | -------------------------------------- |
|
|
49
|
+
| `getValue` | (`previous?`) => `T` |
|
|
50
|
+
| `options?` | [`AtomOptions`](AtomOptions.md)\<`T`\> |
|
|
51
|
+
|
|
52
|
+
### Returns
|
|
53
|
+
|
|
54
|
+
[`ReadonlyAtom`](ReadonlyAtom.md)\<`T`\>
|
|
55
|
+
|
|
56
|
+
## Call Signature
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
CreateAtom<T>(initialValue, options?): Atom<T>;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Defined in: [play-atom/src/create-atom.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-atom.ts#L35)
|
|
63
|
+
|
|
64
|
+
The two forms of `createAtom`
|
|
65
|
+
|
|
66
|
+
A function argument builds a COMPUTED atom, which reads its dependencies and gives a
|
|
67
|
+
`ReadonlyAtom`. Any other argument builds a WRITABLE atom, which holds the value and
|
|
68
|
+
gives an `Atom`.
|
|
69
|
+
|
|
70
|
+
A computed getter reads each dependency with the `get` of that dependency, and the
|
|
71
|
+
engine records the edge as it reads. Its one parameter is the PREVIOUS value, which is
|
|
72
|
+
`undefined` on the first derivation. `@xstate/store` 3 passed a `read` helper in that
|
|
73
|
+
first position and the previous value in the second; version 4 dropped the helper,
|
|
74
|
+
because `get` tracked the edge already.
|
|
75
|
+
|
|
76
|
+
### Type Parameters
|
|
77
|
+
|
|
78
|
+
| Type Parameter |
|
|
79
|
+
| -------------- |
|
|
80
|
+
| `T` |
|
|
81
|
+
|
|
82
|
+
### Parameters
|
|
83
|
+
|
|
84
|
+
| Parameter | Type |
|
|
85
|
+
| -------------- | -------------------------------------- |
|
|
86
|
+
| `initialValue` | `T` |
|
|
87
|
+
| `options?` | [`AtomOptions`](AtomOptions.md)\<`T`\> |
|
|
88
|
+
|
|
89
|
+
### Returns
|
|
90
|
+
|
|
91
|
+
[`Atom`](Atom.md)\<`T`\>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / Readable
|
|
2
|
+
|
|
3
|
+
# Interface: Readable\<T\>
|
|
4
|
+
|
|
5
|
+
Defined in: [play-atom/src/types.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L58)
|
|
6
|
+
|
|
7
|
+
The read side of an atom
|
|
8
|
+
|
|
9
|
+
`Readable` holds `get()` and `subscribe()`. A function that only READS an atom takes
|
|
10
|
+
this type, and it therefore accepts an `Atom`, a `ReadonlyAtom`, and a store
|
|
11
|
+
selection alike.
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { createAtom, type Readable } from "@xmachines/play-atom";
|
|
17
|
+
|
|
18
|
+
function show(source: Readable<string>): string {
|
|
19
|
+
return source.get();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
show(createAtom("ready")); // "ready"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Extended by
|
|
26
|
+
|
|
27
|
+
- [`BaseAtom`](BaseAtom.md)
|
|
28
|
+
|
|
29
|
+
## Type Parameters
|
|
30
|
+
|
|
31
|
+
| Type Parameter |
|
|
32
|
+
| -------------- |
|
|
33
|
+
| `T` |
|
|
34
|
+
|
|
35
|
+
## Methods
|
|
36
|
+
|
|
37
|
+
### get()
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
get(): T;
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Defined in: [play-atom/src/types.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L59)
|
|
44
|
+
|
|
45
|
+
#### Returns
|
|
46
|
+
|
|
47
|
+
`T`
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### subscribe()
|
|
52
|
+
|
|
53
|
+
#### Call Signature
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
subscribe(observer): AtomSubscription;
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Defined in: [play-atom/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L60)
|
|
60
|
+
|
|
61
|
+
##### Parameters
|
|
62
|
+
|
|
63
|
+
| Parameter | Type |
|
|
64
|
+
| ---------- | ---------------------------------------- |
|
|
65
|
+
| `observer` | [`AtomObserver`](AtomObserver.md)\<`T`\> |
|
|
66
|
+
|
|
67
|
+
##### Returns
|
|
68
|
+
|
|
69
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
70
|
+
|
|
71
|
+
#### Call Signature
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
subscribe(
|
|
75
|
+
next,
|
|
76
|
+
error?,
|
|
77
|
+
complete?
|
|
78
|
+
): AtomSubscription;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Defined in: [play-atom/src/types.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L61)
|
|
82
|
+
|
|
83
|
+
##### Parameters
|
|
84
|
+
|
|
85
|
+
| Parameter | Type |
|
|
86
|
+
| ----------- | ------------------- |
|
|
87
|
+
| `next` | (`value`) => `void` |
|
|
88
|
+
| `error?` | (`error`) => `void` |
|
|
89
|
+
| `complete?` | () => `void` |
|
|
90
|
+
|
|
91
|
+
##### Returns
|
|
92
|
+
|
|
93
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / ReadonlyAtom
|
|
2
|
+
|
|
3
|
+
# Interface: ReadonlyAtom\<T\>
|
|
4
|
+
|
|
5
|
+
Defined in: [play-atom/src/types.ts:97](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L97)
|
|
6
|
+
|
|
7
|
+
The computed atom. It evaluates late, and it memoizes the result
|
|
8
|
+
|
|
9
|
+
`createAtom` returns this type for a function argument. The atom tracks each
|
|
10
|
+
dependency when it runs the function, and it runs the function again only after a
|
|
11
|
+
dependency changes. The atom therefore tracks each dependency for you, and you
|
|
12
|
+
manage no subscription.
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { createAtom } from "@xmachines/play-atom";
|
|
18
|
+
|
|
19
|
+
const count = createAtom(0);
|
|
20
|
+
const doubled = createAtom(() => count.get() * 2);
|
|
21
|
+
|
|
22
|
+
console.log(doubled.get()); // 0
|
|
23
|
+
count.set(5);
|
|
24
|
+
console.log(doubled.get()); // 10 (the atom computed it again)
|
|
25
|
+
console.log(doubled.get()); // 10 (from the memory, with no new computation)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Extends
|
|
29
|
+
|
|
30
|
+
- [`BaseAtom`](BaseAtom.md)\<`T`\>
|
|
31
|
+
|
|
32
|
+
## Type Parameters
|
|
33
|
+
|
|
34
|
+
| Type Parameter |
|
|
35
|
+
| -------------- |
|
|
36
|
+
| `T` |
|
|
37
|
+
|
|
38
|
+
## Methods
|
|
39
|
+
|
|
40
|
+
### get()
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
get(): T;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Defined in: [play-atom/src/types.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L59)
|
|
47
|
+
|
|
48
|
+
#### Returns
|
|
49
|
+
|
|
50
|
+
`T`
|
|
51
|
+
|
|
52
|
+
#### Inherited from
|
|
53
|
+
|
|
54
|
+
[`BaseAtom`](BaseAtom.md).[`get`](BaseAtom.md#get)
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### subscribe()
|
|
59
|
+
|
|
60
|
+
#### Call Signature
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
subscribe(observer): AtomSubscription;
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Defined in: [play-atom/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L60)
|
|
67
|
+
|
|
68
|
+
##### Parameters
|
|
69
|
+
|
|
70
|
+
| Parameter | Type |
|
|
71
|
+
| ---------- | ---------------------------------------- |
|
|
72
|
+
| `observer` | [`AtomObserver`](AtomObserver.md)\<`T`\> |
|
|
73
|
+
|
|
74
|
+
##### Returns
|
|
75
|
+
|
|
76
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
77
|
+
|
|
78
|
+
##### Inherited from
|
|
79
|
+
|
|
80
|
+
[`BaseAtom`](BaseAtom.md).[`subscribe`](BaseAtom.md#subscribe)
|
|
81
|
+
|
|
82
|
+
#### Call Signature
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
subscribe(
|
|
86
|
+
next,
|
|
87
|
+
error?,
|
|
88
|
+
complete?
|
|
89
|
+
): AtomSubscription;
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Defined in: [play-atom/src/types.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L61)
|
|
93
|
+
|
|
94
|
+
##### Parameters
|
|
95
|
+
|
|
96
|
+
| Parameter | Type |
|
|
97
|
+
| ----------- | ------------------- |
|
|
98
|
+
| `next` | (`value`) => `void` |
|
|
99
|
+
| `error?` | (`error`) => `void` |
|
|
100
|
+
| `complete?` | () => `void` |
|
|
101
|
+
|
|
102
|
+
##### Returns
|
|
103
|
+
|
|
104
|
+
[`AtomSubscription`](AtomSubscription.md)
|
|
105
|
+
|
|
106
|
+
##### Inherited from
|
|
107
|
+
|
|
108
|
+
[`BaseAtom`](BaseAtom.md).[`subscribe`](BaseAtom.md#subscribe)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / AnyAtom
|
|
2
|
+
|
|
3
|
+
# Type Alias: AnyAtom
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AnyAtom = BaseAtom<unknown>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-atom/src/types.ts:129](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L129)
|
|
10
|
+
|
|
11
|
+
An atom of an unknown value type
|
|
12
|
+
|
|
13
|
+
Use it for a collection that holds atoms of mixed types.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / AsyncAtomState
|
|
2
|
+
|
|
3
|
+
# Type Alias: AsyncAtomState\<TData, TError\>
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AsyncAtomState<TData, TError> =
|
|
7
|
+
| {
|
|
8
|
+
status: "pending";
|
|
9
|
+
}
|
|
10
|
+
| {
|
|
11
|
+
data: TData;
|
|
12
|
+
status: "done";
|
|
13
|
+
}
|
|
14
|
+
| {
|
|
15
|
+
error: TError;
|
|
16
|
+
status: "error";
|
|
17
|
+
};
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [play-atom/src/types.ts:157](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/types.ts#L157)
|
|
21
|
+
|
|
22
|
+
The state of an atom that reads a promise
|
|
23
|
+
|
|
24
|
+
`createAsyncAtom` holds this shape. Read `status` first, and the compiler then gives
|
|
25
|
+
you `data` or `error`.
|
|
26
|
+
|
|
27
|
+
## Type Parameters
|
|
28
|
+
|
|
29
|
+
| Type Parameter | Default type |
|
|
30
|
+
| -------------- | ------------ |
|
|
31
|
+
| `TData` | - |
|
|
32
|
+
| `TError` | `unknown` |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / Cleanup
|
|
2
2
|
|
|
3
3
|
# Type Alias: Cleanup
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type Cleanup = () => void & { [Key in DisposeKey]: () => void };
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [
|
|
9
|
+
Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play/src/disposable.ts#L66)
|
|
10
10
|
|
|
11
11
|
The release of a subscription. A caller runs it, or a scope releases it.
|
|
12
12
|
|
|
@@ -16,12 +16,12 @@ caller inside one scope writes `using` and writes no teardown at all:
|
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
18
|
// The explicit form. It stays correct.
|
|
19
|
-
const stop =
|
|
19
|
+
const stop = watchAtom(count, render);
|
|
20
20
|
stop();
|
|
21
21
|
|
|
22
22
|
// The scoped form. The scope releases it, and an exception releases it too.
|
|
23
23
|
{
|
|
24
|
-
using stop =
|
|
24
|
+
using stop = watchAtom(count, render);
|
|
25
25
|
render(count.get());
|
|
26
26
|
}
|
|
27
27
|
```
|
|
@@ -31,7 +31,7 @@ stop();
|
|
|
31
31
|
`target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
|
|
32
32
|
how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
|
|
33
33
|
still calls it as a function, and a consumer that declares a lower `lib` still reads
|
|
34
|
-
the type. See [DisposeKey](../../play/type-aliases/DisposeKey.md) for the second half of that.
|
|
34
|
+
the type. See [DisposeKey](../../play/index/type-aliases/DisposeKey.md) for the second half of that.
|
|
35
35
|
|
|
36
36
|
## See
|
|
37
37
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / createAsyncAtom
|
|
2
|
+
|
|
3
|
+
# Variable: createAsyncAtom
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
const createAsyncAtom: <T>(getValue, options?) => ReadonlyAtom<AsyncAtomState<T>> =
|
|
7
|
+
createEngineAsyncAtom;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Defined in: [play-atom/src/create-atom.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-atom.ts#L64)
|
|
11
|
+
|
|
12
|
+
Builds a read-only atom that holds the state of a promise
|
|
13
|
+
|
|
14
|
+
The atom starts at `pending`, and it moves to `done` or to `error`.
|
|
15
|
+
|
|
16
|
+
The getter receives an `AbortSignal`. The engine aborts it when the atom derives again
|
|
17
|
+
before the run settles, so a stale answer reaches the atom never. A getter that needs no
|
|
18
|
+
signal takes no parameter.
|
|
19
|
+
|
|
20
|
+
## Type Parameters
|
|
21
|
+
|
|
22
|
+
| Type Parameter |
|
|
23
|
+
| -------------- |
|
|
24
|
+
| `T` |
|
|
25
|
+
|
|
26
|
+
## Parameters
|
|
27
|
+
|
|
28
|
+
| Parameter | Type |
|
|
29
|
+
| ---------- | ------------------------------------------------------------------------------------------------------------- |
|
|
30
|
+
| `getValue` | (`options`) => `Promise`\<`T`\> |
|
|
31
|
+
| `options?` | [`AtomOptions`](../interfaces/AtomOptions.md)\<[`AsyncAtomState`](../type-aliases/AsyncAtomState.md)\<`T`\>\> |
|
|
32
|
+
|
|
33
|
+
## Returns
|
|
34
|
+
|
|
35
|
+
[`ReadonlyAtom`](../interfaces/ReadonlyAtom.md)\<[`AsyncAtomState`](../type-aliases/AsyncAtomState.md)\<`T`\>\>
|
|
36
|
+
|
|
37
|
+
## Example
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
const user = createAsyncAtom(() => fetch("/me").then((response) => response.json()));
|
|
41
|
+
if (user.get().status === "done") console.log("ready");
|
|
42
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / createAtom
|
|
2
|
+
|
|
3
|
+
# Variable: createAtom
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
const createAtom: CreateAtom = createEngineAtom;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-atom/src/create-atom.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-atom.ts#L47)
|
|
10
|
+
|
|
11
|
+
Builds a writable atom from a value, and a computed atom from a function
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
const count = createAtom(0);
|
|
17
|
+
const doubled = createAtom(() => count.get() * 2);
|
|
18
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / createWritableAtom
|
|
2
|
+
|
|
3
|
+
# Variable: createWritableAtom
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
const createWritableAtom: <T>(initialValue, options?) => Atom<T> = createAtom;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [play-atom/src/create-writable-atom.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-atom/src/create-writable-atom.ts#L50)
|
|
10
|
+
|
|
11
|
+
Builds a WRITABLE atom, and never a computed one.
|
|
12
|
+
|
|
13
|
+
`createAtom` carries two signatures: a function argument builds a computed atom, and
|
|
14
|
+
a value argument builds a writable one. TypeScript reads the signatures in order, so
|
|
15
|
+
it needs to prove that the argument is NOT a function before it reaches the second
|
|
16
|
+
one. For a concrete type it proves that at once, and `createAtom` is then the right
|
|
17
|
+
call.
|
|
18
|
+
|
|
19
|
+
For an UNRESOLVED type the proof fails. `ReturnType<TMachine["transition"]>` inside a
|
|
20
|
+
generic class is a conditional type that TypeScript cannot evaluate yet, so it cannot
|
|
21
|
+
rule a function out, it picks the first signature, and the call returns a
|
|
22
|
+
`ReadonlyAtom` that carries no `set`. The error arrives at the assignment, and it
|
|
23
|
+
names a type that the reader never wrote.
|
|
24
|
+
|
|
25
|
+
This function states the one signature. The assignment below checks that the
|
|
26
|
+
signature belongs to `createAtom`, so the two stay in step and no cast hides a
|
|
27
|
+
mistake.
|
|
28
|
+
|
|
29
|
+
Use `createAtom` everywhere else. Reach for this function when the value type is a
|
|
30
|
+
type parameter, or a conditional type over one.
|
|
31
|
+
|
|
32
|
+
A CAUTION: the signature states ONE overload, and the implementation is `createAtom`
|
|
33
|
+
itself, which reads a FUNCTION argument as a computed atom. A `T` that a function
|
|
34
|
+
satisfies therefore gets a `ReadonlyAtom` at run time while the type says `Atom`, and
|
|
35
|
+
the first `set` call throws. Hold a function in a wrapper — `createWritableAtom({ fn })`
|
|
36
|
+
— as the value types of this workspace already do.
|
|
37
|
+
|
|
38
|
+
## Type Parameters
|
|
39
|
+
|
|
40
|
+
| Type Parameter |
|
|
41
|
+
| -------------- |
|
|
42
|
+
| `T` |
|
|
43
|
+
|
|
44
|
+
## Parameters
|
|
45
|
+
|
|
46
|
+
| Parameter | Type | Description |
|
|
47
|
+
| -------------- | ---------------------------------------------------- | ------------------------------------------------------------ |
|
|
48
|
+
| `initialValue` | `T` | The first value of the atom. It must not be a function. |
|
|
49
|
+
| `options?` | [`AtomOptions`](../interfaces/AtomOptions.md)\<`T`\> | The optional `compare` function. The default is `Object.is`. |
|
|
50
|
+
|
|
51
|
+
## Returns
|
|
52
|
+
|
|
53
|
+
[`Atom`](../interfaces/Atom.md)\<`T`\>
|
|
54
|
+
|
|
55
|
+
The writable atom.
|
|
56
|
+
|
|
57
|
+
## Example
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
import { createWritableAtom, type Atom } from "@xmachines/play-atom";
|
|
61
|
+
|
|
62
|
+
class Holder<T extends { value: unknown }> {
|
|
63
|
+
// `createAtom(seed)` would give a ReadonlyAtom<T["value"]> here.
|
|
64
|
+
public readonly state: Atom<T["value"]>;
|
|
65
|
+
|
|
66
|
+
constructor(seed: T["value"]) {
|
|
67
|
+
this.state = createWritableAtom(seed);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|