@xmachines/docs 1.0.0-beta.24 → 1.0.0-beta.26

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 (250) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +10 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/README.md +4 -0
  4. package/api/@xmachines/play-actor/classes/AbstractActor.md +49 -92
  5. package/api/@xmachines/play-actor/functions/typedSpec.md +57 -0
  6. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +9 -18
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -21
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +6 -6
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +5 -6
  10. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  11. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  12. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  13. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
  14. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
  15. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
  16. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  17. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  18. package/api/@xmachines/play-dom-router/README.md +10 -0
  19. package/api/@xmachines/play-dom-router/functions/connectRouter.md +18 -46
  20. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  21. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +38 -0
  22. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  23. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  24. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  25. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  26. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +119 -0
  27. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +114 -0
  28. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +50 -0
  29. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  30. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  31. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  32. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +9 -0
  33. package/api/@xmachines/play-react/README.md +4 -4
  34. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
  35. package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
  36. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  37. package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
  38. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  39. package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
  40. package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
  41. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  42. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  43. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  44. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
  45. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  46. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  47. package/api/@xmachines/play-react-router/README.md +5 -1
  48. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +102 -25
  49. package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -33
  50. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +8 -1
  51. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +21 -11
  52. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  53. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  54. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +18 -8
  55. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  56. package/api/@xmachines/play-router/README.md +42 -5
  57. package/api/@xmachines/play-router/classes/BaseRouteMap.md +12 -17
  58. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +100 -25
  59. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  60. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  61. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  62. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +38 -0
  63. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +45 -0
  64. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  65. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  66. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  67. package/api/@xmachines/play-router/functions/extractRouteParams.md +46 -0
  68. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  69. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  70. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  71. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  72. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  73. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  74. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  75. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  76. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  77. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  78. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  79. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  80. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  81. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  82. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  83. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  84. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  85. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  86. package/api/@xmachines/play-router/interfaces/{BaseRouteMapping.md → RouteMapping.md} +5 -5
  87. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  88. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  89. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  90. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  91. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +6 -6
  92. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  93. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  94. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  95. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  96. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  97. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  98. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  99. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  100. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  101. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  102. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +6 -0
  103. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
  104. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
  105. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
  106. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
  107. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
  108. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
  109. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
  110. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
  111. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
  112. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
  113. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
  114. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
  115. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
  116. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
  117. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  118. package/api/@xmachines/play-solid/README.md +4 -4
  119. package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
  120. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  121. package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
  122. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
  123. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  124. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
  125. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  126. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  127. package/api/@xmachines/play-solid-router/README.md +2 -2
  128. package/api/@xmachines/play-solid-router/classes/RouteMap.md +13 -26
  129. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +121 -46
  130. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  131. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +15 -9
  132. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +47 -92
  133. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  134. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  135. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +19 -6
  136. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  137. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  138. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +21 -18
  139. package/api/@xmachines/play-svelte/README.md +119 -0
  140. package/api/@xmachines/play-svelte/functions/defineRegistry.md +54 -0
  141. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  142. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  143. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +22 -0
  144. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  145. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  146. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  147. package/api/@xmachines/play-svelte/variables/getBoundProp.md +7 -0
  148. package/api/@xmachines/play-svelte-spa-router/README.md +54 -0
  149. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +137 -0
  150. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  151. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +38 -0
  152. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  153. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +119 -0
  154. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  155. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  156. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  157. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  158. package/api/@xmachines/play-svelte-spa-router-demo/README.md +23 -0
  159. package/api/@xmachines/play-sveltekit-router/README.md +54 -0
  160. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +137 -0
  161. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  162. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +38 -0
  163. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  164. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  165. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +119 -0
  166. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  167. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  168. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  169. package/api/@xmachines/play-sveltekit-router-demo/README.md +23 -0
  170. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  171. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
  172. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
  173. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  174. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  175. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
  176. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  177. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  178. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  179. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
  180. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  181. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  182. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  183. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +6 -26
  184. package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
  185. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
  186. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
  187. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  188. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
  189. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  190. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  191. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
  192. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  193. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  194. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  195. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +23 -24
  196. package/api/@xmachines/play-vue/README.md +4 -4
  197. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  198. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  199. package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
  200. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
  201. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  202. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  203. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
  204. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  205. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  206. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  207. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  208. package/api/@xmachines/play-vue-router/README.md +2 -2
  209. package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
  210. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
  211. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
  212. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  213. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  214. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
  215. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  216. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  217. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  218. package/api/@xmachines/play-xstate/README.md +15 -15
  219. package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
  220. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
  221. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  222. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  223. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  224. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  225. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  226. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  227. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
  228. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  229. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  230. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  231. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  232. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  233. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  234. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +14 -12
  235. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  236. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  237. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  238. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  239. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  240. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  241. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
  242. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  243. package/api/README.md +9 -4
  244. package/api/llms.txt +6 -3
  245. package/examples/README.md +5 -0
  246. package/examples/multi-router-integration.md +34 -6
  247. package/examples/routing-patterns.md +6 -4
  248. package/package.json +2 -2
  249. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  250. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Abstract Class: RouterBridgeBase
