@xmachines/docs 4.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.
Files changed (483) hide show
  1. package/README.md +8 -6
  2. package/api/@xmachines/play/README.md +21 -21
  3. package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/errors/classes/PlayError.md +5 -4
  5. package/api/@xmachines/play/index/README.md +2 -2
  6. package/api/@xmachines/play/index/functions/asCleanup.md +4 -5
  7. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  8. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +1 -1
  9. package/api/@xmachines/play/index/type-aliases/Cleanup.md +3 -3
  10. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +1 -1
  11. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
  12. package/api/@xmachines/play/index/variables/DISPOSE.md +1 -1
  13. package/api/@xmachines/play-actor/README.md +9 -9
  14. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
  15. package/api/@xmachines/play-actor/interfaces/PlayActor.md +6 -6
  16. package/api/@xmachines/play-atom/README.md +281 -0
  17. package/api/@xmachines/play-atom/functions/watchAtom.md +79 -0
  18. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +16 -0
  19. package/api/@xmachines/play-atom/interfaces/Atom.md +149 -0
  20. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +25 -0
  21. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +33 -0
  22. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +23 -0
  23. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +97 -0
  24. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +91 -0
  25. package/api/@xmachines/play-atom/interfaces/Readable.md +93 -0
  26. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +108 -0
  27. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +13 -0
  28. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +32 -0
  29. package/api/@xmachines/{play-signals → play-atom}/type-aliases/Cleanup.md +4 -4
  30. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +42 -0
  31. package/api/@xmachines/play-atom/variables/createAtom.md +18 -0
  32. package/api/@xmachines/play-atom/variables/createWritableAtom.md +70 -0
  33. package/api/@xmachines/play-dom/README.md +21 -17
  34. package/api/@xmachines/play-dom/classes/PlayRenderer.md +10 -10
  35. package/api/@xmachines/play-dom/functions/asCleanup.md +4 -5
  36. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  37. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  38. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +3 -3
  39. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  40. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
  41. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +3 -3
  42. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  43. package/api/@xmachines/play-dom-router/README.md +24 -24
  44. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +15 -15
  45. package/api/@xmachines/play-dom-router/classes/RouteMap.md +11 -11
  46. package/api/@xmachines/play-dom-router/functions/asCleanup.md +4 -5
  47. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  49. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  50. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -7
  51. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +15 -15
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  53. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +11 -9
  54. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  55. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  56. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +10 -4
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +15 -17
  60. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +7 -7
  61. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +5 -5
  62. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +3 -3
  63. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +1 -1
  64. package/api/@xmachines/play-pattern/README.md +115 -0
  65. package/api/@xmachines/play-pattern/functions/buildPath.md +46 -0
  66. package/api/@xmachines/play-pattern/functions/createPatternCache.md +47 -0
  67. package/api/@xmachines/play-pattern/functions/getIndexKey.md +30 -0
  68. package/api/@xmachines/play-pattern/functions/isDotSegment.md +40 -0
  69. package/api/@xmachines/play-pattern/functions/parsePattern.md +28 -0
  70. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +15 -0
  71. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +14 -0
  72. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +21 -0
  73. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +19 -0
  74. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +23 -0
  75. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +65 -0
  76. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +15 -0
  77. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +74 -0
  78. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +15 -0
  79. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +11 -0
  80. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +9 -0
  81. package/api/@xmachines/play-react/README.md +31 -21
  82. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  83. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  84. package/api/@xmachines/play-react/functions/useAtomEffect.md +103 -0
  85. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  86. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  87. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  88. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  89. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  90. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  91. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  92. package/api/@xmachines/play-react/variables/ActorProvider.md +2 -2
  93. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  94. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  95. package/api/@xmachines/play-react-router/README.md +3 -3
  96. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +15 -15
  97. package/api/@xmachines/play-react-router/classes/RouteMap.md +11 -11
  98. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  99. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +5 -5
  100. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -9
  102. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  103. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +10 -4
  104. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  105. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +15 -17
  106. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
  107. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  108. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  109. package/api/@xmachines/play-router/README.md +25 -14
  110. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
  111. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
  112. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
  113. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
  114. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
  115. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
  116. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
  117. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
  118. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
  119. package/api/@xmachines/play-router/index/README.md +10 -2
  120. package/api/@xmachines/play-router/index/classes/RouteMap.md +11 -11
  121. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +10 -10
  122. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  123. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  124. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  125. package/api/@xmachines/play-router/index/functions/createPatternCache.md +47 -0
  126. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +5 -5
  127. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  128. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  129. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  130. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +7 -6
  131. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  132. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +13 -6
  133. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  134. package/api/@xmachines/play-router/index/functions/joinBasePath.md +2 -1
  135. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  136. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  137. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
  138. package/api/@xmachines/play-router/index/functions/parsePattern.md +28 -0
  139. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  140. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  141. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  142. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +5 -5
  143. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +9 -24
  144. package/api/@xmachines/play-router/index/functions/splitLocation.md +37 -0
  145. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  146. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  147. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  148. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +4 -4
  149. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
  150. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +35 -0
  151. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +13 -8
  152. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
  153. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +9 -9
  154. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +11 -9
  155. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +24 -0
  156. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +23 -0
  157. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +65 -0
  158. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
  159. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +15 -9
  160. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
  161. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
  162. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  163. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  164. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
  165. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +10 -4
  166. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
  167. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
  168. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
  169. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
  170. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
  171. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +11 -11
  172. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +15 -17
  173. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +31 -0
  174. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +7 -7
  175. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +16 -0
  176. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  177. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +14 -7
  178. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  179. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  180. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  181. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +68 -0
  182. package/api/@xmachines/play-router/index/variables/DISPOSE.md +1 -1
  183. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  184. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  185. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +5 -5
  186. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +6 -5
  187. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  188. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  189. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  190. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  191. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  192. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  193. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  194. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
  195. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
  196. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  197. package/api/@xmachines/play-solid/README.md +9 -5
  198. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  199. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  200. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  201. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  202. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  203. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  204. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  205. package/api/@xmachines/play-solid/variables/ActorProvider.md +2 -2
  206. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  207. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  208. package/api/@xmachines/play-solid-router/README.md +14 -14
  209. package/api/@xmachines/play-solid-router/classes/RouteMap.md +11 -11
  210. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +18 -18
  211. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  212. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +6 -6
  213. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  214. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -9
  215. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  216. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +10 -4
  217. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  218. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +15 -17
  219. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
  220. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  221. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  222. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  223. package/api/@xmachines/play-svelte/README.md +11 -7
  224. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  225. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  226. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  227. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  228. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  229. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  230. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  231. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  232. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  233. package/api/@xmachines/play-svelte-spa-router/README.md +14 -14
  234. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +11 -11
  235. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +15 -15
  236. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  237. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -7
  238. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +11 -9
  239. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  240. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  241. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +10 -4
  242. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  243. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +15 -17
  244. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +7 -7
  245. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  246. package/api/@xmachines/play-sveltekit-router/README.md +17 -17
  247. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +11 -11
  248. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +15 -15
  249. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  250. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -7
  251. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +15 -23
  252. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  253. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  254. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  255. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +10 -4
  256. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  257. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +15 -17
  258. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +7 -7
  259. package/api/@xmachines/play-tanstack-react-router/README.md +7 -7
  260. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +11 -11
  261. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +11 -11
  262. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  263. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +5 -5
  264. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  265. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -9
  266. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  267. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +10 -4
  268. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  269. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +15 -17
  270. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
  271. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  272. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  273. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  274. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  275. package/api/@xmachines/play-tanstack-router/README.md +1 -1
  276. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +16 -16
  277. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  278. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  279. package/api/@xmachines/play-tanstack-solid-router/README.md +7 -7
  280. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +11 -11
  281. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +11 -11
  282. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  283. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  284. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -9
  285. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  286. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +10 -4
  287. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  288. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +15 -17
  289. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
  290. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  291. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  292. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  293. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  294. package/api/@xmachines/play-url/README.md +21 -15
  295. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
  296. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
  297. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
  298. package/api/@xmachines/play-url/index/README.md +15 -8
  299. package/api/@xmachines/play-url/index/functions/buildPath.md +46 -0
  300. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  301. package/api/@xmachines/play-url/index/functions/createPatternCache.md +47 -0
  302. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  303. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +8 -7
  304. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  305. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +2 -2
  306. package/api/@xmachines/play-url/index/functions/isDotSegment.md +40 -0
  307. package/api/@xmachines/play-url/index/functions/joinBasePath.md +2 -1
  308. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  309. package/api/@xmachines/play-url/index/functions/parsePattern.md +6 -5
  310. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  311. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  312. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +5 -5
  313. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +27 -0
  314. package/api/@xmachines/play-url/index/functions/splitLocation.md +37 -0
  315. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  316. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
  317. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +21 -0
  318. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +13 -8
  319. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  320. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  321. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  322. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +24 -0
  323. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  324. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +65 -0
  325. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  326. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
  327. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +16 -0
  328. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +74 -0
  329. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +15 -0
  330. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  331. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  332. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  333. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  334. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  335. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  336. package/api/@xmachines/play-view/README.md +19 -8
  337. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
  338. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
  339. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  340. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
  341. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  342. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  343. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +4 -28
  344. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  345. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  346. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
  347. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  348. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  349. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
  350. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
  351. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
  352. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
  353. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  354. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +3 -3
  355. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
  356. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
  357. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
  358. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
  359. package/api/@xmachines/play-view/index/interfaces/Viewable.md +5 -5
  360. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  361. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  362. package/api/@xmachines/play-vue/README.md +13 -9
  363. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  364. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  365. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  366. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +6 -6
  367. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +9 -9
  368. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  369. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  370. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  371. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  372. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  373. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  374. package/api/@xmachines/play-vue-router/README.md +12 -11
  375. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
  376. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
  377. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +11 -11
  378. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +15 -15
  379. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
  380. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  381. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +10 -4
  382. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
  383. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +15 -17
  384. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +23 -1
  385. package/api/@xmachines/play-xstate/README.md +61 -30
  386. package/api/@xmachines/play-xstate/errors/README.md +1 -0
  387. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
  388. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
  389. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
  390. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
  391. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
  392. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +207 -0
  393. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
  394. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
  395. package/api/@xmachines/play-xstate/index/README.md +2 -2
  396. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +41 -42
  397. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  398. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
  399. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
  400. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
  401. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +9 -9
  402. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  403. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  404. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  405. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +1 -1
  406. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +13 -6
  407. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  408. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
  409. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  410. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  411. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
  412. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
  413. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  414. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  415. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  416. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  417. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  418. package/api/@xmachines/play-xstate/with-view/functions/withView.md +6 -5
  419. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  420. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  421. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  422. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  423. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  424. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  425. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  426. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  427. package/api/README.md +2 -1
  428. package/api/llms.txt +4 -3
  429. package/contributing/architecture.md +105 -124
  430. package/contributing/configuration.md +15 -15
  431. package/contributing/deployment.md +82 -6
  432. package/contributing/development.md +58 -30
  433. package/contributing/migrating-to-play-atom.md +209 -0
  434. package/contributing/testing.md +61 -64
  435. package/examples/README.md +3 -3
  436. package/examples/basic-state-machine.md +4 -4
  437. package/examples/form-validation.md +1 -1
  438. package/examples/multi-router-integration.md +23 -23
  439. package/examples/routing-patterns.md +5 -5
  440. package/examples/traffic-light.md +6 -6
  441. package/guides/README.md +1 -1
  442. package/guides/actor-model.md +26 -17
  443. package/guides/atoms.md +264 -0
  444. package/guides/getting-started.md +52 -17
  445. package/guides/inspector.md +3 -3
  446. package/guides/routing.md +67 -47
  447. package/guides/state-machines.md +4 -4
  448. package/package.json +3 -3
  449. package/rfc/play.md +83 -52
  450. package/api/@xmachines/play-react/functions/useSignalEffect.md +0 -77
  451. package/api/@xmachines/play-router/index/functions/getPatternParamNames.md +0 -29
  452. package/api/@xmachines/play-router/index/functions/getRequiredPatternParamNames.md +0 -39
  453. package/api/@xmachines/play-signals/README.md +0 -209
  454. package/api/@xmachines/play-signals/functions/watchSignal.md +0 -65
  455. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +0 -36
  456. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +0 -49
  457. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +0 -37
  458. package/api/@xmachines/play-signals/interfaces/SignalState.md +0 -68
  459. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +0 -97
  460. package/api/@xmachines/play-signals/namespaces/Signal/README.md +0 -22
  461. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -52
  462. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -72
  463. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -19
  464. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +0 -21
  465. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -85
  466. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -13
  467. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -19
  468. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -19
  469. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -19
  470. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -19
  471. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -25
  472. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -9
  473. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -9
  474. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -19
  475. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -19
  476. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -19
  477. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +0 -33
  478. package/api/@xmachines/play-url/index/functions/getNormalizedParamNameMap.md +0 -32
  479. package/api/@xmachines/play-url/index/functions/getPatternParamNames.md +0 -29
  480. package/api/@xmachines/play-url/index/functions/getRequiredPatternParamNames.md +0 -39
  481. package/api/@xmachines/play-url/index/functions/isParameterizedPattern.md +0 -36
  482. package/api/@xmachines/play-url/index/functions/normalizeParamNames.md +0 -36
  483. 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-signals](../README.md) / Cleanup
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: [packages/play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play/src/disposable.ts#L66)
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 = watchSignal(count, render);
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 = watchSignal(count, render);
24
+ using stop = watchAtom(count, render);
25
25
  render(count.get());
26
26
  }
27
27
  ```
@@ -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
+ ```