@xmachines/docs 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/README.md +11 -13
  2. package/api/@xmachines/play/README.md +58 -63
  3. package/api/@xmachines/play/classes/NonNullableError.md +7 -7
  4. package/api/@xmachines/play/classes/PlayError.md +25 -27
  5. package/api/@xmachines/play/functions/assertNonNullable.md +17 -17
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +26 -25
  7. package/api/@xmachines/play-actor/README.md +72 -63
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +39 -39
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +19 -18
  10. package/api/@xmachines/play-actor/functions/composePlayState.md +9 -8
  11. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +5 -5
  12. package/api/@xmachines/play-actor/functions/guardContextWrites.md +27 -25
  13. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +12 -11
  14. package/api/@xmachines/play-actor/functions/reuseComposedState.md +23 -22
  15. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +6 -5
  16. package/api/@xmachines/play-actor/functions/toAtomState.md +16 -14
  17. package/api/@xmachines/play-actor/functions/typedSpec.md +12 -11
  18. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +17 -15
  19. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +15 -14
  20. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +13 -13
  21. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +4 -4
  22. package/api/@xmachines/play-actor/interfaces/Routable.md +4 -4
  23. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +11 -11
  24. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +7 -7
  25. package/api/@xmachines/play-actor/interfaces/Viewable.md +9 -9
  26. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +5 -5
  27. package/api/@xmachines/play-dom/README.md +119 -85
  28. package/api/@xmachines/play-dom/classes/PlayRenderer.md +34 -32
  29. package/api/@xmachines/play-dom/functions/createPlayUI.md +10 -10
  30. package/api/@xmachines/play-dom/functions/createRenderer.md +21 -17
  31. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +8 -8
  32. package/api/@xmachines/play-dom/interfaces/MountOptions.md +9 -9
  33. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +9 -9
  34. package/api/@xmachines/play-dom/type-aliases/MountFn.md +5 -5
  35. package/api/@xmachines/play-dom-router/README.md +66 -49
  36. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +116 -0
  37. package/api/@xmachines/play-dom-router/functions/connectRouter.md +4 -3
  38. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +16 -14
  39. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +12 -11
  40. package/api/@xmachines/play-dom-router/functions/createRouter.md +14 -14
  41. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +25 -26
  42. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +19 -18
  43. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +7 -7
  44. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +39 -33
  45. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +18 -17
  46. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +9 -9
  47. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +39 -38
  48. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +5 -5
  49. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +11 -10
  50. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +27 -24
  51. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +7 -7
  52. package/api/@xmachines/play-react/README.md +63 -54
  53. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +14 -13
  54. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  55. package/api/@xmachines/play-react/functions/usePlayView.md +4 -4
  56. package/api/@xmachines/play-react/functions/useSignalEffect.md +39 -39
  57. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  58. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
  59. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  60. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +14 -14
  61. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
  62. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +2 -2
  63. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +13 -0
  64. package/api/@xmachines/play-react/variables/ActorProvider.md +9 -8
  65. package/api/@xmachines/play-react/variables/PlayRenderer.md +5 -4
  66. package/api/@xmachines/play-react/variables/PlayUIProvider.md +6 -6
  67. package/api/@xmachines/play-react-router/README.md +37 -28
  68. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +22 -19
  69. package/api/@xmachines/play-react-router/classes/RouteMap.md +50 -48
  70. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +16 -14
  71. package/api/@xmachines/play-react-router/functions/createRouteMap.md +12 -11
  72. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +18 -18
  73. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +22 -20
  74. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +39 -33
  75. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +12 -12
  76. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  77. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +5 -5
  78. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +11 -10
  79. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +27 -24
  80. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
  81. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +7 -6
  82. package/api/@xmachines/play-router/README.md +94 -82
  83. package/api/@xmachines/play-router/classes/RouteMap.md +50 -48
  84. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +29 -23
  85. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +6 -5
  86. package/api/@xmachines/play-router/functions/buildRouteTree.md +16 -15
  87. package/api/@xmachines/play-router/functions/createRouteMap.md +12 -11
  88. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +18 -18
  89. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +18 -17
  90. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +11 -10
  91. package/api/@xmachines/play-router/functions/extractQuery.md +3 -3
  92. package/api/@xmachines/play-router/functions/extractRouteParams.md +22 -19
  93. package/api/@xmachines/play-router/functions/findRouteById.md +10 -9
  94. package/api/@xmachines/play-router/functions/findRouteByPath.md +14 -12
  95. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +9 -9
  96. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +9 -9
  97. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +16 -15
  98. package/api/@xmachines/play-router/functions/isRouteReachable.md +12 -11
  99. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  100. package/api/@xmachines/play-router/functions/routeExists.md +8 -8
  101. package/api/@xmachines/play-router/functions/sanitizePathname.md +15 -13
  102. package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -10
  103. package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
  104. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  105. package/api/@xmachines/play-router/interfaces/LocationLike.md +9 -9
  106. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +7 -7
  107. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +9 -9
  108. package/api/@xmachines/play-router/interfaces/PlayActor.md +22 -20
  109. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +39 -33
  110. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +7 -7
  111. package/api/@xmachines/play-router/interfaces/RoutableActor.md +18 -17
  112. package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
  113. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +5 -5
  114. package/api/@xmachines/play-router/interfaces/RouteMapping.md +11 -10
  115. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  116. package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
  117. package/api/@xmachines/play-router/interfaces/RouteObject.md +6 -6
  118. package/api/@xmachines/play-router/interfaces/RouteTree.md +11 -11
  119. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +13 -13
  120. package/api/@xmachines/play-router/interfaces/RouterBridge.md +27 -24
  121. package/api/@xmachines/play-router/interfaces/WindowLike.md +10 -10
  122. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +13 -0
  123. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +4 -3
  124. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
  125. package/api/@xmachines/play-signals/README.md +38 -36
  126. package/api/@xmachines/play-signals/functions/watchSignal.md +15 -15
  127. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +6 -6
  128. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +10 -10
  129. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +6 -6
  130. package/api/@xmachines/play-signals/interfaces/SignalState.md +13 -13
  131. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +18 -18
  132. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +6 -5
  133. package/api/@xmachines/play-solid/README.md +46 -42
  134. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  135. package/api/@xmachines/play-solid/functions/usePlayView.md +3 -3
  136. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +13 -13
  137. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +14 -14
  138. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +9 -9
  139. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +2 -2
  140. package/api/@xmachines/play-solid/variables/ActorContext.md +5 -4
  141. package/api/@xmachines/play-solid/variables/ActorProvider.md +8 -7
  142. package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -4
  143. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +7 -7
  144. package/api/@xmachines/play-solid-router/README.md +34 -29
  145. package/api/@xmachines/play-solid-router/classes/RouteMap.md +50 -48
  146. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +43 -34
  147. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +15 -13
  148. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +12 -11
  149. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +39 -39
  150. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +22 -20
  151. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +39 -33
  152. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +10 -10
  153. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  154. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +5 -5
  155. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +11 -10
  156. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +27 -24
  157. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +5 -5
  158. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +2 -2
  159. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +11 -11
  160. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +9 -8
  161. package/api/@xmachines/play-svelte/README.md +40 -31
  162. package/api/@xmachines/play-svelte/functions/defineRegistry.md +9 -8
  163. package/api/@xmachines/play-svelte/functions/getActorContext.md +5 -4
  164. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +3 -3
  165. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  166. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +17 -15
  167. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +9 -9
  168. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +20 -18
  169. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +12 -11
  170. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +2 -2
  171. package/api/@xmachines/play-svelte-spa-router/README.md +25 -25
  172. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +50 -48
  173. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +133 -0
  174. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -3
  175. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +12 -11
  176. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +7 -7
  177. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +39 -33
  178. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +5 -5
  179. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +11 -10
  180. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +27 -24
  181. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +10 -10
  182. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  183. package/api/@xmachines/play-sveltekit-router/README.md +38 -34
  184. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +50 -48
  185. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +132 -0
  186. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -3
  187. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +12 -11
  188. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
  189. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +9 -9
  190. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +39 -33
  191. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +5 -5
  192. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +11 -10
  193. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +27 -24
  194. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  195. package/api/@xmachines/play-tanstack-react-router/README.md +66 -48
  196. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +50 -48
  197. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +43 -38
  198. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +16 -14
  199. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +12 -11
  200. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +18 -18
  201. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +11 -10
  202. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +22 -20
  203. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +39 -33
  204. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +12 -12
  205. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  206. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +5 -5
  207. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +11 -10
  208. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +16 -11
  209. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +27 -24
  210. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
  211. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  212. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +15 -13
  213. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +9 -8
  214. package/api/@xmachines/play-tanstack-router/README.md +37 -17
  215. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +43 -38
  216. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +9 -9
  217. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +15 -13
  218. package/api/@xmachines/play-tanstack-solid-router/README.md +71 -45
  219. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +50 -48
  220. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +38 -30
  221. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +15 -13
  222. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +12 -11
  223. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +22 -20
  224. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +39 -33
  225. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +11 -11
  226. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
  227. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +5 -5
  228. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +11 -10
  229. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +27 -24
  230. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +2 -2
  231. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +2 -2
  232. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  233. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +15 -13
  234. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +7 -7
  235. package/api/@xmachines/play-vue/README.md +37 -35
  236. package/api/@xmachines/play-vue/functions/defineRegistry.md +10 -9
  237. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  238. package/api/@xmachines/play-vue/functions/usePlayView.md +28 -0
  239. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +10 -9
  240. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +13 -12
  241. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +10 -9
  242. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +6 -2
  243. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +2 -2
  244. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  245. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  246. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  247. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  248. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +34 -0
  249. package/api/@xmachines/play-vue-router/README.md +65 -56
  250. package/api/@xmachines/play-vue-router/classes/RouteMap.md +50 -48
  251. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +26 -19
  252. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +12 -11
  253. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +22 -20
  254. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +39 -33
  255. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +5 -5
  256. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +11 -10
  257. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +27 -24
  258. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +2 -2
  259. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +13 -0
  260. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +5 -5
  261. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +13 -0
  262. package/api/@xmachines/play-xstate/README.md +72 -70
  263. package/api/@xmachines/play-xstate/classes/PlayerActor.md +123 -112
  264. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +19 -16
  265. package/api/@xmachines/play-xstate/functions/composeGuards.md +25 -23
  266. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +20 -20
  267. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +15 -15
  268. package/api/@xmachines/play-xstate/functions/definePlayer.md +19 -19
  269. package/api/@xmachines/play-xstate/functions/deriveRoute.md +26 -25
  270. package/api/@xmachines/play-xstate/functions/eventMatches.md +8 -8
  271. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +16 -13
  272. package/api/@xmachines/play-xstate/functions/hasContext.md +8 -8
  273. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +10 -10
  274. package/api/@xmachines/play-xstate/functions/negateGuard.md +19 -18
  275. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +6 -6
  276. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +7 -7
  277. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +10 -10
  278. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -14
  279. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  280. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +5 -5
  281. package/api/@xmachines/play-xstate/type-aliases/Guard.md +9 -9
  282. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +4 -3
  283. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +7 -7
  284. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +12 -12
  285. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  286. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +15 -14
  287. package/api/@xmachines/shared/README.md +11 -13
  288. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  289. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  290. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  291. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  292. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  293. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  294. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  295. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  296. package/contributing/development.md +28 -0
  297. package/guides/inspector.md +1 -1
  298. package/package.json +1 -1
  299. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +0 -28