4
4
 
5
- Defined in: [router-bridge-base.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L87)
5
+ Defined in: [router-bridge-base.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L84)
6
6
 
7
7
  Abstract base class for all `@xmachines` router adapter bridges.
8
8
 
@@ -30,7 +30,7 @@ between frameworks.
30
30
  new RouterBridgeBase(actor, routeMap): RouterBridgeBase;
31
31
  ```
32
32
 
33
- Defined in: [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L101)
33
+ Defined in: [router-bridge-base.ts:98](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L98)
34
34
 
35
35
  #### Parameters
36
36
 
@@ -49,15 +49,15 @@ Defined in: [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-
49
49
 
50
50
  | Property | Modifier | Type | Default value | Description | Defined in |
51
51
  | --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
52
- | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`. | [router-bridge-base.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L102) |
53
- | <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L90) |
54
- | <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L89) |
55
- | <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L92) |
56
- | <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [router-bridge-base.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L91) |
57
- | <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent. | [router-bridge-base.ts:103](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L103) |
58
- | `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L105) |
59
- | `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L104) |
60
- | <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [router-bridge-base.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L93) |
52
+ | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`. | [router-bridge-base.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L99) |
53
+ | <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L87) |
54
+ | <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L86) |
55
+ | <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [router-bridge-base.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L89) |
56
+ | <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [router-bridge-base.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L88) |
57
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent. | [router-bridge-base.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L100) |
58
+ | `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L102) |
59
+ | `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L101) |
60
+ | <a id="property-routewatcher"></a> `routeWatcher` | `protected` | [`RouteWatcherHandle`](../interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [router-bridge-base.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L90) |
61
61
 
62
62
  ## Methods
63
63
 
@@ -67,7 +67,7 @@ Defined in: [router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-
67
67
  connect(): void;
68
68
  ```
69
69
 
70
- Defined in: [router-bridge-base.ts:129](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L129)
70
+ Defined in: [router-bridge-base.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L126)
71
71
 
72
72
  Connect the router bridge to the Actor.
73
73
 
@@ -99,7 +99,7 @@ Adapters that need custom initial-sync behavior should override
99
99
  disconnect(): void;
100
100
  ```
101
101
 
102
- Defined in: [router-bridge-base.ts:197](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L197)
102
+ Defined in: [router-bridge-base.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L209)
103
103
 
104
104
  Disconnect the router bridge from the Actor.
105
105
 
@@ -121,14 +121,14 @@ Stops signal watching and unregisters framework-specific router listener.
121
121
  protected extractParams(pathname, stateId): Record<string, string>;
122
122
  ```
123
123
 
