@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-sveltekit-router
4
4
 
5
- SvelteKit router adapter for the XMachines Universal Player Architecture. Provides bidirectional synchronisation between a `RoutableActor`'s state machine routes and the browser URL via SvelteKit's `$app/navigation`.
5
+ SvelteKit router adapter for the XMachines Universal Player Architecture. It keeps the state machine routes of a `RoutableActor` and the browser URL in step, in both directions, through the `$app/navigation` module of SvelteKit.
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-sveltekit-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-sveltekit-router)
10
8
 
11
9
  ## Installation
12
10
 
@@ -14,7 +12,7 @@ Part of the [xmachines-js monorepo](../../README.md).
14
12
  pnpm add @xmachines/play-sveltekit-router
15
13
  ```
16
14
 
17
- **Peer dependencies** (must be installed separately):
15
+ **Peer dependencies.** Install them separately:
18
16
 
19
17
  ```bash
20
18
  pnpm add @sveltejs/kit svelte xstate
@@ -29,6 +27,7 @@ pnpm add @sveltejs/kit svelte xstate
29
27
  ## Quick Start
30
28
 
31
29
  ```typescript
30
+ import { onDestroy } from "svelte";
32
31
  import { connectRouter, createRouteMap } from "@xmachines/play-sveltekit-router";
33
32
  import { definePlayer } from "@xmachines/play-xstate";
34
33
  import { myMachine } from "./machine.js";
@@ -48,27 +47,29 @@ const disconnect = connectRouter({ actor, routeMap });
48
47
  onDestroy(() => disconnect());
49
48
  ```
50
49
 
51
- The bridge synchronises in both directions:
50
+ The bridge works in both directions:
52
51
 
53
- - **URL → actor:** SvelteKit `afterNavigate` events are translated to `play.route` events and sent to the actor.
54
- - **Actor → URL:** Actor `currentRoute` signal changes are reflected to the browser URL via `goto()`.
52
+ - **URL → actor:** the bridge converts each SvelteKit `afterNavigate` event into a `play.route` event, then sends it to the actor.
53
+ - **Actor → URL:** the bridge writes each change of the actor `currentRoute` signal to the browser URL with `goto()`.
55
54
 
56
55
  ## Usage
57
56
 
58
57
  ### `connectRouter(options)` — high-level API
59
58
 
60
- The primary integration point. Instantiates a `SvelteKitRouterBridge`, calls `connect()`, and returns a cleanup function.
59
+ This function is the primary integration point. It creates a `SvelteKitRouterBridge`, calls `connect()`, and returns a cleanup function.
61
60
 
62
61
  ```typescript
62
+ import { onDestroy } from "svelte";
63
63
  import { connectRouter, createRouteMap } from "@xmachines/play-sveltekit-router";
64
64
 
65
+ // machine and actor as in the Quick Start above
65
66
  const routeMap = createRouteMap(machine);
66
67
 
67
68
  // In a Svelte component or SvelteKit layout
68
69
  const disconnect = connectRouter({ actor, routeMap });
69
70
 
70
- // Pass an explicit location for SSR or test environments
71
- const disconnect = connectRouter({
71
+ // Or pass an explicit location for SSR or test environments
72
+ const disconnectSsr = connectRouter({
72
73
  actor,
73
74
  routeMap,
74
75
  location: { pathname: "/dashboard", search: "?tab=stats" },
@@ -80,19 +81,20 @@ onDestroy(() => disconnect());
80
81
 
81
82
  **`ConnectRouterOptions`:**
82
83
 
83
- | Property | Type | Required | Description |
84
- | ---------- | ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- |
85
- | `actor` | `RoutableActor` | Yes | The XMachines actor to synchronise with the router |
86
- | `routeMap` | `RouteMap` | Yes | Bidirectional state ID URL path mapping |
87
- | `location` | `LocationLike \| null` | No | Location stub for initial URL reads. Defaults to `globalThis.location`. Pass a mock in tests or a stub in SSR environments. |
84
+ | Property | Type | Required | Description |
85
+ | ---------- | ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
86
+ | `actor` | `RoutableActor` | Yes | The XMachines actor that the bridge keeps in step with the router |
87
+ | `routeMap` | `RouteMap` | Yes | The bidirectional map between the state IDs and the URL paths |
88
+ | `location` | `LocationLike \| null` | No | The location stub for the initial URL reads. The default is `globalThis.location`. Give a mock in a test, or a stub in an SSR environment. |
88
89
 
89
90
  ### `SvelteKitRouterBridge` — low-level class
90
91
 
91
- Extends `RouterBridgeBase` from `@xmachines/play-router`. Use directly when you need fine-grained control over the connection lifecycle.
92
+ This class extends `RouterBridgeBase` from `@xmachines/play-router`. Use it directly when you need more control over the connection lifecycle.
92
93
 
93
94
  ```typescript
