@xmachines/docs 2.1.1 → 3.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 (360) hide show
  1. package/README.md +2 -2
  2. package/api/@xmachines/play/README.md +74 -7
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/asCleanup.md +78 -0
  6. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  7. package/api/@xmachines/play/type-aliases/Cleanup.md +38 -0
  8. package/api/@xmachines/play/type-aliases/DisposeKey.md +32 -0
  9. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  10. package/api/@xmachines/play/variables/DISPOSE.md +34 -0
  11. package/api/@xmachines/play-actor/README.md +8 -1
  12. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  13. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  14. package/api/@xmachines/play-actor/functions/composePlayState.md +1 -1
  15. package/api/@xmachines/play-actor/functions/createFailureLatch.md +20 -0
  16. package/api/@xmachines/play-actor/functions/createReportGuard.md +26 -0
  17. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +1 -1
  18. package/api/@xmachines/play-actor/functions/guardContextWrites.md +1 -1
  19. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +1 -1
  20. package/api/@xmachines/play-actor/functions/reuseComposedState.md +1 -1
  21. package/api/@xmachines/play-actor/functions/sameViewInputs.md +25 -0
  22. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +1 -1
  23. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  24. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  25. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  26. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  27. package/api/@xmachines/play-actor/interfaces/FailureLatch.md +59 -0
  28. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  29. package/api/@xmachines/play-actor/interfaces/ReportGuard.md +92 -0
  30. package/api/@xmachines/play-actor/interfaces/ReportGuardMessages.md +18 -0
  31. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +2 -2
  32. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  33. package/api/@xmachines/play-actor/interfaces/ViewInputs.md +19 -0
  34. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +3 -3
  35. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +4 -4
  36. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  37. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +1 -1
  38. package/api/@xmachines/play-dom/README.md +84 -16
  39. package/api/@xmachines/play-dom/classes/PlayRenderer.md +10 -10
  40. package/api/@xmachines/play-dom/functions/createPlayUI.md +8 -8
  41. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  42. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -11
  43. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -4
  44. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -12
  45. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +38 -0
  46. package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +36 -0
  47. package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -1
  48. package/api/@xmachines/play-dom-router/README.md +46 -18
  49. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +149 -7
  50. package/api/@xmachines/play-dom-router/functions/connectRouter.md +6 -5
  51. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +3 -3
  52. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  53. package/api/@xmachines/play-dom-router/functions/createRouter.md +20 -8
  54. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +32 -0
  55. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +27 -17
  56. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  57. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +12 -6
  58. package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +262 -0
  59. package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +80 -0
  60. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  61. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  62. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  63. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  64. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  65. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  66. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  67. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +105 -0
  68. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +26 -5
  69. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +38 -0
  70. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +34 -0
  71. package/api/@xmachines/play-react/README.md +2 -2
  72. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +42 -7
  73. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  74. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  76. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  77. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -6
  78. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -5
  79. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  80. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  81. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  82. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +1 -1
  83. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  84. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  85. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  86. package/api/@xmachines/play-react-router/README.md +2 -2
  87. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +172 -15
  88. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  89. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +7 -18
  90. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  91. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  92. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
  93. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  94. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +10 -8
  95. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  96. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  97. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  98. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  99. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  100. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  101. package/api/@xmachines/play-router/README.md +308 -11
  102. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  103. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +178 -19
  104. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  105. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  106. package/api/@xmachines/play-router/functions/cleanFrameworkParams.md +40 -0
  107. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  108. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  109. package/api/@xmachines/play-router/functions/createRouterConnection.md +21 -0
  110. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  111. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  112. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  113. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  114. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  115. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  116. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  117. package/api/@xmachines/play-router/functions/getPatternParamNames.md +24 -0
  118. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +36 -0
  119. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  120. package/api/@xmachines/play-router/functions/getRouteMappings.md +67 -0
  121. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  122. package/api/@xmachines/play-router/functions/isMountableBridge.md +26 -0
  123. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  124. package/api/@xmachines/play-router/functions/joinBasePath.md +37 -0
  125. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  126. package/api/@xmachines/play-router/functions/mountKey.md +28 -0
  127. package/api/@xmachines/play-router/functions/normalizeBasePath.md +43 -0
  128. package/api/@xmachines/play-router/functions/openProviderBridge.md +41 -0
  129. package/api/@xmachines/play-router/functions/pickOwnParams.md +41 -0
  130. package/api/@xmachines/play-router/functions/repointProviderBridge.md +27 -0
  131. package/api/@xmachines/play-router/functions/resolveBasePath.md +51 -0
  132. package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +51 -0
  133. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  134. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  135. package/api/@xmachines/play-router/functions/stripBasePath.md +44 -0
  136. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  137. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  138. package/api/@xmachines/play-router/interfaces/BasePathOptions.md +32 -0
  139. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
  140. package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +47 -0
  141. package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
  142. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +5 -5
  143. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
  144. package/api/@xmachines/play-router/interfaces/MountableRouterBridge.md +130 -0
  145. package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +28 -0
  146. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  147. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +33 -0
  149. package/api/@xmachines/play-router/interfaces/ResolvedBasePath.md +14 -0
  150. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
  151. package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
  152. package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
  153. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
  154. package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
  155. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  156. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  157. package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
  158. package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
  159. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  160. package/api/@xmachines/play-router/interfaces/RouterBridge.md +7 -3
  161. package/api/@xmachines/play-router/interfaces/RouterConnection.md +105 -0
  162. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  163. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +1 -1
  164. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  165. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +36 -0
  166. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  167. package/api/@xmachines/play-router/variables/DISPOSE.md +34 -0
  168. package/api/@xmachines/play-router/variables/NO_BASE_PATH.md +18 -0
  169. package/api/@xmachines/play-signals/README.md +4 -2
  170. package/api/@xmachines/play-signals/functions/watchSignal.md +27 -4
  171. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  172. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  173. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  174. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  175. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  176. package/api/@xmachines/play-signals/type-aliases/Cleanup.md +38 -0
  177. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  178. package/api/@xmachines/play-solid/README.md +23 -5
  179. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  180. package/api/@xmachines/play-solid/functions/usePlayView.md +14 -1
  181. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  182. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  183. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +13 -5
  184. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  185. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  186. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  187. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  188. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  189. package/api/@xmachines/play-solid-router/README.md +19 -3
  190. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  191. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +166 -18
  192. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +8 -18
  193. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  194. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  195. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
  196. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  197. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
  198. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  199. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  200. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  201. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -12
  202. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  203. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  204. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  205. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  206. package/api/@xmachines/play-svelte/README.md +3 -3
  207. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  208. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  209. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +7 -1
  210. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  211. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  212. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  213. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  214. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  215. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  216. package/api/@xmachines/play-svelte-spa-router/README.md +3 -1
  217. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  218. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +148 -6
  219. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -3
  220. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  221. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +32 -0
  222. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +12 -6
  223. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  224. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  225. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  226. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  227. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +105 -0
  228. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  229. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  230. package/api/@xmachines/play-sveltekit-router/README.md +3 -1
  231. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  232. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +148 -6
  233. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -3
  234. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  235. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +32 -0
  236. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +28 -6
  237. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  238. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  239. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  240. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  241. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  242. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +105 -0
  243. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  244. package/api/@xmachines/play-tanstack-react-router/README.md +2 -2
  245. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  246. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +148 -6
  247. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +7 -18
  248. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  249. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  250. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  251. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
  252. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  253. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +10 -8
  254. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  255. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  256. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  257. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  258. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  259. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  260. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  261. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  262. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  263. package/api/@xmachines/play-tanstack-router/README.md +1 -1
  264. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +153 -11
  265. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  266. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  267. package/api/@xmachines/play-tanstack-solid-router/README.md +2 -2
  268. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  269. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +149 -7
  270. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +7 -17
  271. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  272. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
  273. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  274. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
  275. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  276. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  277. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  278. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  279. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  280. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  281. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  284. package/api/@xmachines/play-vue/README.md +34 -12
  285. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  286. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  287. package/api/@xmachines/play-vue/functions/usePlayView.md +6 -1
  288. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +12 -7
  289. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +15 -10
  290. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  291. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  292. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  293. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  294. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  295. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  296. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  297. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +6 -1
  298. package/api/@xmachines/play-vue-router/README.md +1 -1
  299. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  300. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +154 -12
  301. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  302. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
  303. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  304. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  305. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  306. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  307. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  308. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +1 -1
  309. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +25 -2
  310. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +1 -1
  311. package/api/@xmachines/play-xstate/README.md +19 -2
  312. package/api/@xmachines/play-xstate/classes/PlayerActor.md +53 -17
  313. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  314. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  315. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  316. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  317. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  318. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  319. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  320. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  321. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  322. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  323. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  324. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  325. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  326. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +7 -7
  327. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  328. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  329. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  330. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  331. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  332. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  333. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  334. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  335. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  336. package/api/@xmachines/play-xstate/variables/DISPOSE.md +34 -0
  337. package/api/@xmachines/shared/README.md +1 -1
  338. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  339. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  340. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  341. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  342. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  343. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  344. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  345. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  346. package/contributing/architecture.md +5 -1
  347. package/contributing/configuration.md +60 -18
  348. package/contributing/development.md +66 -44
  349. package/contributing/testing.md +34 -7
  350. package/examples/README.md +1 -1
  351. package/examples/multi-router-integration.md +126 -1
  352. package/examples/routing-patterns.md +1 -1
  353. package/guides/getting-started.md +7 -7
  354. package/guides/inspector.md +1 -1
  355. package/guides/signals.md +43 -0
  356. package/package.json +1 -1
  357. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
  358. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -30
  359. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
  360. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -31
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteTree
4
4
 