124
- Defined in: [router-bridge-base.ts:300](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L300)
124
+ Defined in: [router-bridge-base.ts:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L318)
125
125
 
126
126
  Extract path parameters from URL using the URLPattern API.
127
127
 
128
128
  Accesses `globalThis.URLPattern` at runtime — no polyfill is imported by this
129
- library. If `URLPattern` is unavailable (Node.js < 24, older browsers without a
130
- polyfill), this method returns `{}` silently (graceful degradation routing still
131
- works, params will be empty).
129
+ library. If `URLPattern` is unavailable and the matched route has parameterized
130
+ segments, a `URLPatternUnavailableError` is throwncallers must provide a polyfill
131
+ for environments without native URLPattern support (Node.js < 24, older browsers).
132
132
 
133
133
  #### Parameters
134
134
 
@@ -141,7 +141,11 @@ works, params will be empty).
141
141
 
142
142
  `Record`\<`string`, `string`\>
143
143
 
144
- Extracted path parameters, or empty object if URLPattern is unavailable or no match
144
+ Extracted path parameters, or empty object if no match
145
+
146
+ #### Throws
147
+
148
+ When URLPattern is absent and the route is parameterized
145
149
 
146
150
  ---
147
151
 
@@ -151,7 +155,7 @@ Extracted path parameters, or empty object if URLPattern is unavailable or no ma
151
155
  protected extractQuery(search): Record<string, string>;
152
156
  ```
153
157
 
154
- Defined in: [router-bridge-base.ts:321](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L321)
158
+ Defined in: [router-bridge-base.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L355)
155
159
 
156
160
  Extract query parameters from URL search string.
157
161
 
@@ -175,7 +179,7 @@ Extracted query parameters or empty object
175
179
  protected getInitialRouterPath(): string | null | undefined;
176
180
  ```
177
181
 
178
- Defined in: [router-bridge-base.ts:368](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L368)
182
+ Defined in: [router-bridge-base.ts:412](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L412)
179
183
 
180
184
  Return the router's current pathname at connect() time.
181
185
 
@@ -201,13 +205,39 @@ bridges that have not yet implemented this hook.
201
205
 
202
206
  ---
203
207
 