94
95
  import { SvelteKitRouterBridge, createRouteMap } from "@xmachines/play-sveltekit-router";
95
96
 
97
+ // machine and actor as in the Quick Start above
96
98
  const routeMap = createRouteMap(machine);
97
99
  const bridge = new SvelteKitRouterBridge(actor, routeMap, location);
98
100
  bridge.connect();
@@ -104,12 +106,12 @@ bridge.disconnect();
104
106
  **SvelteKit integration details:**
105
107
 
106
108
  - `navigateRouter` → `goto(path, { noScroll: true, keepFocus: true })`
107
- - `watchRouterChanges` → registers an `afterNavigate` callback via an indirection cell, avoiding direct `this` capture
108
- - `unwatchRouterChanges` → nulls the indirection cell, releasing the bridge reference before component unmount (since SvelteKit provides no programmatic cancel API for `afterNavigate`)
109
+ - `watchRouterChanges` → registers an `afterNavigate` callback through an indirection cell, which prevents a direct capture of `this`
110
+ - `unwatchRouterChanges` → sets the indirection cell to null, which releases the bridge reference before the component unmounts (SvelteKit has no API to cancel `afterNavigate`)
109
111
 
110
112
  ### `createRouteMap(machine)`
111
113
 
112
- Factory that builds a `RouteMap` from an XState machine definition. State route patterns are read from `state.meta.route`.
114
+ This factory builds a `RouteMap` from an XState machine definition. It reads each route pattern from `state.meta.route`.
113
115
 
114
116
  ```typescript
115
117
  import { createRouteMap } from "@xmachines/play-sveltekit-router";
@@ -130,7 +132,7 @@ const routeMap = createRouteMap(machine);
130
132
 
131
133
  ### `RouteMap` / `RouteMapping`
132
134
 
133
- Bidirectional state ID URL path mapping. Re-exported from `@xmachines/play-router`.
135
+ The bidirectional map between the state IDs and the URL paths. It comes from `@xmachines/play-router`.
134
136
 
135
137
  ```typescript
136
138
  import { RouteMap } from "@xmachines/play-sveltekit-router";
