@xmachines/docs 1.0.0-beta.25 → 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 (246) 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 -19
  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 +3 -3
  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 +28 -0
  140. package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -0
  141. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +2 -0
  142. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +2 -0
  143. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +9 -9
  144. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +2 -0
  145. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +2 -0
  146. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +2 -0
  147. package/api/@xmachines/play-svelte-spa-router/README.md +1 -0
  148. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +13 -26
  149. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +14 -1
  150. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +23 -4
  151. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -5
  152. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +10 -10
  153. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +20 -5
  154. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  155. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  156. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  157. package/api/@xmachines/play-sveltekit-router/README.md +2 -1
  158. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +46 -24
  159. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +14 -1
  160. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +23 -4
  161. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -5
  162. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  163. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +10 -10
  164. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +20 -5
  165. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  166. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  167. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  168. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
  169. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
  170. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  171. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  172. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
  173. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  174. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  175. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  176. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
  177. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  178. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  179. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  180. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +6 -26
  181. package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
  182. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
  183. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
  184. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  185. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
  186. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  187. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  188. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
  189. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  190. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  191. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  192. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +23 -24
  193. package/api/@xmachines/play-vue/README.md +4 -4
  194. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  195. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  196. package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
  197. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
  198. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  199. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  200. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
  201. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  202. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  203. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  204. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  205. package/api/@xmachines/play-vue-router/README.md +2 -2
  206. package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
  207. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
  208. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
  209. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  210. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  211. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
  212. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  213. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  214. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  215. package/api/@xmachines/play-xstate/README.md +15 -15
  216. package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
  217. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
  218. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  219. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  220. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  221. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  222. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  223. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  224. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
  225. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  226. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  227. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  228. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  229. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  230. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  231. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +14 -12
  232. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  233. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  234. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  235. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  236. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  237. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  238. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
  239. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  240. package/api/README.md +4 -4
  241. package/api/llms.txt +3 -3
  242. package/examples/README.md +5 -0
  243. package/examples/routing-patterns.md +6 -4
  244. package/package.json +2 -2
  245. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  246. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
@@ -6,30 +6,40 @@
6
6
  function createRouteMapFromTree(routeTree): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-react-router/src/route-map.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/route-map.ts#L73)
9
+ Defined in: [play-router/src/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
10
 
11
- Create RouteMap from RouteTree
11
+ Create a `BaseRouteMap` from a `RouteTree` node structure.
12
12
 
13
- Converts XMachines route tree to RouteMap for use with router adapters.
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`.
14
21
 
15
22
  ## Parameters
16
23
 
17
- | Parameter | Type | Description |
18
- | ----------- | -------------------------------------------------------- | -------------------------------------- |
19
- | `routeTree` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree from extractMachineRoutes() |
24
+ | Parameter | Type | Description |
25
+ | ----------- | -------------------------------------------------------- | ------------------------------------------------------ |
26
+ | `routeTree` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | A `RouteTree` as returned by `extractMachineRoutes()`. |
20
27
 
21
28
  ## Returns
22
29
 
23
- [`RouteMap`](../classes/RouteMap.md)
30
+ [`RouteMap`](../../play-dom-router/interfaces/RouteMap.md)
24
31
 
25
- RouteMap instance
32
+ A `BaseRouteMap` for use with any `RouterBridgeBase`-based adapter.
26
33
 
27
34
  ## Example
28
35
 
29
36
  ```typescript
30
- import { extractMachineRoutes } from "@xmachines/play-router";
31
- import { createRouteMapFromTree } from "@xmachines/play-react-router";
37
+ // Preferred single call for XState machines:
38
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
39
+ const routeMap = createRouteMapFromMachine(machine);
32
40
 
41
+ // Equivalent two-step form used by framework adapters:
42
+ import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
33
43
  const routeTree = extractMachineRoutes(machine);
34
- const routeMap = createRouteMapFromTree(routeTree);
44
+ const routeMap = createRouteMapFromTree(routeTree); // uses node.fullPath (absolute)
35
45
  ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouteEvent
4
4
 
5
- Defined in: [play-router/src/types.ts:216](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L216)
5
+ Defined in: [play-router/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L223)
6
6
 
7
7
  Enhanced routing event with parameter and query support
8
8
 
@@ -30,7 +30,7 @@ Target state ID with # prefix (e.g., '#home', '#profile')
30
30
 
31
31
  ## Param
32
32
 
33
- Merged path + query parameters (path parameters win conflicts)
33
+ Path-only route parameters extracted from the URL path (e.g., `{ userId: '123' }` from `/profile/123`). Query parameters are kept separate in `query`.
34
34
 
35
35
  ## Param
36
36
 
@@ -85,7 +85,7 @@ import type { PlayRouteEvent } from "@xmachines/play-router";
85
85
  const event: PlayRouteEvent = {
86
86
  type: "play.route",
87
87
  to: "#settings",
88
- params: { section: "profile" }, // Merged: path + query
88
+ params: { section: "profile" }, // Path-only route parameter
89
89
  query: { tab: "security" }, // Query-only
90
90
  };
91
91
  actor.send(event);
@@ -112,8 +112,8 @@ URLPatternResult for advanced use cases (debugging, pattern analysis).
112
112
 
113
113
  | Property | Modifier | Type | Defined in |
114
114
  | -------------------------------------- | ---------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
115
- | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:221](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L221) |
116
- | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:219](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L219) |
117
- | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:220](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L220) |
118
- | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:218](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L218) |
119
- | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:217](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L217) |
115
+ | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L228) |
116
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L226) |
117
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L227) |
118
+ | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L225) |
119
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L224) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouterProviderProps\<TActor\>
4
4
 