208
+ ### getInitialRouterSearch()
209
+
210
+ ```ts
211
+ protected getInitialRouterSearch(): string | undefined;
212
+ ```
213
+
214
+ Defined in: [router-bridge-base.ts:429](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L429)
215
+
216
+ Return the router's current search string at connect() time.
217
+
218
+ Paired with `getInitialRouterPath()` — called once during connect() to pass
219
+ the initial URL query string to `syncActorFromRouter()`. If the router's current
220
+ URL has no search (or the subclass doesn't override this), returns `undefined`
221
+ and `syncActorFromRouter` will produce an empty `query: {}` in the event.
222
+
223
+ Subclasses that override `getInitialRouterPath()` and have a query string
224
+ available should also override this method.
225
+
226
+ #### Returns
227
+
228
+ `string` \| `undefined`
229
+
230
+ URL search string (e.g. `"?tab=security"`), or `undefined` if not available.
231
+
232
+ ---
233
+
204
234
  ### navigateRouter()
205
235
 
206
236
  ```ts
207
237
  abstract protected navigateRouter(path): void;
208
238
  ```
209
239
 
210
- Defined in: [router-bridge-base.ts:333](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L333)
240
+ Defined in: [router-bridge-base.ts:367](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L367)
211
241
 
212
242
  Navigate the framework router to the given path.
213
243
 
@@ -226,13 +256,48 @@ Must trigger the framework router's navigation (e.g., router.navigate(path)).
226
256
 
227
257
  ---
228
258
 
259
+ ### resolveNavigationPath()
260
+
261
+ ```ts
262
+ protected resolveNavigationPath(route): string | null;
263
+ ```
264
+
265
+ Defined in: [router-bridge-base.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L340)
266
+
267
+ Resolve an actor route value to a concrete URL path for navigation.
268
+
269
+ Bridges that receive raw `actor.currentRoute` values in `navigateRouter`
270
+ can call this to normalize stateIds (with or without `#` prefix) to paths.
271
+ Returns `null` when navigation is not possible:
272
+
273
+ - unknown stateId with no route map entry
274
+ - parameterized pattern (e.g. `/profile/:id`) — no concrete values available
275
+ - non-path string that isn't a known stateId
276
+
277
+ Route maps may store stateIds with or without the `#` prefix; both forms
278
+ are tried automatically.
279
+
280
+ #### Parameters
281
+
282
+ | Parameter | Type | Description |
283
+ | --------- | -------- | -------------------------------------------------------------- |
284
+ | `route` | `string` | Raw actor route value (stateId, `#`-stateId, or concrete path) |
285
+
286
+ #### Returns
287
+
288
+ `string` \| `null`
289
+
290
+ Concrete URL path, or `null` if navigation should be skipped
291
+
292
+ ---
293
+
229
294
  ### syncActorFromRouter()
230
295
 
231
296
  ```ts
232
297
  protected syncActorFromRouter(pathname, search?): void;
233
298
  ```
234
299
 
235
- Defined in: [router-bridge-base.ts:248](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L248)
300
+ Defined in: [router-bridge-base.ts:260](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L260)
236
301
 
237
302
  Sync actor state when router location changes.
238
303
 
@@ -258,7 +323,7 @@ Prevents circular updates via isProcessingNavigation flag.
258
323
  protected syncRouterFromActor(route): void;
259
324
  ```
260
325
 
261
- Defined in: [router-bridge-base.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L228)
326
+ Defined in: [router-bridge-base.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L240)
262
327
 
263
328
  Sync router location when actor route signal changes.
264
329
 
@@ -287,7 +352,7 @@ suppressed as circular echoes.
287
352
  abstract protected unwatchRouterChanges(): void;
288
353
  ```
289
354
 
290
- Defined in: [router-bridge-base.ts:348](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L348)
355
+ Defined in: [router-bridge-base.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L392)
291
356
 
292
357
  Stop watching for router location changes.
293
358
 
@@ -305,13 +370,23 @@ Called by disconnect(). Should clean up the framework-specific subscription.
305
370
  abstract protected watchRouterChanges(): void;
306
371
  ```
307
372
 
308
- Defined in: [router-bridge-base.ts:341](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-bridge-base.ts#L341)
373
+ Defined in: [router-bridge-base.ts:385](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L385)
309
374
 
310
375
  Start watching for router location changes.
311
376
 
312
377
  Called by connect(). Should set up the framework-specific subscription
313
378
  for location changes and call syncActorFromRouter() on each change.
314
379
 
380
+ **Implementations that call `syncActorFromRouter`** get `sanitizePathname`
381
+ applied automatically — no extra work needed.
382
+
383
+ **Implementations that bypass `syncActorFromRouter`** (e.g. `VueRouterBridge`,
384
+ which builds the `play.route` event directly from `afterEach` params) MUST
385
+ apply `sanitizePathname(path)` manually before processing the path. Skipping
386
+ this allows oversized or malformed paths through without the length/content
387
+ guards that protect the route-map lookup. Import `sanitizePathname` from
388
+ `@xmachines/play-router`.
389
+
315
390
  #### Returns
316
391
 
317
392
  `void`
@@ -9,7 +9,7 @@ function buildPlayRouteEvent(options): {
9
9
  } | null;
10
10
  ```
11
11
 
12
- Defined in: [router-sync.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L93)
12
+ Defined in: [router-sync.ts:140](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L140)
13
13
 
14
14
  Build a normalized `play.route` event from raw router/browser input.
15
15
 
@@ -6,7 +6,7 @@
6
6
  function buildRouteTree(routes): RouteTree;
7
7
  ```
8
8
 
9
- Defined in: [build-tree.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/build-tree.ts#L13)
9
+ Defined in: [build-tree.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/build-tree.ts#L13)
10
10
 
11
11
  Build hierarchical route tree from flat route list
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouteMap(routeTree): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/create-route-map.ts#L74)
9
+ Defined in: [create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map.ts#L74)
10
10
 
11
11
  Create a RouteMap from a RouteTree for efficient path lookups.
12
12
 
@@ -0,0 +1,38 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMapFromMachine
2
+
3
+ # Function: createRouteMapFromMachine()
4
+
5
+ ```ts
6
+ function createRouteMapFromMachine(machine): BaseRouteMap;
7
+ ```
8
+
9
+ Defined in: [create-route-map-from-machine.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-machine.ts#L26)
10
+
11
+ Create a `BaseRouteMap` from an XState state machine.
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.
17
+
18
+ ## Parameters
19
+
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
+
24
+ ## Returns
25
+
26
+ [`BaseRouteMap`](../classes/BaseRouteMap.md)
27
+
28
+ A `BaseRouteMap` for passing to any `RouterBridgeBase`-based adapter.
29
+
30
+ ## Example
31
+
32
+ ```typescript
33
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
34
+ import { connectRouter } from "@xmachines/play-dom-router";
35
+
36
+ const routeMap = createRouteMapFromMachine(myMachine);
37
+ const disconnect = connectRouter({ actor, router, routeMap });
38
+ ```
@@ -0,0 +1,45 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMapFromTree
2
+
3
+ # Function: createRouteMapFromTree()
4
+
5
+ ```ts
6
+ function createRouteMapFromTree(routeTree): BaseRouteMap;
7
+ ```
8
+
9
+ Defined in: [create-route-map-from-tree.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-tree.ts#L31)
10
+
11
+ Create a `BaseRouteMap` from a `RouteTree` node structure.
12
+
13
+ Used by framework-router adapters (React Router, TanStack Router) that pass a
14
+ `RouteTree` produced by `extractMachineRoutes()` rather than calling
15
+ `createRouteMapFromMachine()` directly.
16
+
17
+ Traverses all nodes collecting `{ stateId: node.id, path: node.fullPath }` pairs.
18
+ `node.fullPath` is always the absolute resolved path (e.g. `"/dashboard/overview"`),
19
+ which is what `BaseRouteMap` needs for browser URL matching. This matches the
20
+ behaviour of `createRouteMapFromMachine`, which also uses `node.fullPath`.
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | ----------- | ----------------------------------------- | ------------------------------------------------------ |
26
+ | `routeTree` | [`RouteTree`](../interfaces/RouteTree.md) | A `RouteTree` as returned by `extractMachineRoutes()`. |
27
+
28
+ ## Returns
29
+
30
+ [`BaseRouteMap`](../classes/BaseRouteMap.md)
31
+
32
+ A `BaseRouteMap` for use with any `RouterBridgeBase`-based adapter.
33
+
34
+ ## Example
35
+
36
+ ```typescript
37
+ // Preferred — single call for XState machines:
38
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
39
+ const routeMap = createRouteMapFromMachine(machine);
40
+
41
+ // Equivalent two-step form used by framework adapters:
42
+ import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
43
+ const routeTree = extractMachineRoutes(machine);
44
+ const routeMap = createRouteMapFromTree(routeTree); // uses node.fullPath (absolute)
45
+ ```
@@ -6,7 +6,7 @@
6
6
  function detectDuplicateRoutes(routes): void;
7
7
  ```
8
8
 
9
- Defined in: [validate-routes.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/validate-routes.ts#L51)
9
+ Defined in: [validate-routes.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L51)
10
10
 
11
11
  Detect duplicate route paths
12
12
 
@@ -6,7 +6,7 @@
6
6
  function extractMachineRoutes(machine): RouteTree;
7
7
  ```
8
8
 
9
- Defined in: [extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/extract-routes.ts#L93)
9
+ Defined in: [extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/extract-routes.ts#L93)
10
10
 
11
11
  Extract complete route tree from state machine graph
12
12
 
@@ -6,7 +6,7 @@
6
6
  function extractQuery(search): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [router-sync.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L74)
9
+ Defined in: [router-sync.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L121)
10
10
 
11
11
  Parse a URL search string into the plain object shape expected by
12
12
  `play.route` events.
@@ -0,0 +1,46 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / extractRouteParams
2
+
3
+ # Function: extractRouteParams()
4
+
5
+ ```ts
6
+ function extractRouteParams(pathname, pattern): Record<string, string>;
7
+ ```
8
+
9
+ Defined in: [router-sync.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L101)
10
+
11
+ Extract named path parameters from a URL using the URLPattern API.
12
+
13
+ Takes the pattern string directly — use this when the pattern is already known.
14
+ For extraction via a state ID lookup, see `RouterBridgeBase.extractParams`.
15
+
16
+ Undefined values (unmatched optional segments, e.g. `/settings` against
17
+ `/settings/:section?`) are omitted from the returned object.
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Description |
22
+ | ---------- | -------- | ---------------------------------------------------- |
23
+ | `pathname` | `string` | The concrete URL pathname (e.g. `/profile/alice`) |
24
+ | `pattern` | `string` | The URL pattern template (e.g. `/profile/:username`) |
25
+
26
+ ## Returns
27
+
28
+ `Record`\<`string`, `string`\>
29
+
30
+ A record of extracted parameter values, or `{}` for static patterns.
31
+
32
+ ## Throws
33
+
34
+ When `URLPattern` is absent and the pattern is parameterized.
35
+
36
+ ## Example
37
+
38
+ ```typescript
39
+ import { extractRouteParams } from "@xmachines/play-router";
40
+
41
+ extractRouteParams("/profile/alice", "/profile/:username");
42
+ // → { username: "alice" }
43
+
44
+ extractRouteParams("/settings", "/settings/:section?");
45
+ // → {} (optional param absent — not included)
46
+ ```
@@ -6,7 +6,7 @@
6
6
  function findRouteById(tree, id): RouteNode | undefined;
7
7
  ```
8
8
 
9
- Defined in: [find-route.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/find-route.ts#L52)
9
+ Defined in: [find-route.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/find-route.ts#L52)
10
10
 
11
11
  Find route node by state ID
12
12
 
@@ -6,7 +6,7 @@
6
6
  function findRouteByPath(tree, path): RouteNode | undefined;
7
7
  ```
8
8
 
9
- Defined in: [find-route.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/find-route.ts#L77)
9
+ Defined in: [find-route.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/find-route.ts#L77)
10
10
 
11
11
  Find route node by URL path
12
12
 
@@ -6,7 +6,7 @@
6
6
  function getNavigableRoutes(tree, stateId): RouteNode[];
7
7
  ```
8
8
 
9
- Defined in: [query.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/query.ts#L22)
9
+ Defined in: [query.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L22)
10
10
 
11
11
  Get all routes navigable from given state
12
12
 
@@ -6,7 +6,7 @@
6
6
  function getRoutableRoutes(tree): RouteNode[];
7
7
  ```
8
8
 
9
- Defined in: [query.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/query.ts#L67)
9
+ Defined in: [query.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L67)
10
10
 
11
11
  Get all routable routes from tree as flat array
12
12
 
@@ -6,7 +6,7 @@
6
6
  function getTransitionReachableRoutes(graph, stateId): string[];
7
7
  ```
8
8
 
9
- Defined in: [query.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/query.ts#L113)
9
+ Defined in: [query.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L113)
10
10
 
11
11
  Get routes reachable via transitions from current state
12
12
 
@@ -6,7 +6,7 @@
6
6
  function isRouteReachable(graph, fromStateId, toStateId): boolean;
7
7
  ```
8
8
 
9
- Defined in: [query.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/query.ts#L149)
9
+ Defined in: [query.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L149)
10
10
 
11
11
  Check if a route is reachable from current state via transitions
12
12
 
@@ -6,7 +6,7 @@
6
6
  function machineToGraph(machine): MachineGraph;
7
7
  ```
8
8
 
9
- Defined in: [machine-to-graph.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/machine-to-graph.ts#L70)
9
+ Defined in: [machine-to-graph.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/machine-to-graph.ts#L70)
10
10
 
11
11
  ## Parameters
12
12
 
@@ -6,7 +6,7 @@
6
6
  function routeExists(tree, path): boolean;
7
7
  ```
8
8
 
9
- Defined in: [query.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/query.ts#L89)
9
+ Defined in: [query.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/query.ts#L89)
10
10
 
11
11
  Validate route path exists in tree
12
12
 
@@ -6,7 +6,7 @@
6
6
  function sanitizePathname(pathname): string | null;
7
7
  ```
8
8
 
9
- Defined in: [router-sync.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L63)
9
+ Defined in: [router-sync.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L69)
10
10
 
11
11
  Normalize a pathname before route-map lookup.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function validateRouteFormat(routePath, stateId): void;
7
7
  ```
8
8
 
9
- Defined in: [validate-routes.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/validate-routes.ts#L14)
9
+ Defined in: [validate-routes.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L14)
10
10
 
11
11
  Validate route path format
12
12
 
@@ -6,7 +6,7 @@
6
6
  function validateStateExists(stateId, stateIds): void;
7
7
  ```
8
8
 
9
- Defined in: [validate-routes.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/validate-routes.ts#L32)
9
+ Defined in: [validate-routes.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/validate-routes.ts#L32)
10
10
 
11
11
  Validate state exists in state ID set
12
12
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  # Interface: BuildPlayRouteEventOptions
4
4
 
5
- Defined in: [router-sync.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L8)
5
+ Defined in: [router-sync.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L14)
6
6
 
7
7
  ## Properties
8
8
 
9
9
  | Property | Type | Defined in |
10
10
  | ----------------------------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-pathname"></a> `pathname` | `string` | [router-sync.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L9) |
12
- | <a id="property-resolve"></a> `resolve` | (`sanitizedPathname`) => [`RouteMatch`](RouteMatch.md) | [router-sync.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L11) |
13
- | <a id="property-search"></a> `search?` | `string` | [router-sync.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.24/packages/play-router/src/router-sync.ts#L10) |
11
+ | <a id="property-pathname"></a> `pathname` | `string` | [router-sync.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L15) |
12
+ | <a id="property-resolve"></a> `resolve` | (`sanitizedPathname`) => [`RouteMatch`](RouteMatch.md) | [router-sync.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L17) |
13
+ | <a id="property-search"></a> `search?` | `string` | [router-sync.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-sync.ts#L16) |
@@ -0,0 +1,27 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-router](../README.md) / LocationLike
2
+
3
+ # Interface: LocationLike
4
+
5
+ Defined in: [types.ts:344](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L344)
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.
10
+
11
+ Defined structurally (no `Location` reference) so this package compiles without
12
+ the DOM lib.
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ // SSR / test — injected mock
18
+ const mockLoc: LocationLike = { pathname: "/dashboard", search: "?tab=posts" };
19
+ connectRouter({ actor, routeMap, location: mockLoc });
20
+ ```
21
+
22
+ ## Properties
23
+
24
+ | Property | Modifier | Type | Defined in |
25
+ | ----------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
26
+ | <a id="property-pathname"></a> `pathname` | `readonly` | `string` | [types.ts:345](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L345) |
27
+ | <a id="property-search"></a> `search` | `readonly` | `string` | [types.ts:346](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L346) |