@@ -146,22 +148,23 @@ const routeMap = new RouteMap([
146
148
 
147
149
  ### Exported symbols
148
150
 
149
- | Export | Kind | Description |
150
- | ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
151
- | `connectRouter` | function | High-level factory — connects the SvelteKit router to an actor, returns a cleanup function |
152
- | `ConnectRouterOptions` | type | Options bag for `connectRouter` |
153
- | `createRouteMap` | function | Builds a `RouteMap` from an XState machine definition |
154
- | `RouteMap` | class | Bidirectional state ID URL path mapping (re-exported from `@xmachines/play-router`) |
155
- | `RouteMapping` | type | Single `{ stateId, path }` entry for `RouteMap` construction |
156
- | `RouteMapOptions` | type | Options for `RouteMap` construction |
157
- | `LocationLike` | type | Minimal `{ pathname, search }` interface for location stubs |
158
- | `PlayRouteEvent` | type | Event sent to the actor on URL change (`{ type: "play.route", to, params?, query? }`) |
159
- | `RouterBridge` | type | Interface implemented by `SvelteKitRouterBridge` |
160
- | `RoutableActor` | type | Minimal actor interface from `@xmachines/play-router``currentRoute`, `initialRoute`, `send(PlayRouteEvent)` |
151
+ | Export | Kind | Description |
152
+ | ----------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
153
+ | `connectRouter` | function | High-level factory — connects the SvelteKit router to an actor, returns a cleanup function |
154
+ | `SvelteKitRouterBridge` | class | The low-level bridge class. It extends `RouterBridgeBase`. Use it directly for full lifecycle control |
155
+ | `ConnectRouterOptions` | type | The options object for `connectRouter` |
156
+ | `createRouteMap` | function | Builds a `RouteMap` from an XState machine definition |
157
+ | `RouteMap` | class | Bidirectional state ID ↔ URL path mapping (re-exported from `@xmachines/play-router`) |
158
+ | `RouteMapping` | type | Single `{ stateId, path }` entry for `RouteMap` construction |
159
+ | `RouteMapOptions` | type | Options for `RouteMap` construction |
160
+ | `LocationLike` | type | Minimal `{ pathname, search }` interface for location stubs |
161
+ | `PlayRouteEvent` | type | The event that the bridge sends to the actor on a URL change (`{ type: "play.route", to, params?, query? }`) |
162
+ | `RouterBridge` | type | The interface that `SvelteKitRouterBridge` implements |
163
+ | `RoutableActor` | type | Minimal actor interface from `@xmachines/play-router` — `currentRoute`, `initialRoute`, `send(PlayRouteEvent)` |
161
164
 
162
165
  ## Demo
163
166
 
164
- A runnable Svelte 5 + SvelteKit router adapter demo is available in [`examples/demo/`](../../../examples/@xmachines/play-sveltekit-router-demo/README.md). To run it from the monorepo root:
167
+ [`examples/demo/`](../../../examples/@xmachines/play-sveltekit-router-demo/README.md) holds a runnable Svelte 5 and SvelteKit demo of the adapter. Run it from the monorepo root:
165
168
 
166
169
  ```bash
167
170
  pnpm install
@@ -191,6 +194,7 @@ MIT — see [LICENSE](LICENSE).
191
194
  ## Classes
192
195
 
193
196
  - [RouteMap](classes/RouteMap.md)
197
+ - [SvelteKitRouterBridge](classes/SvelteKitRouterBridge.md)
194
198
 
195
199
  ## Interfaces
196
200
 
@@ -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
 
@@ -0,0 +1,132 @@
1
+ [API](../../../README.md) / [@xmachines/play-sveltekit-router](../README.md) / SvelteKitRouterBridge
2
+
3
+ # Class: SvelteKitRouterBridge
4
+
5
+ Defined in: [play-sveltekit-router/src/sveltekit-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/sveltekit-router-bridge.ts#L40)
6
+
7
+ The SvelteKit router bridge — it connects the SvelteKit navigation to RouterBridgeBase.
8
+
9
+ It implements the three abstract methods:
10
+
11
+ - `navigateRouter` → `goto(path, { noScroll: true, keepFocus: true })`
12
+ - `watchRouterChanges` → an `afterNavigate()` subscription through an indirection cell
13
+ - `unwatchRouterChanges` → it sets the cell to null. This releases the bridge
14
+ reference of the registered closure before the component unmounts
15
+
16
+ It overrides two optional hooks:
17
+
18
+ - `getInitialRouterPath` → `loc.pathname`
19
+ - `getInitialRouterSearch` → `loc.search`
20
+
21
+ The bridge inherits the restore-or-deeplink detection and the `lastSyncedPath`
22
+ echo suppression from `RouterBridgeBase`.
23
+
24
+ ## Param
25
+
26
+ **actor**
27
+
28
+ A `Routable` actor.
29
+
30
+ ## Param
31
+
32
+ **routeMap**
33
+
34
+ The bidirectional route map.
35
+
36
+ ## Param
37
+
38
+ **loc**
39
+
40
+ The location-like object for the initial URL reads. The default
41
+ is `globalThis.location`. Give a mock in a test, or a stub in an SSR
42
+ environment.
43
+
44
+ ## Extends
45
+
46
+ - [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md)
47
+
48
+ ## Constructors
49
+
50
+ ### Constructor
51
+
52
+ ```ts
53
+ new SvelteKitRouterBridge(
54
+ actor,
55
+ routeMap,
56
+ loc?): SvelteKitRouterBridge;
57
+ ```
58
+
59
+ Defined in: [play-sveltekit-router/src/sveltekit-router-bridge.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/sveltekit-router-bridge.ts#L57)
60
+
61
+ #### Parameters
62
+
63
+ | Parameter | Type |
64
+ | ---------- | -------------------------------------------------------------------- |
65
+ | `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) |
66
+ | `routeMap` | [`RouteMap`](RouteMap.md) |
67
+ | `loc` | [`LocationLike`](../interfaces/LocationLike.md) \| `null` |
68
+
69
+ #### Returns
70
+
71
+ `SvelteKitRouterBridge`
72
+
73
+ #### Overrides
74
+
75
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
76
+
77
+ ## Methods
78
+
79
+ ### connect()
80
+
81
+ ```ts
82
+ connect(): void;
83
+ ```
84
+
85
+ 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)
86
+
87
+ Connects the router bridge to the Actor.
88
+
89
+ The method installs the TC39 Signal watcher of the direction from the actor to the
90
+ router. It then starts the watch of the router changes, which each framework does
91
+ in its own way.
92
+
93
+ The order of these steps is part of the contract of the bridge:
94
+
95
+ - The constructor seeds `lastSyncedPath` from `actor.currentRoute`
96
+ - The method installs the actor watcher before the router subscriptions of the adapter
97
+ - The first synchronization then separates a deep link from a restore, with `actor.initialRoute`
98
+
99
+ An adapter that needs a different behavior of the first synchronization overrides
100
+ `getInitialRouterPath()`. It does not change the order of the steps of
101
+ `connect()`.
102
+
103
+ #### Returns
104
+
105
+ `void`
106
+
107
+ #### Inherited from
108
+
109
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`connect`](../../play-router/classes/RouterBridgeBase.md#connect)
110
+
111
+ ---
112
+
113
+ ### disconnect()
114
+
115
+ ```ts
116
+ disconnect(): void;
117
+ ```
118
+
119
+ 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)
120
+
121
+ Disconnects the router bridge from the Actor.
122
+
123
+ The method stops the watch of the signal, and it removes the router listener of the
124
+ framework.
125
+
126
+ #### Returns
127
+
128
+ `void`
129
+
130
+ #### Inherited from
131
+
132
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
@@ -6,11 +6,11 @@
6
6
  function connectRouter(options): () => void;