5
- Defined in: [types.ts:122](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L122)
5
+ Defined in: [play-router/src/types.ts:123](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L123)
6
6
 
7
7
  The complete route tree, with its lookup maps
8
8
 
@@ -13,9 +13,9 @@ It gives you the map between a state ID and a URL path, in both directions:
13
13
 
14
14
  ## Properties
15
15
 
16
- | Property | Type | Description | Defined in |
17
- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
18
- | <a id="property-bypath"></a> `byPath` | `Map`\<`string`, [`RouteNode`](RouteNode.md)\> | The map from a complete path to its route node. It gives you the state ID of a URL path, for the target of a play.route event | [types.ts:134](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L134) |
19
- | <a id="property-bystateid"></a> `byStateId` | `Map`\<`string`, [`RouteNode`](RouteNode.md)\> | The map from a state ID to its route node. It gives you the URL path of a state ID, for the update of the browser URL | [types.ts:129](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L129) |
20
- | <a id="property-graph"></a> `graph?` | `Graph`\<[`MachineNodeData`](MachineNodeData.md), [`MachineEdgeData`](MachineEdgeData.md), `any`, `any`\> | The graph of the state machine, for an advanced query. extractMachineRoutes() fills it. Use it for a query of the hierarchy, for a test of the reachability, and for a navigation that knows the transitions, through the algorithms of @statelyai/graph. **Example** `import { getSuccessors, hasPath } from "@statelyai/graph"; const successors = getSuccessors(tree.graph!, "myMachine.home");` | [types.ts:147](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L147) |
21
- | <a id="property-root"></a> `root` | [`RouteNode`](RouteNode.md) | The root node of the routes | [types.ts:124](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L124) |
16
+ | Property | Type | Description | Defined in |
17
+ | ------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
18
+ | <a id="property-bypath"></a> `byPath` | `Map`\<`string`, [`RouteNode`](RouteNode.md)\> | The map from a complete path to its route node. It gives you the state ID of a URL path, for the target of a play.route event | [play-router/src/types.ts:135](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L135) |
19
+ | <a id="property-bystateid"></a> `byStateId` | `Map`\<`string`, [`RouteNode`](RouteNode.md)\> | The map from a state ID to its route node. It gives you the URL path of a state ID, for the update of the browser URL | [play-router/src/types.ts:130](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L130) |
20
+ | <a id="property-graph"></a> `graph?` | `Graph`\<[`MachineNodeData`](MachineNodeData.md), [`MachineEdgeData`](MachineEdgeData.md), `any`, `any`\> | The graph of the state machine, for an advanced query. extractMachineRoutes() fills it. Use it for a query of the hierarchy, for a test of the reachability, and for a navigation that knows the transitions, through the algorithms of @statelyai/graph. **Example** `import { getSuccessors, hasPath } from "@statelyai/graph"; const successors = getSuccessors(tree.graph!, "myMachine.home");` | [play-router/src/types.ts:148](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L148) |
21
+ | <a id="property-root"></a> `root` | [`RouteNode`](RouteNode.md) | The root node of the routes | [play-router/src/types.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L125) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteWatcherHandle
4
4
 