@@ -2,11 +2,9 @@
2
2
 
3
3
  # @xmachines/play-vue-router
4
4
 
5
- Vue Router 4.x adapter for XMachines Universal Player Architecture. Bidirectional sync between Vue Router and XMachines state machines using Vue's reactive primitives.
5
+ Vue Router 4.x adapter for the XMachines Universal Player Architecture. It keeps Vue Router and an XMachines state machine in step, in both directions, with the reactive primitives of Vue.
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.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-vue-router)
8
-
9
- Part of the [xmachines-js monorepo](../../README.md).
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.0-blue)](https://www.npmjs.com/package/@xmachines/play-vue-router)
10
8
 
11
9
  ## Installation
12
10
 
@@ -25,20 +23,22 @@ pnpm add @xmachines/play-vue-router
25
23
 
26
24
  ### VueRouterBridge — low-level adapter
27
25
 
28
- `VueRouterBridge` wires Vue Router's `currentRoute` ref to an XMachines actor's `currentRoute` signal. Both directions are active: the actor drives the URL, and the URL drives the actor.
26
+ `VueRouterBridge` connects the `currentRoute` ref of Vue Router to the `currentRoute` signal of an XMachines actor. Both directions are active: the actor drives the URL, and the URL drives the actor.
29
27
 
30
28
  ```typescript
31
29
  import { createRouter, createWebHistory } from "vue-router";
30
+ import { h } from "vue";
32
31
  import { VueRouterBridge, RouteMap } from "@xmachines/play-vue-router";
32
+ import { definePlayer } from "@xmachines/play-xstate";
33
+ import { machine } from "./machine.js"; // your routable machine (states carry meta.route)
34
+
35
+ // 1. Define routes — a single catch-all with a stub host component;
36
+ // PlayRenderer picks the actual view from actor state
37
+ const RouteHost = { render: () => h("div") };
33
38
 
34
- // 1. Define routes
35
39
  const router = createRouter({
36
40
  history: createWebHistory(),
37
- routes: [
38
- { path: "/", name: "home", component: HomePage },
39
- { path: "/profile/:userId", name: "profile", component: ProfilePage },
40
- { path: "/settings/:section?", name: "settings", component: SettingsPage },
41
- ],
41
+ routes: [{ path: "/:pathMatch(.*)*", name: "xmachines-play", component: RouteHost }],
42
42
  });
43
43
 
44
44
  // 2. Create a bidirectional state ID ↔ path mapping
@@ -48,7 +48,10 @@ const routeMap = new RouteMap([
48
48
  { stateId: "settings", path: "/settings/:section?" },
49
49
  ]);
50
50
 
51
- // 3. Start the bridge after the router is ready
51
+ // 3. Start the actor, then the bridge after the router is ready
52
+ const actor = definePlayer({ machine })();
53
+ actor.start();
54
+
52
55
  await router.isReady();
53
56
  const bridge = new VueRouterBridge(router, actor, routeMap);
54
57
  bridge.connect();
@@ -59,13 +62,18 @@ bridge.dispose();
59
62
 
60
63
  ### PlayRouterProvider — Vue component wrapper
61
64
 
62
- `PlayRouterProvider` is a convenience component that manages the bridge lifecycle automatically it calls `bridge.connect()` after `router.isReady()` on mount and `bridge.disconnect()` on unmount.
65
+ `PlayRouterProvider` manages the bridge lifecycle for you. It calls `bridge.connect()` on mount, after `router.isReady()`. It calls `bridge.disconnect()` on unmount.
63
66
 
64
67
  ```vue
65
68
  <script setup lang="ts">
66
- import { markRaw } from "vue";
69
+ import { h, markRaw } from "vue";
67
70
  import { useRouter } from "vue-router";
68
71
  import { PlayRouterProvider, RouteMap } from "@xmachines/play-vue-router";
72
+ import { definePlayer } from "@xmachines/play-xstate";
73
+ import { machine } from "./machine.js"; // your routable machine (states carry meta.route)
74
+ // AppShell: your root component — a real app renders PlayUIProvider + PlayRenderer
75
+ // from @xmachines/play-vue (see the workspace-only @xmachines/play-vue-demo Shell)
76
+ import AppShell from "./AppShell.vue";
69
77
 
70
78
  const router = useRouter();
71
79
  const routeMap = new RouteMap([
@@ -75,7 +83,8 @@ const routeMap = new RouteMap([
75
83
 
76
84
  // markRaw prevents Vue from wrapping the actor in a reactive proxy,
77
85
  // which would break TC39 Signal receivers.
78
- const actor = markRaw(createActor());
86
+ const actor = markRaw(definePlayer({ machine })());
87
+ actor.start();
79
88
  </script>
80
89
 
81
90
  <template>
@@ -94,6 +103,7 @@ const actor = markRaw(createActor());
94
103
  <script setup>
95
104
  import { inject } from "vue";
96
105
 
106
+ // Provided at app setup with the matching call: app.provide("actor", actor)
97
107
  const actor = inject("actor");
98
108
 
99
109
  function viewProfile(userId) {
@@ -110,7 +120,7 @@ function viewProfile(userId) {
110
120
 
111
121
  ### `VueRouterBridge`
112
122
 
113
- Implements the `RouterBridge` protocol by watching Vue Router's `currentRoute` shallowRef and the actor's `currentRoute` TC39 Signal.
123
+ This class implements the `RouterBridge` protocol. It watches the `currentRoute` shallowRef of Vue Router and the `currentRoute` TC39 Signal of the actor.
114
124
 
115
125
  ```typescript
116
126
  class VueRouterBridge {
@@ -123,21 +133,21 @@ class VueRouterBridge {
123
133
 
124
134
  **Constructor parameters:**
125
135
 
126
- | Parameter | Type | Description |
127
- | ----------- | --------------- | -------------------------------------------- |
128
- | `vueRouter` | `Router` | Vue Router instance from `createRouter()` |
129
- | `actor` | `RoutableActor` | XMachines actor with a `currentRoute` signal |
130
- | `routeMap` | `RouteMap` | Bidirectional state ID path mapping |
136
+ | Parameter | Type | Description |
137
+ | ----------- | --------------- | --------------------------------------------------------- |
138
+ | `vueRouter` | `Router` | The Vue Router instance from `createRouter()` |
139
+ | `actor` | `RoutableActor` | The XMachines actor with a `currentRoute` signal |
140
+ | `routeMap` | `RouteMap` | The bidirectional map between the state IDs and the paths |
131
141
 
132
142
  **Methods:**
133
143
 
134
- - `connect()` — Start bidirectional synchronization. Performs an initial sync from the router's current path to the actor (cold-load / direct-URL support). Uses `watch(router.currentRoute, …)` from `@vue/reactivity` (not `@vue/runtime-core`) so watcher errors propagate directly without being swallowed by Vue's global error handler.
135
- - `disconnect()` — Stop all watchers and stop the Vue effect scope.
136
- - `dispose()` — Alias for `disconnect()`, intended for `onUnmounted(() => bridge.dispose())`.
144
+ - `connect()` — starts the work in both directions. It first sets the actor state from the current path of the router, which supports a cold load and a direct URL. It uses `watch(router.currentRoute, …)` from `@vue/reactivity`, not from `@vue/runtime-core`. Therefore a watcher error goes to the caller, and the global error handler of Vue does not hide it.
145
+ - `disconnect()` — stops every watcher and stops the Vue effect scope.
146
+ - `dispose()` — the alias of `disconnect()`. Use it in `onUnmounted(() => bridge.dispose())`.
137
147
 
138
148
  ### `PlayRouterProvider`
139
149
 
140
- Vue component that wraps `VueRouterBridge` in component lifecycle hooks.
150
+ This Vue component wraps `VueRouterBridge` in the component lifecycle hooks.
141
151
 
142
152
  ```typescript
143
153
  import type { PlayActor } from "@xmachines/play-vue-router";
@@ -156,14 +166,14 @@ defineComponent({
156
166
  });
157
167
  ```
158
168
 
159
- The `actor` prop requires `PlayActor` (`AbstractActor & Routable & Viewable`) the provider renders the current view spec in addition to synchronizing routes. The `renderer` callback receives the same concrete actor type.
169
+ The `actor` prop requires a `PlayActor` (`AbstractActor & Routable & Viewable`), because the provider renders the current view spec and also keeps the routes in step. The `renderer` callback receives the same concrete actor type.
160
170
 
161
171
  ### `RouteMap` / `VueRouteMap`
162
172
 
163
- `RouteMap` (re-exported from `@xmachines/play-router`) is the bidirectional state ID path mapping used by the bridge. `VueRouteMap` is an alias for `RouteMap` both are identical.
173
+ `RouteMap` comes from `@xmachines/play-router`. It is the bidirectional map between the state IDs and the paths, and the bridge uses it. `VueRouteMap` is a deprecated alias of `RouteMap`. The two names are identical, and the next major version removes the alias.
164
174
 
165
175
  ```typescript
166
- import { RouteMap, createRouteMap } from "@xmachines/play-vue-router";
176
+ import { RouteMap } from "@xmachines/play-vue-router";
167
177
 
168
178
  // Explicit construction
169
179
  const routeMap = new RouteMap([
@@ -171,15 +181,18 @@ const routeMap = new RouteMap([
171
181
  { stateId: "profile", path: "/profile/:userId" },
172
182
  { stateId: "settings", path: "/settings/:section?" },
173
183
  ]);
184
+ ```
185
+
186
+ ```typescript
187
+ import { createRouteMap } from "@xmachines/play-vue-router";
174
188
 
175
189
  // Or derive from an XState machine
176
- import { createRouteMap } from "@xmachines/play-router";
177
- const routeMap = createRouteMap(machine);
190
+ const routeMap = createRouteMap(machine); // machine: your routable machine (states carry meta.route)
178
191
  ```
179
192
 
180
193
  ### Exported error classes (`@xmachines/play-vue-router/errors`)
181
194
 
182
- All runtime errors extend `PlayError` from `@xmachines/play` and are available from the `./errors` subpath:
195
+ Every runtime error extends `PlayError` from `@xmachines/play`. The `./errors` subpath exports them:
183
196
 
184
197
  ```typescript
185
198
  import {
@@ -189,13 +202,13 @@ import {
189
202
  } from "@xmachines/play-vue-router/errors";
190
203
  ```
191
204
 
192
- | Class | Error code | When thrown |
193
- | -------------------------- | ----------------------------------- | ---------------------------------------------------------------------- |
194
- | `VueRouterCorrectionError` | `PLAY_VUE_ROUTER_CORRECTION_FAILED` | `router.replace()` rejected when syncing actor router (correction) |
195
- | `VueRouterNavigationError` | `PLAY_VUE_ROUTER_NAV_FAILED` | `router.push()` rejected (navigation guard cancellation, redirect) |
196
- | `VueRouterSendError` | `PLAY_VUE_ROUTER_SEND_FAILED` | Vue Router watcher callback fails to deliver `play.route` to the actor |
205
+ | Class | Error code | When thrown |
206
+ | -------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------ |
207
+ | `VueRouterCorrectionError` | `PLAY_VUE_ROUTER_CORRECTION_FAILED` | Deprecated. No code throws it. A correction reports `VueRouterNavigationError` |
208
+ | `VueRouterNavigationError` | `PLAY_VUE_ROUTER_NAV_FAILED` | `router.push()` refused the navigation: a navigation guard stopped it, or a redirect replaced it |
209
+ | `VueRouterSendError` | `PLAY_VUE_ROUTER_SEND_FAILED` | The Vue Router watcher callback cannot send `play.route` to the actor |
197
210
 
198
- Each class carries a `cause` property with the original Vue Router error.
211
+ Each class holds the original Vue Router error in its `cause` property.
199
212
 
200
213
  ### Exported types
201
214
 
@@ -213,7 +226,7 @@ export type { PlayActor } from "@xmachines/play-vue-router";
213
226
  // RoutableActor is also exported as a deprecated alias for PlayActor
214
227
  ```
215
228
 
216
- `PlayActor` is `AbstractActor<AnyActorLogic> & Routable & Viewable` the shape required by `PlayRouterProvider`, which renders the current view spec in addition to synchronizing routes. Use `RoutableActor` from `@xmachines/play-router` when only routing is needed (e.g. constructing `VueRouterBridge` directly).
229
+ `PlayActor` is `AbstractActor<AnyActorLogic> & Routable & Viewable`. `PlayRouterProvider` requires this shape, because it renders the current view spec and also keeps the routes in step. Use `RoutableActor` from `@xmachines/play-router` when you need the routing alone, for example when you create a `VueRouterBridge` yourself.
217
230
 
218
231
  ## Architecture
219
232
 
@@ -221,27 +234,27 @@ export type { PlayActor } from "@xmachines/play-vue-router";
221
234
 
222
235
  **Router → Actor** (`watch(router.currentRoute, …)`):
223
236
 
224
- 1. User navigates (link click, browser back, programmatic `router.push`).
225
- 2. Vue's `currentRoute` shallowRef is assigned a new object.
237
+ 1. The user navigates: a link click, the browser BACK button, or a `router.push` call in the code.
238
+ 2. Vue puts a new object in the `currentRoute` shallowRef.
226
239
  3. `watch` from `@vue/reactivity` fires synchronously (`scheduler: (job) => job()`).
227
- 4. Bridge sanitizes the path, looks up the state ID in `routeMap`.
228
- 5. Bridge sends `{ type: "play.route", to: "#stateId", params, query }` to the actor.
240
+ 4. The bridge cleans the path, then finds the state ID in `routeMap`.
241
+ 5. The bridge sends `{ type: "play.route", to: "#stateId", params, query }` to the actor.
229
242
 
230
243
  **Actor → Router** (TC39 Signal watcher):
231
244
 
232
- 1. Actor transitions; `actor.currentRoute` signal updates to a new state ID or path.
233
- 2. Signal watcher fires in a microtask.
234
- 3. Bridge resolves the navigation path via `resolveNavigationPath`.
235
- 4. Parameterized patterns without concrete params are skipped (returns `null`).
236
- 5. Bridge calls `router.push(resolvedPath)`.
245
+ 1. The actor makes a transition, and the `actor.currentRoute` signal gets a new state ID or a new path.
246
+ 2. The signal watcher fires in a microtask.
247
+ 3. The bridge resolves the navigation path with `resolveNavigationPath`.
248
+ 4. The bridge skips a parameterized pattern that has no concrete params, and `resolveNavigationPath` returns `null`.
249
+ 5. The bridge calls `router.push(resolvedPath)`.
237
250
 
238
251
  ### Echo suppression
239
252
 
240
- `lastSyncedPath` is set before every `router.push()` call. When the Vue watcher subsequently fires with the same path (the router echoing the actor-initiated push), the `sanitizedPath === lastSyncedPath` check short-circuits before any event is sent.
253
+ The bridge sets `lastSyncedPath` before every `router.push()` call. The Vue watcher then fires with the same path, because the router repeats the push of the actor. The `sanitizedPath === lastSyncedPath` check stops the bridge before it sends an event.
241
254
 
242
255
  ### Vue effect scope
243
256
 
244
- The `watch` watcher runs inside a dedicated `effectScope()`. Calling `disconnect()` / `dispose()` calls `scope.stop()`, fully removing the watcher without leaking into the global Vue effect scope.
257
+ The `watch` watcher runs inside its own `effectScope()`. `disconnect()` and `dispose()` call `scope.stop()`. This removes the watcher completely, and nothing stays in the global Vue effect scope.
245
258
 
246
259
  ## Testing
247
260
 
@@ -256,7 +269,7 @@ pnpm --filter @xmachines/play-vue-router run test:watch
256
269
  pnpm --filter @xmachines/play-vue-router run test:coverage
257
270
  ```
258
271
 
259
- Test files use Vitest with jsdom and `@vue/test-utils`. Integration tests (`test/integration.test.ts`) use real Vue Router instances with SFC fixtures.
272
+ The test files use Vitest with jsdom and `@vue/test-utils`. The integration tests (`test/integration.test.ts`) use a real Vue Router instance with an SFC fixture.
260
273
 
261
274
  ## Classes
262
275
 
@@ -274,17 +287,13 @@ Test files use Vitest with jsdom and `@vue/test-utils`. Integration tests (`test
274
287
  ## Type Aliases
275
288
 
276
289
  - [~~RoutableActor~~](type-aliases/RoutableActor.md)
290
+ - [~~VueRouteMap~~](type-aliases/VueRouteMap.md)
277
291
 
278
292
  ## Variables
279
293
 
280
294
  - [PlayRouterProvider](variables/PlayRouterProvider.md)
295
+ - [~~VueRouteMap~~](variables/VueRouteMap.md)
281
296
 
282
297
  ## Functions
283
298
 
284
299
  - [createRouteMap](functions/createRouteMap.md)
285
-
286
- ## References
287
-
288
- ### VueRouteMap
289
-
290
- Renames and re-exports [RouteMap](classes/RouteMap.md)
@@ -2,32 +2,33 @@
2
2
 
3
3
  # Class: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/base-route-map.ts#L101)
5
+ Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/base-route-map.ts#L105)
6
6
 
7
- Shared bidirectional route map base class.
7
+ The shared base class of the route map for both directions.
8
8
 
9
- All framework adapters use this class as their route map they add no logic of their
10
- own and inherit the full public API from here.
9
+ Every framework adapter uses this class as its route map. An adapter adds no logic
10
+ of its own, and it inherits the complete public API from here.
11
11
 
12
- **Lookup strategy:**
12
+ **The strategy of a lookup:**
13
13
 
14
- - Static paths (no `:param`)O(1) `Map` lookup
15
- - Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
16
- of routes sharing the same first path segment
17
- - Results are cached after the first match in an LRU cache (default 500 entries,
18
- configurable via the `cacheSize` constructor option)
14
+ - A static path, without a `:param` → a `Map` lookup in O(1)
15
+ - A dynamic path a scan of the bucket index in O(k), with `URLPattern`, where
16
+ `k` is the number of the routes with the same first path segment
17
+ - The class keeps each result of a first match in an LRU cache. The default size
18
+ is 500 entries, and the `cacheSize` constructor option changes it
19
19
 
20
- **Pattern syntax** (`:param` / `:param?` / `*`):
20
+ **The syntax of a pattern** (`:param`, `:param?`, and `*`):
21
21
 
22
- - `:param` — required segment, matches exactly one non-`/` segment
23
- - `:param?` — optional segment, matches zero or one non-`/` segment
24
- - `*` — wildcard, matches any number of segments (URLPattern semantics)
22
+ - `:param` — a necessary segment. It matches exactly one segment without a `/`
23
+ - `:param?` — an optional segment. It matches zero segments or one segment without a `/`
24
+ - `*` — a wildcard. It matches each number of segments, as URLPattern defines
25
25
 
26
- **StateId forms:** stateIds may be registered and looked up in either
27
- `"#stateId"` or `"stateId"` form — `RouteMap` canonicalizes internally.
28
- `getStateIdByPath` returns the stateId exactly as registered;
29
- `getPathByStateId` accepts both forms. Registering the same stateId in both
30
- forms refers to one entry (the later registration wins for reverse lookup).
26
+ **The forms of a stateId:** you can register a stateId, and you can look one up,
27
+ in the form `"#stateId"` or in the form `"stateId"`. `RouteMap` makes the
28
+ canonical form itself. `getStateIdByPath` returns the stateId exactly as you
29
+ registered it, and `getPathByStateId` accepts both forms. A registration of the
30
+ same stateId in both forms gives one entry, and the later registration wins for
31
+ the lookup in the other direction.
31
32
 
32
33
  ## Example
33
34
 
@@ -57,21 +58,22 @@ map.getPathByStateId("missing"); // null
57
58
  new RouteMap(mappings, options?): RouteMap;
58
59
  ```
59
60
 
60
- Defined in: [play-router/src/base-route-map.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/base-route-map.ts#L127)
61
+ Defined in: [play-router/src/base-route-map.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/base-route-map.ts#L133)
61
62
 
62
- Build a route map from an array of state ID path mappings.
63
+ Builds a route map from an array of the mappings between a state ID and a path.
63
64
 
64
- Static paths (no `:param`) are indexed in an O(1) `Map`.
65
- Parameterized paths are compiled to `URLPattern` and grouped into first-segment
66
- buckets for efficient candidate selection.
65
+ The constructor puts each static path, which holds no `:param`, into a `Map` for a
66
+ lookup in O(1). It compiles each parameterized path to a `URLPattern`, and it
67
+ groups the patterns into the buckets of the first segment. The selection of the
68
+ candidates is therefore efficient.
67
69
 
68
70
  #### Parameters
69
71
 
70
- | Parameter | Type | Description |
71
- | -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
72
- | `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
73
- | `options` | \{ `cacheSize?`: `number`; \} | Optional configuration. `options.cacheSize`: Maximum number of resolved parameterized path lookups to cache. Defaults to `500`. Increase for applications with many unique parameterized URL values (e.g. user profile pages with thousands of distinct IDs). After eviction the path falls back to the O(k) bucket pattern scan correct but slower. Minimum effective value is `1` (QuickLRU constraint). |
74
- | `options.cacheSize?` | `number` | - |
72
+ | Parameter | Type | Description |
73
+ | -------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
74
+ | `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | The array of the `{ stateId, path }` entries. The order gives the priority when more than one pattern can match the same path. |
75
+ | `options` | \{ `cacheSize?`: `number`; \} | The optional configuration. `options.cacheSize`: the maximum number of the resolved parameterized path lookups in the cache. The default is `500`. Raise it for an application with many different values in a parameterized URL, for example a page of a user profile with thousands of different IDs. After an eviction, the path goes to the bucket pattern scan in O(k) again, which is correct but slower. The smallest effective value is `1`, because QuickLRU requires it. |
76
+ | `options.cacheSize?` | `number` | - |
75
77
 
76
78
  #### Returns
77
79
 
@@ -85,31 +87,31 @@ buckets for efficient candidate selection.
85
87
  getPathByStateId(stateId): string | null;
86
88
  ```
87
89
 
88
- Defined in: [play-router/src/base-route-map.ts:218](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/base-route-map.ts#L218)
90
+ Defined in: [play-router/src/base-route-map.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/base-route-map.ts#L225)
89
91
 
90
- Look up the path pattern registered for a state ID.
92
+ Returns the path pattern of a state ID.
91
93
 
92
- Accepts the stateId in either `"#stateId"` or `"stateId"` form regardless of
93
- which form was used at registration lookups are canonicalized internally,
94
- so consumers never need to try both forms.
94
+ The method accepts the stateId in the form `"#stateId"` and in the form
95
+ `"stateId"`, and the form of the registration has no effect. The method makes the
96
+ canonical form itself. Therefore a consumer tries never both forms.
95
97
 
96
98
  #### Parameters
97
99
 
98
- | Parameter | Type | Description |
99
- | --------- | -------- | --------------------------------------------------------- |
100
- | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
100
+ | Parameter | Type | Description |
101
+ | --------- | -------- | --------------------------------------------------------------------------- |
102
+ | `stateId` | `string` | The state ID of the state machine, for example `"profile"` or `"#settings"` |
101
103
 
102
104
  #### Returns
103
105
 
104
106
  `string` \| `null`
105
107
 
106
- The registered path pattern, or `null` if the state ID is unknown
108
+ The registered path pattern, or `null` when the state ID is unknown
107
109
 
108
110
  #### Example
109
111
 
110
112
  ```typescript
111
113
  map.getPathByStateId("profile"); // "/profile/:userId"
112
- map.getPathByStateId("#profile"); // "/profile/:userId" (same entry)
114
+ map.getPathByStateId("#profile"); // "/profile/:userId" — the same entry
113
115
  map.getPathByStateId("missing"); // null
114
116
  ```
115
117
 
@@ -121,25 +123,25 @@ map.getPathByStateId("missing"); // null
121
123
  getStateIdByPath(path): string | null;
122
124
  ```
123
125
 
124
- Defined in: [play-router/src/base-route-map.ts:178](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/base-route-map.ts#L178)
126
+ Defined in: [play-router/src/base-route-map.ts:185](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/base-route-map.ts#L185)
125
127
 
126
- Resolve a URL path to its mapped state ID.
128
+ Resolves a URL path to its state ID.
127
129
 
128
- Strips query strings and hash fragments before matching. Tries an O(1) exact
129
- lookup first, then falls back to bucket-indexed pattern matching. Results are
130
- cached after the first pattern match.
130
+ The method removes the query string and the hash fragment before the match. It
131
+ tries an exact lookup in O(1) first, then it uses the pattern match on the bucket
132
+ index. It keeps each result of a first pattern match in the cache.
131
133
 
132
134
  #### Parameters
133
135
 
134
- | Parameter | Type | Description |
135
- | --------- | -------- | ------------------------------------------------------------------------------ |
136
- | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
136
+ | Parameter | Type | Description |
137
+ | --------- | -------- | -------------------------------------------------------------------------------------- |
138
+ | `path` | `string` | The URL pathname. It can hold a query and a hash, for example `"/profile/123?ref=nav"` |
137
139
 
138
140
  #### Returns
139
141
 
140
142
  `string` \| `null`
141
143
 
142
- The mapped state ID, or `null` if no route matches
144
+ The state ID of the path, or `null` when no route matches
143
145
 
144
146
  #### Example
145
147
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  # Class: VueRouterBridge
4
4
 
5
- Defined in: [play-vue-router/src/vue-router-bridge.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-vue-router/src/vue-router-bridge.ts#L32)
5
+ Defined in: [play-vue-router/src/vue-router-bridge.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-vue-router/src/vue-router-bridge.ts#L35)
6
6
 
7
7
  @xmachines/play-vue-router - Vue Router 4.x adapter for XMachines Play
8
8
 
9
- Provides bidirectional integration between Vue Router and XMachines state machines.
9
+ It integrates Vue Router with an XMachines state machine, in both directions.
10
10
 
11
11
  ## Extends
12
12
 
@@ -23,7 +23,7 @@ new VueRouterBridge(
23
23
  routeMap): VueRouterBridge;
24
24
  ```
25
25
 
26
- Defined in: [play-vue-router/src/vue-router-bridge.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-vue-router/src/vue-router-bridge.ts#L41)
26
+ Defined in: [play-vue-router/src/vue-router-bridge.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-vue-router/src/vue-router-bridge.ts#L44)
27
27
 
28
28
  #### Parameters
29
29
 
@@ -49,21 +49,23 @@ Defined in: [play-vue-router/src/vue-router-bridge.ts:41](https://gitlab.com/xma
49
49
  connect(): void;
50
50
  ```
51
51
 
52
- Defined in: [play-router/src/router-bridge-base.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/router-bridge-base.ts#L151)
52
+ Defined in: [play-router/src/router-bridge-base.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/router-bridge-base.ts#L158)
53
53
 
54
- Connect the router bridge to the Actor.
54
+ Connects the router bridge to the Actor.
55
55
 
56
- Sets up the TC39 Signal watcher for actor router direction and
57
- starts watching router changes (framework-specific).
56
+ The method installs the TC39 Signal watcher of the direction from the actor to the
57
+ router. It then starts the watch of the router changes, which each framework does
58
+ in its own way.
58
59
 
59
- Ordering here is part of the bridge contract:
60
+ The order of these steps is part of the contract of the bridge:
60
61
 
61
- - `lastSyncedPath` is seeded in the constructor from `actor.currentRoute`
62
- - the actor watcher is installed before adapter router subscriptions
63
- - initial sync then resolves deep-link vs restore using `actor.initialRoute`
62
+ - The constructor seeds `lastSyncedPath` from `actor.currentRoute`
63
+ - The method installs the actor watcher before the router subscriptions of the adapter
64
+ - The first synchronization then separates a deep link from a restore, with `actor.initialRoute`
64
65
 
65
- Adapters that need custom initial-sync behavior should override
66
- `getInitialRouterPath()` rather than reordering `connect()` steps.
66
+ An adapter that needs a different behavior of the first synchronization overrides
67
+ `getInitialRouterPath()`. It does not change the order of the steps of
68
+ `connect()`.
67
69
 
68
70
  #### Returns
69
71
 
@@ -81,11 +83,12 @@ Adapters that need custom initial-sync behavior should override
81
83
  disconnect(): void;
82
84
  ```
83
85
 
84
- Defined in: [play-router/src/router-bridge-base.ts:256](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/router-bridge-base.ts#L256)
86
+ Defined in: [play-router/src/router-bridge-base.ts:270](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/router-bridge-base.ts#L270)
85
87
 
86
- Disconnect the router bridge from the Actor.
88
+ Disconnects the router bridge from the Actor.
87
89
 
88
- Stops signal watching and unregisters framework-specific router listener.
90
+ The method stops the watch of the signal, and it removes the router listener of the
91
+ framework.
89
92
 
90
93
  #### Returns
91
94
 
@@ -97,16 +100,20 @@ Stops signal watching and unregisters framework-specific router listener.
97
100
 
98
101
  ---
99
102
 
100
- ### dispose()
103
+ ### ~~dispose()~~
101
104
 
102
105
  ```ts
103
106
  dispose(): void;
104
107
  ```
105
108
 
106
- Defined in: [play-vue-router/src/vue-router-bridge.ts:203](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-vue-router/src/vue-router-bridge.ts#L203)
109
+ Defined in: [play-vue-router/src/vue-router-bridge.ts:215](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-vue-router/src/vue-router-bridge.ts#L215)
107
110
 
108
- Cleanup alias for Vue component lifecycle (`onUnmounted(() => bridge.dispose())`).
111
+ The cleanup alias for the Vue component lifecycle (`onUnmounted(() => bridge.dispose())`).
109
112
 
110
113
  #### Returns
111
114
 
112
115
  `void`
116
+
117
+ #### Deprecated
118
+
119
+ Use [disconnect](#disconnect). Will be removed in the next major.
@@ -6,27 +6,28 @@
6
6
  function createRouteMap(machine, options?): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/create-route-map.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/create-route-map.ts#L45)
9
+ Defined in: [play-router/src/create-route-map.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/create-route-map.ts#L47)
10
10
 
11
- Create a `RouteMap` from an XState state machine.
11
+ Creates a `RouteMap` from an XState state machine.
12
12
 
13
- Extracts all routable states (those with `meta.route`) and builds a bidirectional
14
- path stateId lookup structure. The returned map is used by `RouterBridgeBase`
15
- subclasses to translate browser URL changes into `play.route` actor events and
16
- vice-versa.
13
+ The function reads every state with a route, which means each state with a
14
+ `meta.route` field. It then builds the lookup structure between a path and a
15
+ stateId, for both directions. A subclass of `RouterBridgeBase` uses the map: it
16
+ converts each change of the browser URL into a `play.route` actor event, and each
17
+ actor route into a URL.
17
18
 
18
19
  ## Parameters
19
20
 
20
- | Parameter | Type | Description |
21
- | ---------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
22
- | `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v5 state machine with `meta.route` annotations on states. |
23
- | `options?` | [`RouteMapOptions`](../interfaces/RouteMapOptions.md) | Optional configuration. Pass `{ cacheSize }` to override the default LRU cache size for parameterized path lookups. |
21
+ | Parameter | Type | Description |
22
+ | ---------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
23
+ | `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | The XState v5 state machine, with a `meta.route` annotation on each state with a route. |
24
+ | `options?` | [`RouteMapOptions`](../interfaces/RouteMapOptions.md) | The optional configuration. Give `{ cacheSize }` to change the default size of the LRU cache of the parameterized path lookups. |
24
25
 
25
26
  ## Returns
26
27
 
27
28
  [`RouteMap`](../classes/RouteMap.md)
28
29
 
29
- A `RouteMap` for passing to any `RouterBridgeBase`-based adapter.
30
+ A `RouteMap` for each adapter on `RouterBridgeBase`.
30
31
 
31
32
  ## Example
32
33