7
7
  ```
8
8
 
9
- Defined in: [play-sveltekit-router/src/connect-router.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-sveltekit-router/src/connect-router.ts#L27)
9
+ Defined in: [play-sveltekit-router/src/connect-router.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/connect-router.ts#L28)
10
10
 
11
- Connect SvelteKit router to actor.
11
+ Connects the SvelteKit router to an actor.
12
12
 
13
- Returns a cleanup function. The public API surface is unchanged (D-14).
13
+ It returns a cleanup function. The public API surface stays as it was (D-14).
14
14
 
15
15
  ## Parameters
16
16
 
@@ -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
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  # Interface: ConnectRouterOptions
4
4
 
5
- Defined in: [play-sveltekit-router/src/connect-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-sveltekit-router/src/connect-router.ts#L4)
5
+ Defined in: [play-sveltekit-router/src/connect-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/connect-router.ts#L4)
6
6
 
7
7
  ## Properties
8
8
 
9
- | Property | Modifier | Type | Description | Defined in |
10
- | ------------------------------------------ | ---------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) | - | [play-sveltekit-router/src/connect-router.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-sveltekit-router/src/connect-router.ts#L5) |
12
- | <a id="property-location"></a> `location?` | `readonly` | [`LocationLike`](LocationLike.md) \| `null` | Location-like object for initial URL reads. Defaults to `globalThis.location`. Pass a mock in tests or a stub in SSR environments. | [play-sveltekit-router/src/connect-router.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-sveltekit-router/src/connect-router.ts#L11) |
13
- | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | - | [play-sveltekit-router/src/connect-router.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-sveltekit-router/src/connect-router.ts#L6) |
9
+ | Property | Modifier | Type | Description | Defined in |
10
+ | ------------------------------------------ | ---------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
+ | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) | - | [play-sveltekit-router/src/connect-router.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/connect-router.ts#L5) |
12
+ | <a id="property-location"></a> `location?` | `readonly` | [`LocationLike`](LocationLike.md) \| `null` | The location-like object for the initial URL reads. The default is `globalThis.location`. Give a mock in a test, or a stub in an SSR environment. | [play-sveltekit-router/src/connect-router.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/connect-router.ts#L12) |
13
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | - | [play-sveltekit-router/src/connect-router.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-sveltekit-router/src/connect-router.ts#L6) |
@@ -2,19 +2,19 @@
2
2
 
3
3
  # Interface: LocationLike
4
4
 
5
- Defined in: [play-router/src/types.ts:414](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/types.ts#L414)
5
+ Defined in: [play-router/src/types.ts:432](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/types.ts#L432)
6
6
 
7
- Minimal location interface required by adapters that read the current URL at
8
- `connect()` time. Injectable for SSR and testing pass a mock instead of the
9
- global `location` when the DOM is unavailable.
7
+ The minimal location interface of an adapter that reads the current URL at the
8
+ moment of `connect()`. You can inject it for SSR and for a test: give a mock in
9
+ place of the global `location` when no DOM is available.
10
10
 
11
- Defined structurally (no `Location` reference) so this package compiles without
12
- the DOM lib.
11
+ The definition is structural, and it holds no reference to `Location`. This package
12
+ therefore compiles without the DOM lib.
13
13
 
14
14
  ## Example
15
15
 
16
16
  ```typescript
17
- // SSR / test — injected mock
17
+ // SSR or a test — an injected mock
18
18
  const mockLoc: LocationLike = { pathname: "/dashboard", search: "?tab=posts" };
19
19
  connectRouter({ actor, routeMap, location: mockLoc });
20
20
  ```
@@ -23,5 +23,5 @@ connectRouter({ actor, routeMap, location: mockLoc });
23
23
 
24
24
  | Property | Modifier | Type | Defined in |
25
25
  | ----------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
26
- | <a id="property-pathname"></a> `pathname` | `readonly` | `string` | [play-router/src/types.ts:415](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/types.ts#L415) |
27
- | <a id="property-search"></a> `search` | `readonly` | `string` | [play-router/src/types.ts:416](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-router/src/types.ts#L416) |
26
+ | <a id="property-pathname"></a> `pathname` | `readonly` | `string` | [play-router/src/types.ts:433](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/types.ts#L433) |
27
+ | <a id="property-search"></a> `search` | `readonly` | `string` | [play-router/src/types.ts:434](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.0/packages/play-router/src/types.ts#L434) |