5
- Defined in: [router-bridge-base.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/router-bridge-base.ts#L72)
5
+ Defined in: [play-router/src/router-bridge-base.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-bridge-base.ts#L79)
6
6
 
7
7
  The narrow interface of the TC39 Signal watcher. `RouterBridgeBase` uses it to
8
8
  observe each change of `actor.currentRoute`.
@@ -24,7 +24,7 @@ it and manages it internally.
24
24
  unwatch(): void;
25
25
  ```
26
26
 
27
- Defined in: [router-bridge-base.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/router-bridge-base.ts#L76)
27
+ Defined in: [play-router/src/router-bridge-base.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-bridge-base.ts#L83)
28
28
 
29
29
  Stops the observation and frees the watcher.
30
30
 
@@ -40,7 +40,7 @@ Stops the observation and frees the watcher.
40
40
  watch(signal): void;
41
41
  ```
42
42
 
43
- Defined in: [router-bridge-base.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/router-bridge-base.ts#L74)
43
+ Defined in: [play-router/src/router-bridge-base.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-bridge-base.ts#L81)
44
44
 
45
45
  Arms the watcher on the given signal.
46
46
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [types.ts:358](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L358)
5
+ Defined in: [play-router/src/types.ts:359](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L359)
6
6
 
7
7
  The RouterBridge interface of a runtime infrastructure adapter
8
8
 
@@ -48,6 +48,10 @@ class MyRouterBridge implements RouterBridge {
48
48
 
49
49
  [Play RFC](../../../../rfc/play.md) - invariant INV-04
50
50
 
51
+ ## Extended by
52
+
53
+ - [`MountableRouterBridge`](MountableRouterBridge.md)
54
+
51
55
  ## Methods
52
56
 
53
57
  ### connect()
@@ -56,7 +60,7 @@ class MyRouterBridge implements RouterBridge {
56
60
  connect(): void | Promise<void>;
57
61
  ```
58
62
 
59
- Defined in: [types.ts:375](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L375)
63
+ Defined in: [play-router/src/types.ts:376](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L376)
60
64
 
61
65
  Connects the router bridge to the Actor
62
66
 
@@ -86,7 +90,7 @@ await bridge.connect();
86
90
  disconnect(): void | Promise<void>;
87
91
  ```
88
92
 
89
- Defined in: [types.ts:391](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L391)
93
+ Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L392)
90
94
 
91
95
  Disconnects the router bridge from the Actor
92
96
 
@@ -0,0 +1,105 @@
1
+ [API](../../../README.md) / [@xmachines/play-router](../README.md) / RouterConnection
2
+
3
+ # Interface: RouterConnection()
4
+
5
+ Defined in: [play-router/src/provider-lifecycle.ts:265](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L265)
6
+
7
+ What `connectRouter` of an adapter returns.
8
+
9
+ The value is CALLABLE, so `const disconnect = connectRouter(…); disconnect();` keeps
10
+ working exactly as it did. It also carries the mount API, because a host that gives a
11
+ `basePath` needs the two things [MountableRouterBridge](MountableRouterBridge.md) promises: the resolved
12
+ mount to read back, and a way to move it. The bridge itself lives inside
13
+ `connectRouter`, so without this handle a host had to rebuild the actor and the bridge
14
+ to move a mount — which throws away the LRU cache of the route map, the very thing
15
+ `setBasePath` exists to keep.
16
+
17
+ `basePath` and `basePathParams` are GETTERS on the live bridge, so they cannot go
18
+ stale.
19
+
20
+ ```ts
21
+ RouterConnection(): void;
22
+ ```
23
+
24
+ Defined in: [play-router/src/provider-lifecycle.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L267)
25
+
26
+ Stops the synchronization. The same call as [RouterConnection.disconnect](#disconnect).
27
+
28
+ ## Returns
29
+
30
+ `void`
31
+
32
+ ## Properties
33
+
34
+ | Property | Modifier | Type | Description | Defined in |
35
+ | ----------------------------------------------------- | ---------- | -------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
+ | <a id="property-basepath"></a> `basePath` | `readonly` | `string` | The resolved prefix of the mount, or `""` when the machine owns the whole router. | [play-router/src/provider-lifecycle.ts:288](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L288) |
37
+ | <a id="property-basepathparams"></a> `basePathParams` | `readonly` | `Readonly`\<`Record`\<`string`, `string`\>\> | The values of the `:param` segments of the mount. They travel in no event. | [play-router/src/provider-lifecycle.ts:290](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L290) |
38
+
39
+ ## Methods
40
+
41
+ ### \[dispose\]()
42
+
43
+ ```ts
44
+ dispose: void;
45
+ ```
46
+
47
+ Defined in: [play-router/src/provider-lifecycle.ts:286](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L286)
48
+
49
+ Stops the synchronization when the scope of a `using` declaration ends.
50
+
51
+ This value IS the release of `connectRouter`, and all eight router adapters return
52
+ it, so it carries the protocol of `@xmachines/play` like every other release of the
53
+ ecosystem:
54
+
55
+ ```ts
56
+ {
57
+ using connection = connectRouter({ actor, router, routeMap });
58
+ // disconnect() runs at the end of the scope, and after an exception too
59
+ }
60
+ ```
61
+
62
+ The release is [RouterConnection.disconnect](#disconnect), which is idempotent.
63
+
64
+ #### Returns
65
+
66
+ `void`
67
+
68
+ ---
69
+
70
+ ### disconnect()
71
+
72
+ ```ts
73
+ disconnect(): void;
74
+ ```
75
+
76
+ Defined in: [play-router/src/provider-lifecycle.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L269)
77
+
78
+ Stops the synchronization.
79
+
80
+ #### Returns
81
+
82
+ `void`
83
+
84
+ ---
85
+
86
+ ### setBasePath()
87
+
88
+ ```ts
89
+ setBasePath(basePath?, basePathParams?): void;
90
+ ```
91
+
92
+ Defined in: [play-router/src/provider-lifecycle.ts:292](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L292)
93
+
94
+ Moves the mount of the live bridge, with no teardown.
95
+
96
+ #### Parameters
97
+
98
+ | Parameter | Type |
99
+ | ----------------- | ------------------------------------------ |
100
+ | `basePath?` | `string` |
101
+ | `basePathParams?` | `Record`\<`string`, `string` \| `number`\> |
102
+
103
+ #### Returns
104
+
105
+ `void`
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: WindowLike
4
4
 
5
- Defined in: [types.ts:412](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L412)
5
+ Defined in: [play-router/src/types.ts:460](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L460)
6
6
 
7
7
  The minimal window interface of an adapter that subscribes to a DOM event, for
8
8
  example to `hashchange`. You can inject it for SSR and for a test: give a mock in
@@ -30,7 +30,7 @@ connectRouter({ actor, routeMap, window: mockWin });
30
30
  addEventListener(type, listener): void;
31
31
  ```
32
32
 
33
- Defined in: [types.ts:413](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L413)
33
+ Defined in: [play-router/src/types.ts:461](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L461)
34
34
 
35
35
  #### Parameters
36
36
 
@@ -51,7 +51,7 @@ Defined in: [types.ts:413](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
51
51
  removeEventListener(type, listener): void;
52
52
  ```
53
53
 
54
- Defined in: [types.ts:414](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L414)
54
+ Defined in: [play-router/src/types.ts:462](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L462)
55
55
 
56
56
  #### Parameters
57
57
 
@@ -6,7 +6,7 @@
6
6
  type BaseRouteMapping = RouteMapping;
7
7
  ```
8
8
 
9
- Defined in: [index.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/index.ts#L61)
9
+ Defined in: [play-router/src/index.ts:103](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/index.ts#L103)
10
10
 
11
11
  ## Deprecated
12
12
 
@@ -6,7 +6,7 @@
6
6
  type MachineGraph = Graph<MachineNodeData, MachineEdgeData>;
7
7
  ```
8
8
 
9
- Defined in: [machine-to-graph.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/machine-to-graph.ts#L19)
9
+ Defined in: [play-router/src/machine-to-graph.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/machine-to-graph.ts#L19)
10
10
 
11
11
  The typed Graph of @statelyai/graph that represents a state machine.
12
12
  It gives you the queries of the hierarchy, the algorithms of a walk, and the tests
@@ -0,0 +1,36 @@
1
+ [API](../../../README.md) / [@xmachines/play-router](../README.md) / PlayRouterBridgeConstructor
2
+
3
+ # Type Alias: PlayRouterBridgeConstructor\<TRouter\>
4
+
5
+ ```ts
6
+ type PlayRouterBridgeConstructor<TRouter> = (router, actor, routeMap, options?) => RouterBridge;
7
+ ```
8
+
9
+ Defined in: [play-router/src/provider-lifecycle.ts:103](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L103)
10
+
11
+ The constructor shape that a bridge class must satisfy for a provider factory: `(router, actor, routeMap, options?) → RouterBridge`.
12
+
13
+ The return type is `RouterBridge`, the published contract of a bridge, so a
14
+ consumer bridge of its own keeps compiling. Every bridge on `RouterBridgeBase` also
15
+ satisfies `MountableRouterBridge`, and the provider finds that mount API at run
16
+ time: a bridge without it ignores `basePath`, exactly as it did before the option
17
+ existed.
18
+
19
+ ## Type Parameters
20
+
21
+ | Type Parameter |
22
+ | -------------- |
23
+ | `TRouter` |
24
+
25
+ ## Parameters
26
+
27
+ | Parameter | Type |
28
+ | ---------- | ----------------------------------------------------- |
29
+ | `router` | `TRouter` |
30
+ | `actor` | [`PlayActor`](../interfaces/PlayActor.md) |
31
+ | `routeMap` | [`RouteMap`](../classes/RouteMap.md) |
32
+ | `options?` | [`BasePathOptions`](../interfaces/BasePathOptions.md) |
33
+
34
+ ## Returns
35
+
36
+ [`RouterBridge`](../interfaces/RouterBridge.md)
@@ -6,6 +6,6 @@
6
6
  type RouteMetadata = string | RouteObject;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/types.ts#L55)
9
+ Defined in: [play-router/src/types.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L56)
10
10
 
11
11
  The route metadata of the `meta.route` field of a state machine.
@@ -0,0 +1,34 @@
1
+ [API](../../../README.md) / [@xmachines/play-router](../README.md) / DISPOSE
2
+
3
+ # Variable: DISPOSE
4
+
5
+ ```ts
6
+ const DISPOSE: DisposeKey;
7
+ ```
8
+
9
+ Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L94)
10
+
11
+ The key that a release is stored under.
12
+
13
+ `Symbol.dispose` where the runtime has it, and `Symbol.for("Symbol.dispose")` where it
14
+ does not. This is not a convenience — it is the difference between a `using` that
15
+ releases and one that raises.
16
+
17
+ A bundler that downlevels `using` for a target below Chrome 134 emits a helper that
18
+ reads `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`. A release stored under
19
+ a bare `[Symbol.dispose]` lands on the string key `"undefined"` in that runtime,
20
+ because the well-known symbol is absent and the computed key takes the value
21
+ `undefined`. The helper then looks up the registered symbol, finds nothing, and throws
22
+ `TypeError: Object is not disposable`. Storing under the same fallback closes the gap.
23
+
24
+ The type assertion states what the fallback IS. `Symbol.for` returns a plain `symbol`,
25
+ TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
26
+ a `unique symbol` other than the declaration itself.
27
+
28
+ This binding resolves ONE time, when the module evaluates. [asCleanup](../../play/functions/asCleanup.md) therefore
29
+ reads `Symbol.dispose` again at each call and stores the release under both keys, so a
30
+ polyfill that installs the well-known symbol after this module evaluates still finds
31
+ the release. A class or an object literal that writes `[DISPOSE]()` has no such second
32
+ chance: it carries the key that existed when it was defined. Install an Explicit
33
+ Resource Management polyfill before the first import of `@xmachines/play`, which is the
34
+ ordinary contract of a polyfill.
@@ -0,0 +1,18 @@
1
+ [API](../../../README.md) / [@xmachines/play-router](../README.md) / NO\_BASE\_PATH
2
+
3
+ # Variable: NO\_BASE\_PATH
4
+
5
+ ```ts
6
+ const NO_BASE_PATH: ResolvedBasePath;
7
+ ```
8
+
9
+ Defined in: [play-router/src/base-path.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-path.ts#L102)
10
+
11
+ The base path of a bridge that has no `basePath` option.
12
+
13
+ The object is FROZEN, and both levels of it: [resolveBasePath](../functions/resolveBasePath.md) returns this
14
+ exact instance for every bridge with no mount, and
15
+ `RouterBridgeBase.basePathParams` hands its `params` to the caller.
16
+ `Readonly<Record<string, string>>` is gone at run time, so without the freeze one
17
+ write in consumer code would leak that key into every other unmounted bridge in
18
+ the process.
@@ -4,7 +4,7 @@
4
4
 
5
5
  TC39 Signals polyfill for XMachines. It gives the Play Architecture fine-grained reactive state primitives. The primitives propagate state without a glitch and without a subscription.
6
6
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.1.1-blue)](https://www.npmjs.com/package/@xmachines/play-signals)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-3.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-signals)
8
8
 
9
9
  ## Installation
10
10
 
@@ -117,13 +117,14 @@ person.set({ name: "Alice", age: 30 });
117
117
  | Export | Kind | Description |
118
118
  | ------------------------------ | --------- | ------------------------------------------------------------------------------------------------------ |
119
119
  | `Signal` | namespace | Full TC39 Signals namespace (`State`, `Computed`, `subtle.Watcher`) re-exported from `signal-polyfill` |
120
- | `watchSignal(signal, onValue)` | function | The memory-safe subscription helper. It returns a cleanup function |
120
+ | `watchSignal(signal, onValue)` | function | The memory-safe subscription helper. It returns a `Cleanup` |
121
121
  | `SignalState<T>` | interface | Shape of `Signal.State<T>` (`.get()`, `.set()`) |
122
122
  | `SignalComputed<T>` | interface | Shape of `Signal.Computed<T>` (`.get()`) |
123
123
  | `SignalWatcher` | interface | Shape of `Signal.subtle.Watcher` (`.watch()`, `.unwatch()`, `.getPending()`) |
124
124
  | `SignalOptions<T>` | interface | The options object for the `Signal.State` constructor (`equals?`) |
125
125
  | `ComputedOptions<T>` | interface | The options object for the `Signal.Computed` constructor (`equals?`) |
126
126
  | `WatcherNotify` | type | The callback signature of the `Signal.subtle.Watcher` notify function |
127
+ | `Cleanup` | type | The release that `watchSignal` returns, re-exported from `@xmachines/play` |
127
128
 
128
129
  ## Testing
129
130
 
@@ -222,6 +223,7 @@ the code from a change of the Stage 1 API.
222
223
 
223
224
  ## Type Aliases
224
225
 
226
+ - [Cleanup](type-aliases/Cleanup.md)
225
227
  - [WatcherNotify](type-aliases/WatcherNotify.md)
226
228
 
227
229
  ## Functions
@@ -3,10 +3,10 @@
3
3
  # Function: watchSignal()
4
4
 
5
5
  ```ts
6
- function watchSignal<T>(signal, onValue): () => void;
6
+ function watchSignal<T>(signal, onValue): Cleanup;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-signals/src/watch-signal.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/watch-signal.ts#L21)
9
+ Defined in: [packages/play-signals/src/watch-signal.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/watch-signal.ts#L45)
10
10
 
11
11
  Subscribes to one signal, with the canonical one-shot watcher lifecycle.
12
12
 
@@ -21,6 +21,29 @@ that is detached already.
21
21
  once when the cleanup runs before the microtask fires.
22
22
  - The `needsEnqueue` guard removes the duplicates of rapid synchronous signal
23
23
  changes: one batch of synchronous changes queues one microtask only.
24
+ - The watcher arms again BEFORE the callback: a callback that THROWS keeps the watch, a
25
+ callback that RELEASES the watch leaves no watcher attached to the signal, and a
26
+ callback that WRITES the signal reaches the caller with the value that it wrote.
27
+ - The watcher arms with NO argument: `watch(signal)` records the edge a second time on
28
+ every emission, so the edge list of the watcher and the consumer list of the signal
29
+ grow by one for each change, for the life of the watch.
30
+
31
+ A CAUTION for a callback that writes the signal that it watches: the write reaches the
32
+ callback, so a callback that writes a NEW value on every call runs again for ever, and
33
+ the microtask queue drains never. That is the loop of the caller, and this function
34
+ bounds it not — a bound here would drop the write of a caller that repairs its state
35
+ one time, which is the case that the order above exists to serve. A caller that repairs
36
+ from a failure must repair to a state that succeeds, or it must stop after one attempt.
37
+ A write of the SAME value ends the sequence by itself, because a signal notifies for a
38
+ value that it holds already never.
39
+
40
+ The return is a [Cleanup](../type-aliases/Cleanup.md): a function, and a `Disposable`. A caller that keeps
41
+ the release in a field and runs it from a teardown keeps that code. A caller inside one
42
+ scope writes `using` and writes no teardown:
43
+
44
+ ```ts
45
+ using stop = watchSignal(count, render);
46
+ ```
24
47
 
25
48
  ## Type Parameters
26
49
 
@@ -37,6 +60,6 @@ that is detached already.
37
60
 
38
61
  ## Returns
39
62
 
40
- The cleanup function. It removes the watcher.
63
+ [`Cleanup`](../type-aliases/Cleanup.md)
41
64
 
42
- () => `void`
65
+ The release. It removes the watcher.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ComputedOptions\<T\>
4
4
 
5
- Defined in: [packages/play-signals/src/types.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L85)
5
+ Defined in: [packages/play-signals/src/types.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L85)
6
6
 
7
7
  The options of a Signal.Computed
8
8
 
@@ -33,4 +33,4 @@ const options: ComputedOptions<string> = {
33
33
 
34
34
  | Property | Type | Description | Defined in |
35
35
  | -------------------------------------- | ----------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
36
- | <a id="property-equals"></a> `equals?` | (`a`, `b`) => `boolean` | The equality function of your own, for the memoization | [packages/play-signals/src/types.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L89) |
36
+ | <a id="property-equals"></a> `equals?` | (`a`, `b`) => `boolean` | The equality function of your own, for the memoization | [packages/play-signals/src/types.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L89) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: SignalComputed\<T\>
4
4
 
5
- Defined in: [packages/play-signals/src/types.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L112)
5
+ Defined in: [packages/play-signals/src/types.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L112)
6
6
 
7
7
  The computed signal. It evaluates late, and it memoizes the result
8
8
 
@@ -38,7 +38,7 @@ console.log(doubled.get()); // 10 (from the memory, with no new computation)
38
38
  get(): T;
39
39
  ```
40
40
 
41
- Defined in: [packages/play-signals/src/types.ts:118](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L118)
41
+ Defined in: [packages/play-signals/src/types.ts:118](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L118)
42
42
 
43
43
  Reads the computed value. It computes the value again only after a dependency changed
44
44
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: SignalOptions\<T\>
4
4
 
5
- Defined in: [packages/play-signals/src/types.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L27)
5
+ Defined in: [packages/play-signals/src/types.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L27)
6
6
 
7
7
  The options of a Signal.State
8
8
 
@@ -34,4 +34,4 @@ const count = new Signal.State(0, options);
34
34
 
35
35
  | Property | Type | Description | Defined in |
36
36
  | -------------------------------------- | ----------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
37
- | <a id="property-equals"></a> `equals?` | (`a`, `b`) => `boolean` | The equality function of your own. It decides if the value changed | [packages/play-signals/src/types.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L34) |
37
+ | <a id="property-equals"></a> `equals?` | (`a`, `b`) => `boolean` | The equality function of your own. It decides if the value changed | [packages/play-signals/src/types.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L34) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: SignalState\<T\>
4
4
 
5
- Defined in: [packages/play-signals/src/types.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L54)
5
+ Defined in: [packages/play-signals/src/types.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L54)
6
6
 
7
7
  The writable state signal. It holds one reactive value
8
8
 
@@ -35,7 +35,7 @@ console.log(name.get()); // 'Bob'
35
35
  get(): T;
36
36
  ```
37
37
 
38
- Defined in: [packages/play-signals/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L60)
38
+ Defined in: [packages/play-signals/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L60)
39
39
 
40
40
  Reads the current value, and tracks the signal as a dependency
41
41
 
@@ -53,7 +53,7 @@ The current value of the signal
53
53
  set(value): void;
54
54
  ```
55
55
 
56
- Defined in: [packages/play-signals/src/types.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L67)
56
+ Defined in: [packages/play-signals/src/types.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L67)
57
57
 
58
58
  Writes a new value, and notifies the watchers when the value changed
59
59
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: SignalWatcher
4
4
 
5
- Defined in: [packages/play-signals/src/types.ts:169](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L169)
5
+ Defined in: [packages/play-signals/src/types.ts:169](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L169)
6
6
 
7
7
  The watcher. It observes each signal change and schedules an effect
8
8
 
@@ -40,7 +40,7 @@ getPending(): (
40
40
  | SignalComputed<unknown>)[];
41
41
  ```
42
42
 
43
- Defined in: [packages/play-signals/src/types.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L189)
43
+ Defined in: [packages/play-signals/src/types.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L189)
44
44
 
45
45
  Returns the signals that changed after the last check
46
46
 
@@ -60,7 +60,7 @@ The array of the signals with an update that waits
60
60
  unwatch(signal): void;
61
61
  ```
62
62
 
63
- Defined in: [packages/play-signals/src/types.ts:182](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L182)
63
+ Defined in: [packages/play-signals/src/types.ts:182](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L182)
64
64
 
65
65
  Stops the watch of one signal
66
66
 
@@ -82,7 +82,7 @@ Stops the watch of one signal
82
82
  watch(signal): void;
83
83
  ```
84
84
 
85
- Defined in: [packages/play-signals/src/types.ts:175](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L175)
85
+ Defined in: [packages/play-signals/src/types.ts:175](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L175)
86
86
 
87
87
  Starts the watch of one signal
88
88
 
@@ -0,0 +1,38 @@
1
+ [API](../../../README.md) / [@xmachines/play-signals](../README.md) / Cleanup
2
+
3
+ # Type Alias: Cleanup
4
+
5
+ ```ts
6
+ type Cleanup = () => void & { [Key in DisposeKey]: () => void };
7
+ ```
8
+
9
+ Defined in: [packages/play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L66)
10
+
11
+ The release of a subscription. A caller runs it, or a scope releases it.
12
+
13
+ The type is a function AND a `Disposable`, so one value serves both forms. A caller
14
+ that holds the release in a field and runs it from a teardown keeps that code. A
15
+ caller inside one scope writes `using` and writes no teardown at all:
16
+
17
+ ```ts
18
+ // The explicit form. It stays correct.
19
+ const stop = watchSignal(count, render);
20
+ stop();
21
+
22
+ // The scoped form. The scope releases it, and an exception releases it too.
23
+ {
24
+ using stop = watchSignal(count, render);
25
+ render(count.get());
26
+ }
27
+ ```
28
+
29
+ `using` needs Node 24 or a browser with Explicit Resource Management, and it needs
30
+ `"lib": ["ESNext"]` of the consumer. The publishable packages build at
31
+ `target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
32
+ how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
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.
35
+
36
+ ## See
37
+
38
+ [Play RFC](../../../../rfc/play.md)
@@ -6,7 +6,7 @@
6
6
  type WatcherNotify = () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-signals/src/types.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-signals/src/types.ts#L141)
9
+ Defined in: [packages/play-signals/src/types.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-signals/src/types.ts#L141)
10
10
 
11
11
  The notification callback of a Signal.subtle.Watcher
12
12