5
- Defined in: [play-react-router/src/play-router-provider.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/play-router-provider.tsx#L10)
5
+ Defined in: [play-react-router/src/play-router-provider.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-react-router/src/play-router-provider.tsx#L10)
6
6
 
7
7
  ## Type Parameters
8
8
 
@@ -12,9 +12,9 @@ Defined in: [play-react-router/src/play-router-provider.tsx:10](https://gitlab.c
12
12
 
13
13
  ## Properties
14
14
 
15
- | Property | Type | Description | Defined in |
16
- | ----------------------------------------- | ------------------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | <a id="property-actor"></a> `actor` | `TActor` | - | [play-react-router/src/play-router-provider.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/play-router-provider.tsx#L14) |
18
- | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `ReactNode` | Renderer callback receives the same concrete actor type that was passed in. | [play-react-router/src/play-router-provider.tsx:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/play-router-provider.tsx#L18) |
19
- | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | - | [play-react-router/src/play-router-provider.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/play-router-provider.tsx#L16) |
20
- | <a id="property-router"></a> `router` | `Router` | - | [play-react-router/src/play-router-provider.tsx:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/play-router-provider.tsx#L15) |
15
+ | Property | Type | Description | Defined in |
16
+ | ----------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | <a id="property-actor"></a> `actor` | `TActor` | The actor to sync with React Router. Must be a stable reference — pass the same actor instance across renders. Creating the actor inline or re-creating it on every render will cause the bridge to disconnect and reconnect each time. | [play-react-router/src/play-router-provider.tsx:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-react-router/src/play-router-provider.tsx#L19) |
18
+ | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `ReactNode` | Renderer callback receives the same concrete actor type that was passed in. | [play-react-router/src/play-router-provider.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-react-router/src/play-router-provider.tsx#L36) |
19
+ | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | Bidirectional route map for state ID ↔ URL path lookups. **Must be a stable reference.** The bridge is rebuilt whenever `routeMap` changes identity. If constructed inline (e.g. `createRouteMap(routeTree)` in JSX), a new object is produced on every render and the bridge reconnects every render. Memoize with `useMemo`: `const routeMap = useMemo(() => createRouteMap(routeTree), [routeTree]);` | [play-react-router/src/play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-react-router/src/play-router-provider.tsx#L34) |
20
+ | <a id="property-router"></a> `router` | `Router` | The React Router instance returned by `createBrowserRouter`. | [play-react-router/src/play-router-provider.tsx:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-react-router/src/play-router-provider.tsx#L21) |
@@ -2,16 +2,26 @@
2
2
 
3
3
  # Interface: RouteMapping
4
4
 
5
- Defined in: [play-react-router/src/route-map.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/route-map.ts#L22)
5
+ Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L57)
6
6
 
7
- Mapping between state machine state ID and router path.
7
+ A single state ID path mapping entry.
8
8
 
9
- Structurally compatible with `BaseRouteMapping` from `@xmachines/play-router`.
10
- Fields are `readonly` entries are immutable once passed to `RouteMap`.
9
+ Both fields are `readonly` mappings are immutable once passed to `BaseRouteMap`.
10
+ Adapter packages re-export a structurally compatible `RouteMapping` type under
11
+ their own name. This type is published from `@xmachines/play-router` as
12
+ `BaseRouteMapping` to avoid name collisions with those adapter-local types.
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ const mapping: BaseRouteMapping = { stateId: "home", path: "/" };
18
+ const paramMapping: BaseRouteMapping = { stateId: "profile", path: "/profile/:userId" };
19
+ const optionalMapping: BaseRouteMapping = { stateId: "settings", path: "/settings/:section?" };
20
+ ```
11
21
 
12
22
  ## Properties
13
23
 
14
- | Property | Modifier | Type | Description | Defined in |
15
- | --------------------------------------- | ---------- | -------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
16
- | <a id="property-path"></a> `path` | `readonly` | `string` | Router path with optional parameters (e.g., `"/settings/:section?"`) | [play-react-router/src/route-map.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/route-map.ts#L26) |
17
- | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State ID from state machine (e.g., `"home"`, `"settings.profile"`) | [play-react-router/src/route-map.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react-router/src/route-map.ts#L24) |
24
+ | Property | Modifier | Type | Description | Defined in |
25
+ | --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
26
+ | <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L61) |
27
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L59) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [play-router/src/types.ts:264](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L264)
5
+ Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L271)
6
6
 
7
7
  RouterBridge interface for runtime infrastructure adapters
8
8
 
@@ -54,7 +54,7 @@ class TanStackRouterBridge implements RouterBridge {
54
54
  connect(): void | Promise<void>;
55
55
  ```
56
56
 
57
- Defined in: [play-router/src/types.ts:280](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L280)
57
+ Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L287)
58
58
 
59
59
  Connect the router bridge to the Actor
60
60
 
@@ -83,7 +83,7 @@ await bridge.connect();
83
83
  disconnect(): void | Promise<void>;
84
84
  ```
85
85
 
86
- Defined in: [play-router/src/types.ts:296](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/types.ts#L296)
86
+ Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L303)
87
87
 
88
88
  Disconnect the router bridge from the Actor
89
89
 
@@ -239,9 +239,16 @@ import { extractMachineRoutes } from "@xmachines/play-router";
239
239
 
240
240
  const tree = extractMachineRoutes(authMachine);
241
241
 
242
- // Query routes
242
+ // Query routes — use fullPath for URL matching (path is the raw meta.route segment)
243
243
  const loginRoute = tree.byStateId.get("login");
244
- console.log(loginRoute?.path); // "/login"
244
+ console.log(loginRoute?.fullPath); // "/login"
245
+ console.log(loginRoute?.path); // "/login" (same for absolute routes)
246
+
247
+ // For nested relative routes the distinction matters:
248
+ // meta.route: "overview" under "/dashboard" → path: "overview", fullPath: "/dashboard/overview"
249
+ const overviewRoute = tree.byStateId.get("overview");
250
+ console.log(overviewRoute?.path); // "overview" (raw segment — relative)
251
+ console.log(overviewRoute?.fullPath); // "/dashboard/overview" (resolved — use this)
245
252
 
246
253
  const dashboardRoute = tree.byPath.get("/dashboard");
247
254
  console.log(dashboardRoute?.id); // "dashboard"
@@ -286,6 +293,25 @@ const successors = getSuccessors(tree.graph!, "myMachine.home");
286
293
  - `eventType: string` — event type triggering this transition
287
294
  - `guardType?: string` — guard name/description (if transition is guarded)
288
295
 
296
+ ### createRouteMapFromMachine() / createRouteMapFromTree()
297
+
298
+ Both build a `BaseRouteMap` using `node.fullPath` (absolute resolved paths) for browser URL matching.
299
+
300
+ ```typescript
301
+ // Single-call form — preferred for XState machines:
302
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
303
+ const routeMap = createRouteMapFromMachine(machine);
304
+
305
+ // Two-step form — used by framework adapter packages:
306
+ import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
307
+ const routeTree = extractMachineRoutes(machine);
308
+ const routeMap = createRouteMapFromTree(routeTree);
309
+ ```
310
+
311
+ Both forms produce identical results. `createRouteMapFromTree` is exposed for framework adapters (React Router, TanStack Router) that need to hold the `RouteTree` separately for other purposes (e.g. graph queries).
312
+
313
+ **`node.path` vs `node.fullPath`:** Every `RouteNode` carries both fields. `path` is the raw `meta.route` segment as declared in the machine — it may be relative (e.g. `"overview"`). `fullPath` is the resolved absolute path (e.g. `"/dashboard/overview"`). Route maps always use `fullPath`. Only use `path` if you specifically need the declared segment.
314
+
289
315
  ### Query Utilities
290
316
 
291
317
  ```typescript
@@ -341,9 +367,9 @@ const machine = createMachine({
341
367
 
342
368
  const tree = extractMachineRoutes(machine);
343
369
 
344
- // Bidirectional mapping
370
+ // Bidirectional mapping — use fullPath for URLs; path is the raw meta.route segment
345
371
  const profileById = tree.byStateId.get("profile");
346
- console.log(profileById?.path); // "/profile/:userId"
372
+ console.log(profileById?.fullPath); // "/profile/:userId"
347
373
 
348
374
  const profileByPath = findRouteByPath(tree, "/profile/user123");
349
375
  console.log(profileByPath?.id); // "profile"
@@ -581,19 +607,21 @@ For a copy, see <https://opensource.org/licenses/MIT>.
581
607
 
582
608
  ## Interfaces
583
609
 
584
- - [BaseRouteMapping](interfaces/BaseRouteMapping.md)
585
610
  - [BuildPlayRouteEventOptions](interfaces/BuildPlayRouteEventOptions.md)
611
+ - [LocationLike](interfaces/LocationLike.md)
586
612
  - [MachineEdgeData](interfaces/MachineEdgeData.md)
587
613
  - [MachineNodeData](interfaces/MachineNodeData.md)
588
614
  - [PlayRouteEvent](interfaces/PlayRouteEvent.md)
589
615
  - [RouteInfo](interfaces/RouteInfo.md)
590
616
  - [RouteMap](interfaces/RouteMap.md)
617
+ - [RouteMapping](interfaces/RouteMapping.md)
591
618
  - [RouteMatch](interfaces/RouteMatch.md)
592
619
  - [RouteNode](interfaces/RouteNode.md)
593
620
  - [RouteObject](interfaces/RouteObject.md)
594
621
  - [RouterBridge](interfaces/RouterBridge.md)
595
622
  - [RouteTree](interfaces/RouteTree.md)
596
623
  - [RouteWatcherHandle](interfaces/RouteWatcherHandle.md)
624
+ - [WindowLike](interfaces/WindowLike.md)
597
625
 
598
626
  ## Type Aliases
599
627
 
@@ -605,9 +633,12 @@ For a copy, see <https://opensource.org/licenses/MIT>.
605
633
  - [buildPlayRouteEvent](functions/buildPlayRouteEvent.md)
606
634
  - [buildRouteTree](functions/buildRouteTree.md)
607
635
  - [createRouteMap](functions/createRouteMap.md)
636
+ - [createRouteMapFromMachine](functions/createRouteMapFromMachine.md)
637
+ - [createRouteMapFromTree](functions/createRouteMapFromTree.md)
608
638
  - [detectDuplicateRoutes](functions/detectDuplicateRoutes.md)
609
639
  - [extractMachineRoutes](functions/extractMachineRoutes.md)
610
640
  - [extractQuery](functions/extractQuery.md)
641
+ - [extractRouteParams](functions/extractRouteParams.md)
611
642
  - [findRouteById](functions/findRouteById.md)
612
643
  - [findRouteByPath](functions/findRouteByPath.md)
613
644
  - [getNavigableRoutes](functions/getNavigableRoutes.md)
@@ -619,3 +650,9 @@ For a copy, see <https://opensource.org/licenses/MIT>.
619
650
  - [sanitizePathname](functions/sanitizePathname.md)
620
651
  - [validateRouteFormat](functions/validateRouteFormat.md)
621
652
  - [validateStateExists](functions/validateStateExists.md)
653
+
654
+ ## References
655
+
656
+ ### BaseRouteMapping
657
+
658
+ Renames and re-exports [RouteMapping](interfaces/RouteMapping.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: BaseRouteMap
4
4
 
5
- Defined in: [base-route-map.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/base-route-map.ts#L99)
5
+ Defined in: [base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L100)
6
6
 
7
7
  Shared bidirectional route map base class.
8
8
 
@@ -14,7 +14,8 @@ own and inherit the full public API from here.
14
14
  - Static paths (no `:param`) → O(1) `Map` lookup
15
15
  - Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
16
16
  of routes sharing the same first path segment
17
- - Results are cached after the first match
17
+ - Results are cached after the first match in an LRU cache (default 500 entries,
18
+ configurable via the `cacheSize` constructor option)
18
19
 
19
20
  **Pattern syntax** (`:param` / `:param?`):
20
21
 
@@ -41,25 +42,15 @@ map.getPathByStateId("profile"); // "/profile/:userId"
41
42
  map.getPathByStateId("missing"); // null
42
43
  ```
43
44
 
44
- ## Extended by
45
-
46
- - [`RouteMap`](../../play-react-router/classes/RouteMap.md)
47
- - [`RouteMap`](../../play-solid-router/classes/RouteMap.md)
48
- - [`RouteMap`](../../play-sveltekit-router/classes/RouteMap.md)
49
- - [`RouteMap`](../../play-svelte-spa-router/classes/RouteMap.md)
50
- - [`RouteMap`](../../play-tanstack-react-router/classes/RouteMap.md)
51
- - [`RouteMap`](../../play-tanstack-solid-router/classes/RouteMap.md)
52
- - [`VueBaseRouteMap`](../../play-vue-router/classes/VueBaseRouteMap.md)
53
-
54
45
  ## Constructors
55
46
 
56
47
  ### Constructor
57
48
 
58
49
  ```ts
59
- new BaseRouteMap(mappings): BaseRouteMap;
50
+ new BaseRouteMap(mappings, options?): BaseRouteMap;
60
51
  ```
61
52
 
62
- Defined in: [base-route-map.ts:118](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/base-route-map.ts#L118)
53
+ Defined in: [base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L125)
63
54
 
64
55
  Build a route map from an array of state ID ↔ path mappings.
65
56
 
@@ -69,9 +60,11 @@ buckets for efficient candidate selection.
69
60
 
70
61
  #### Parameters
71
62
 
72
- | Parameter | Type | Description |
73
- | ---------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
74
- | `mappings` | [`BaseRouteMapping`](../interfaces/BaseRouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
63
+ | Parameter | Type | Description |
64
+ | -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
65
+ | `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
66
+ | `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). |
67
+ | `options.cacheSize?` | `number` | - |
75
68
 
76
69
  #### Returns
77
70
 
@@ -85,7 +78,7 @@ buckets for efficient candidate selection.
85
78
  getPathByStateId(stateId): string | null;
86
79
  ```
87
80
 
88
- Defined in: [base-route-map.ts:202](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/base-route-map.ts#L202)
81
+ Defined in: [base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L209)
89
82
 
90
83
  Look up the path pattern registered for a state ID.
91
84
 
@@ -116,7 +109,7 @@ map.getPathByStateId("missing"); // null
116
109
  getStateIdByPath(path): string | null;
117
110
  ```
118
111
 
119
- Defined in: [base-route-map.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-router/src/base-route-map.ts#L167)
112
+ Defined in: [base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L174)
120
113
 
121
114
  Resolve a URL path to its mapped state ID.
122
115