@xmachines/docs 2.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +8 -16
  2. package/api/@xmachines/play/README.md +75 -97
  3. package/api/@xmachines/play/errors/README.md +8 -0
  4. package/api/@xmachines/play/{classes → errors/classes}/NonNullableError.md +6 -6
  5. package/api/@xmachines/play/{classes → errors/classes}/PlayError.md +35 -10
  6. package/api/@xmachines/play/index/README.md +75 -0
  7. package/api/@xmachines/play/index/functions/asCleanup.md +78 -0
  8. package/api/@xmachines/play/{functions → index/functions}/assertNonNullable.md +2 -2
  9. package/api/@xmachines/{play-actor → play/index}/functions/shallowEqualExcept.md +3 -3
  10. package/api/@xmachines/play/index/type-aliases/Cleanup.md +38 -0
  11. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +32 -0
  12. package/api/@xmachines/play/{type-aliases → index/type-aliases}/PlayEvent.md +4 -4
  13. package/api/@xmachines/play/index/variables/DISPOSE.md +34 -0
  14. package/api/@xmachines/play-actor/README.md +78 -222
  15. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +18 -0
  16. package/api/@xmachines/play-actor/interfaces/PlayActor.md +73 -0
  17. package/api/@xmachines/play-dom/README.md +99 -43
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -11
  19. package/api/@xmachines/play-dom/functions/asCleanup.md +78 -0
  20. package/api/@xmachines/play-dom/functions/createPlayUI.md +6 -6
  21. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  22. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -11
  23. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -4
  24. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -12
  25. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +38 -0
  26. package/api/@xmachines/play-dom/type-aliases/MountFn.md +30 -8
  27. package/api/@xmachines/play-dom-router/README.md +99 -73
  28. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +22 -21
  29. package/api/@xmachines/{play-vue-router → play-dom-router}/classes/RouteMap.md +12 -6
  30. package/api/@xmachines/play-dom-router/functions/asCleanup.md +78 -0
  31. package/api/@xmachines/play-dom-router/functions/connectRouter.md +3 -8
  32. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +7 -1
  33. package/api/@xmachines/play-dom-router/functions/createRouter.md +12 -6
  34. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  35. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +73 -19
  36. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  37. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +8 -8
  38. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -14
  39. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +24 -21
  40. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  41. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  42. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  43. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  44. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +36 -7
  45. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +40 -6
  46. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +38 -0
  47. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +34 -0
  48. package/api/@xmachines/play-react/README.md +18 -40
  49. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +50 -11
  50. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  51. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  52. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  53. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  54. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -6
  55. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -5
  56. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  57. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
  58. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -3
  59. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  60. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  61. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  62. package/api/@xmachines/play-react/variables/schema.md +52 -0
  63. package/api/@xmachines/play-react-router/README.md +22 -50
  64. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +17 -16
  65. package/api/@xmachines/play-react-router/classes/RouteMap.md +11 -5
  66. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +11 -8
  67. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +16 -9
  68. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -14
  69. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +10 -10
  70. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +72 -0
  71. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  72. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  73. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  74. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  75. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  76. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  77. package/api/@xmachines/play-router/README.md +108 -189
  78. package/api/@xmachines/play-router/errors/README.md +15 -0
  79. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +191 -0
  80. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +175 -0
  81. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +175 -0
  82. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +200 -0
  83. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +203 -0
  84. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +175 -0
  85. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +199 -0
  86. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +192 -0
  87. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +182 -0
  88. package/api/@xmachines/play-router/index/README.md +75 -0
  89. package/api/@xmachines/play-router/{classes → index/classes}/RouteMap.md +12 -6
  90. package/api/@xmachines/play-router/{classes → index/classes}/RouterBridgeBase.md +19 -17
  91. package/api/@xmachines/play-router/{functions → index/functions}/buildPlayRouteEvent.md +2 -2
  92. package/api/@xmachines/play-router/{functions → index/functions}/buildRouteTree.md +14 -4
  93. package/api/@xmachines/play-router/{functions → index/functions}/cleanFrameworkParams.md +3 -4
  94. package/api/@xmachines/play-router/{functions → index/functions}/createRouteMapFromTree.md +13 -6
  95. package/api/@xmachines/play-router/{functions → index/functions}/createRouterConnection.md +2 -2
  96. package/api/@xmachines/play-router/{functions → index/functions}/detectDuplicateRoutes.md +2 -2
  97. package/api/@xmachines/play-router/{functions → index/functions}/extractQuery.md +2 -2
  98. package/api/@xmachines/play-router/{functions → index/functions}/extractRouteParams.md +3 -3
  99. package/api/@xmachines/play-router/{functions → index/functions}/findRouteById.md +2 -2
  100. package/api/@xmachines/play-router/{functions → index/functions}/findRouteByPath.md +2 -2
  101. package/api/@xmachines/play-router/index/functions/getPatternParamNames.md +29 -0
  102. package/api/@xmachines/play-router/index/functions/getRequiredPatternParamNames.md +39 -0
  103. package/api/@xmachines/play-router/{functions → index/functions}/isMountableBridge.md +2 -2
  104. package/api/@xmachines/play-router/index/functions/joinBasePath.md +37 -0
  105. package/api/@xmachines/play-router/{functions → index/functions}/mountKey.md +2 -2
  106. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +43 -0
  107. package/api/@xmachines/play-router/{functions → index/functions}/openProviderBridge.md +14 -14
  108. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +41 -0
  109. package/api/@xmachines/play-router/{functions → index/functions}/repointProviderBridge.md +2 -2
  110. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +51 -0
  111. package/api/@xmachines/play-router/{functions → index/functions}/resolveFrameworkParams.md +11 -13
  112. package/api/@xmachines/play-router/{functions → index/functions}/sanitizePathname.md +2 -2
  113. package/api/@xmachines/play-router/index/functions/stripBasePath.md +44 -0
  114. package/api/@xmachines/play-router/{functions → index/functions}/validateRouteFormat.md +2 -2
  115. package/api/@xmachines/play-router/{functions → index/functions}/validateStateExists.md +2 -2
  116. package/api/@xmachines/play-router/{interfaces → index/interfaces}/BasePathOptions.md +6 -6
  117. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +13 -0
  118. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +47 -0
  119. package/api/@xmachines/play-router/{interfaces → index/interfaces}/LocationLike.md +6 -6
  120. package/api/@xmachines/play-router/{interfaces → index/interfaces}/MountableRouterBridge.md +9 -9
  121. package/api/@xmachines/play-router/{interfaces → index/interfaces}/OpenProviderBridgeArgs.md +13 -13
  122. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +130 -0
  123. package/api/@xmachines/play-router/{interfaces → index/interfaces}/PlayRouterProviderBaseProps.md +15 -15
  124. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +14 -0
  125. package/api/@xmachines/play-router/{interfaces → index/interfaces}/ResolvedRoutePath.md +6 -6
  126. package/api/@xmachines/play-router/index/interfaces/Routable.md +26 -0
  127. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +72 -0
  128. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteInfo.md +11 -11
  129. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapOptions.md +5 -5
  130. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  131. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +12 -0
  132. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteNode.md +13 -13
  133. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +34 -0
  134. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +27 -0
  135. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteWatcherHandle.md +7 -7
  136. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterBridge.md +5 -5
  137. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterConnection.md +38 -9
  138. package/api/@xmachines/play-router/{interfaces → index/interfaces}/WindowLike.md +4 -4
  139. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +46 -0
  140. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +12 -0
  141. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +31 -0
  142. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +11 -0
  143. package/api/@xmachines/play-router/index/variables/DISPOSE.md +34 -0
  144. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +18 -0
  145. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +18 -0
  146. package/api/@xmachines/play-router/xstate/README.md +53 -0
  147. package/api/@xmachines/{play-dom-router → play-router/xstate}/functions/createRouteMap.md +8 -6
  148. package/api/@xmachines/play-router/{functions → xstate/functions}/extractMachineRoutes.md +4 -4
  149. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +35 -0
  150. package/api/@xmachines/play-router/{functions → xstate/functions}/getRoutableRoutes.md +6 -6
  151. package/api/@xmachines/play-router/{functions → xstate/functions}/getRouteMappings.md +7 -7
  152. package/api/@xmachines/play-router/{functions → xstate/functions}/getTransitionReachableRoutes.md +2 -2
  153. package/api/@xmachines/play-router/{functions → xstate/functions}/isRouteReachable.md +2 -2
  154. package/api/@xmachines/play-router/{functions → xstate/functions}/machineToGraph.md +2 -2
  155. package/api/@xmachines/play-router/xstate/functions/routeExists.md +26 -0
  156. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +15 -0
  157. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +17 -0
  158. package/api/@xmachines/play-router/{type-aliases → xstate/type-aliases}/MachineGraph.md +2 -2
  159. package/api/@xmachines/play-signals/README.md +5 -25
  160. package/api/@xmachines/play-signals/functions/watchSignal.md +27 -4
  161. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  162. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  163. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  164. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  165. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  166. package/api/@xmachines/play-signals/type-aliases/Cleanup.md +38 -0
  167. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  168. package/api/@xmachines/play-solid/README.md +36 -35
  169. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  170. package/api/@xmachines/play-solid/functions/usePlayView.md +14 -1
  171. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +11 -11
  172. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  173. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +16 -8
  174. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -3
  175. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  176. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  177. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  178. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  179. package/api/@xmachines/play-solid/variables/schema.md +71 -0
  180. package/api/@xmachines/play-solid-router/README.md +31 -52
  181. package/api/@xmachines/play-solid-router/classes/RouteMap.md +11 -5
  182. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +30 -53
  183. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +9 -8
  184. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +38 -35
  185. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -14
  186. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +12 -12
  187. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +72 -0
  188. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  189. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  190. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  191. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  192. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  193. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  194. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  195. package/api/@xmachines/play-svelte/README.md +13 -28
  196. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  197. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  198. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +7 -1
  199. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  200. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  201. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  202. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  203. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +8 -8
  204. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -3
  205. package/api/@xmachines/play-svelte/variables/schema.md +16 -0
  206. package/api/@xmachines/play-svelte-spa-router/README.md +22 -41
  207. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +11 -5
  208. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +22 -21
  209. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -2
  210. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  211. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +8 -8
  212. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -14
  213. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +72 -0
  214. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  215. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  216. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  217. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +36 -7
  218. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  219. package/api/@xmachines/play-sveltekit-router/README.md +17 -35
  220. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +11 -5
  221. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +22 -21
  222. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -2
  223. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  224. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +8 -8
  225. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  226. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -14
  227. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +72 -0
  228. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  229. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  230. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  231. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +36 -7
  232. package/api/@xmachines/play-tanstack-react-router/README.md +19 -43
  233. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +11 -5
  234. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +18 -17
  235. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +11 -8
  236. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +16 -9
  237. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -14
  238. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +10 -10
  239. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +72 -0
  240. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  241. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  242. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  243. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  244. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  245. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  246. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  247. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  248. package/api/@xmachines/play-tanstack-router/README.md +6 -4
  249. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +17 -20
  250. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  251. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  252. package/api/@xmachines/play-tanstack-solid-router/README.md +26 -52
  253. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +11 -5
  254. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +49 -45
  255. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +9 -8
  256. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -14
  257. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +10 -10
  258. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +72 -0
  259. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  260. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  261. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  262. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  263. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  264. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  265. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  266. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  267. package/api/@xmachines/play-url/README.md +69 -0
  268. package/api/@xmachines/play-url/errors/README.md +17 -0
  269. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +200 -0
  270. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +203 -0
  271. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +199 -0
  272. package/api/@xmachines/play-url/index/README.md +65 -0
  273. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +39 -0
  274. package/api/@xmachines/play-url/index/functions/getCandidates.md +29 -0
  275. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +31 -0
  276. package/api/@xmachines/play-url/index/functions/getIndexKey.md +30 -0
  277. package/api/@xmachines/play-url/index/functions/getNormalizedParamNameMap.md +32 -0
  278. package/api/@xmachines/play-url/index/functions/getPatternParamNames.md +29 -0
  279. package/api/@xmachines/play-url/index/functions/getRequiredPatternParamNames.md +39 -0
  280. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +36 -0
  281. package/api/@xmachines/play-url/index/functions/isParameterizedPattern.md +36 -0
  282. package/api/@xmachines/{play-router → play-url/index}/functions/joinBasePath.md +2 -2
  283. package/api/@xmachines/{play-router → play-url/index}/functions/normalizeBasePath.md +2 -2
  284. package/api/@xmachines/play-url/index/functions/normalizeParamNames.md +36 -0
  285. package/api/@xmachines/play-url/index/functions/parsePattern.md +27 -0
  286. package/api/@xmachines/{play-router → play-url/index}/functions/pickOwnParams.md +4 -4
  287. package/api/@xmachines/{play-router → play-url/index}/functions/resolveBasePath.md +2 -2
  288. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +49 -0
  289. package/api/@xmachines/{play-router → play-url/index}/functions/stripBasePath.md +2 -2
  290. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +28 -0
  291. package/api/@xmachines/{play-router → play-url/index}/interfaces/FrameworkParamsSource.md +9 -9
  292. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +15 -0
  293. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +14 -0
  294. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +21 -0
  295. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +23 -0
  296. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +15 -0
  297. package/api/@xmachines/{play-router → play-url/index}/interfaces/ResolvedBasePath.md +6 -6
  298. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +11 -0
  299. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +9 -0
  300. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +22 -0
  301. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +68 -0
  302. package/api/@xmachines/{play-router → play-url/index}/variables/NO_BASE_PATH.md +2 -2
  303. package/api/@xmachines/play-url/index/variables/URLPattern.md +21 -0
  304. package/api/@xmachines/play-view/README.md +165 -0
  305. package/api/@xmachines/play-view/errors/README.md +17 -0
  306. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +192 -0
  307. package/api/@xmachines/play-view/index/README.md +55 -0
  308. package/api/@xmachines/{play-actor → play-view/index}/functions/attachRenderErrorHandler.md +6 -6
  309. package/api/@xmachines/{play-actor → play-view/index}/functions/composePlayState.md +2 -2
  310. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +20 -0
  311. package/api/@xmachines/play-view/index/functions/createReportGuard.md +26 -0
  312. package/api/@xmachines/{play-actor → play-view/index}/functions/createViewStoreLifecycle.md +2 -2
  313. package/api/@xmachines/{play-actor → play-view/index}/functions/guardContextWrites.md +2 -2
  314. package/api/@xmachines/{play-actor → play-view/index}/functions/refreshContextSubtree.md +2 -2
  315. package/api/@xmachines/{play-actor → play-view/index}/functions/reuseComposedState.md +3 -3
  316. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +25 -0
  317. package/api/@xmachines/{play-actor → play-view/index}/functions/toAtomState.md +2 -2
  318. package/api/@xmachines/{play-actor → play-view/index}/functions/typedSpec.md +2 -2
  319. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +49 -0
  320. package/api/@xmachines/{play-actor → play-view/index}/interfaces/BaseViewContextValue.md +12 -12
  321. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +60 -0
  322. package/api/@xmachines/{play-actor → play-view/index}/interfaces/PlaySpec.md +8 -8
  323. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +92 -0
  324. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +18 -0
  325. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ResolveViewStoreOptions.md +5 -5
  326. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +19 -0
  327. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreLifecycle.md +6 -5
  328. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreResolution.md +7 -7
  329. package/api/@xmachines/{play-actor → play-view/index}/interfaces/Viewable.md +5 -5
  330. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +26 -0
  331. package/api/@xmachines/{play-actor → play-view/index}/variables/CONTEXT_STATE_KEY.md +2 -2
  332. package/api/@xmachines/play-vue/README.md +46 -42
  333. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  334. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  335. package/api/@xmachines/play-vue/functions/usePlayView.md +6 -1
  336. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +13 -8
  337. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +15 -10
  338. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +8 -8
  339. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -3
  340. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  341. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  342. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  343. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  344. package/api/@xmachines/play-vue/variables/schema.md +71 -0
  345. package/api/@xmachines/play-vue-router/README.md +34 -77
  346. package/api/@xmachines/play-vue-router/errors/README.md +8 -0
  347. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +193 -0
  348. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +177 -0
  349. package/api/@xmachines/play-vue-router/index/README.md +20 -0
  350. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +157 -0
  351. package/api/@xmachines/play-vue-router/{classes → index/classes}/VueRouterBridge.md +24 -43
  352. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +130 -0
  353. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +72 -0
  354. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapOptions.md +5 -5
  355. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  356. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouterBridge.md +5 -5
  357. package/api/@xmachines/play-vue-router/{variables → index/variables}/PlayRouterProvider.md +4 -4
  358. package/api/@xmachines/play-xstate/README.md +163 -98
  359. package/api/@xmachines/play-xstate/errors/README.md +13 -0
  360. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +199 -0
  361. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +198 -0
  362. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +169 -0
  363. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +197 -0
  364. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +176 -0
  365. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +199 -0
  366. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +203 -0
  367. package/api/@xmachines/play-xstate/index/README.md +38 -0
  368. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +584 -0
  369. package/api/@xmachines/play-xstate/index/functions/compose.md +224 -0
  370. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +158 -0
  371. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +22 -0
  372. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerFactoryResumeOptions.md +3 -3
  373. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerOptions.md +8 -8
  374. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +33 -0
  375. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +39 -0
  376. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +27 -0
  377. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +34 -0
  378. package/api/@xmachines/play-xstate/with-routing/README.md +46 -0
  379. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/buildRouteUrl.md +2 -2
  380. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/deriveRoute.md +4 -4
  381. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/formatPlayRouteTransitions.md +2 -2
  382. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/isAbsoluteRoute.md +3 -3
  383. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +36 -0
  384. package/api/@xmachines/play-xstate/{interfaces → with-routing/interfaces}/RouteContext.md +6 -6
  385. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +34 -0
  386. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +12 -0
  387. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +31 -0
  388. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteMachineConfig.md +5 -5
  389. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +11 -0
  390. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteStateNode.md +21 -7
  391. package/api/@xmachines/play-xstate/with-view/README.md +31 -0
  392. package/api/@xmachines/play-xstate/with-view/functions/withView.md +32 -0
  393. package/api/@xmachines/shared/README.md +10 -32
  394. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  395. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  396. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  397. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  398. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  399. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  400. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +2 -1
  401. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  402. package/api/README.md +2 -0
  403. package/api/llms.txt +15 -10
  404. package/contributing/architecture.md +97 -65
  405. package/contributing/configuration.md +142 -41
  406. package/contributing/deployment.md +30 -28
  407. package/contributing/development.md +94 -31
  408. package/contributing/testing.md +90 -31
  409. package/examples/README.md +9 -7
  410. package/examples/form-validation.md +3 -2
  411. package/examples/multi-router-integration.md +61 -39
  412. package/examples/routing-patterns.md +15 -14
  413. package/examples/traffic-light.md +11 -5
  414. package/guides/README.md +1 -0
  415. package/guides/actor-model.md +35 -26
  416. package/guides/getting-started.md +47 -44
  417. package/guides/inspector.md +4 -4
  418. package/guides/routing.md +245 -0
  419. package/guides/signals.md +43 -0
  420. package/guides/state-machines.md +16 -17
  421. package/package.json +10 -9
  422. package/rfc/play.md +35 -22
  423. package/api/@xmachines/play-actor/classes/AbstractActor.md +0 -505
  424. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +0 -48
  425. package/api/@xmachines/play-actor/interfaces/Routable.md +0 -14
  426. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +0 -122
  427. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +0 -13
  428. package/api/@xmachines/play-react-router/functions/createRouteMap.md +0 -40
  429. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +0 -70
  430. package/api/@xmachines/play-router/functions/createRouteMap.md +0 -40
  431. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +0 -35
  432. package/api/@xmachines/play-router/functions/getPatternParamNames.md +0 -24
  433. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +0 -36
  434. package/api/@xmachines/play-router/functions/routeExists.md +0 -26
  435. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +0 -13
  436. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +0 -15
  437. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +0 -17
  438. package/api/@xmachines/play-router/interfaces/PlayActor.md +0 -70
  439. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +0 -135
  440. package/api/@xmachines/play-router/interfaces/RoutableActor.md +0 -65
  441. package/api/@xmachines/play-router/interfaces/RouteMatch.md +0 -12
  442. package/api/@xmachines/play-router/interfaces/RouteObject.md +0 -21
  443. package/api/@xmachines/play-router/interfaces/RouteTree.md +0 -21
  444. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +0 -13
  445. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +0 -36
  446. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +0 -11
  447. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +0 -40
  448. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +0 -471
  449. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +0 -13
  450. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +0 -40
  451. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +0 -9
  452. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +0 -40
  453. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +0 -9
  454. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +0 -40
  455. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +0 -29
  456. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +0 -70
  457. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +0 -31
  458. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +0 -40
  459. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +0 -70
  460. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +0 -13
  461. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +0 -9
  462. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +0 -34
  463. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +0 -40
  464. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +0 -70
  465. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +0 -135
  466. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +0 -13
  467. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +0 -13
  468. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +0 -13
  469. package/api/@xmachines/play-xstate/classes/PlayerActor.md +0 -532
  470. package/api/@xmachines/play-xstate/functions/composeGuards.md +0 -86
  471. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +0 -72
  472. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +0 -43
  473. package/api/@xmachines/play-xstate/functions/definePlayer.md +0 -78
  474. package/api/@xmachines/play-xstate/functions/eventMatches.md +0 -45
  475. package/api/@xmachines/play-xstate/functions/hasContext.md +0 -45
  476. package/api/@xmachines/play-xstate/functions/negateGuard.md +0 -67
  477. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +0 -20
  478. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +0 -17
  479. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +0 -19
  480. package/api/@xmachines/play-xstate/type-aliases/Guard.md +0 -36
  481. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +0 -23
  482. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +0 -26
  483. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +0 -9
@@ -1,12 +1,12 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / buildRouteTree
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / buildRouteTree
2
2
 
3
3
  # Function: buildRouteTree()
4
4
 
5
5
  ```ts
6
- function buildRouteTree(routes): RouteTree;
6
+ function buildRouteTree<TGraph>(routes): RouteTree<TGraph>;
7
7
  ```
8
8
 
9
- Defined in: [build-tree.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/build-tree.ts#L22)
9
+ Defined in: [packages/play-router/src/build-tree.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/build-tree.ts#L38)
10
10
 
11
11
  Builds the hierarchical route tree from the flat list of the routes
12
12
 
@@ -21,6 +21,16 @@ the same raw string below two different parents are valid, and two different raw
21
21
  strings that resolve to the same complete path are not: those two overwrite each
22
22
  other in `byPath` in silence.
23
23
 
24
+ `TGraph` names the type of the graph that a CALLER attaches afterwards. The builder
25
+ attaches none: it reads a list of routes and writes the maps of the tree.
26
+ `extractMachineRoutes` of `@xmachines/play-router/xstate` binds it to `MachineGraph`.
27
+
28
+ ## Type Parameters
29
+
30
+ | Type Parameter | Default type |
31
+ | -------------- | ------------ |
32
+ | `TGraph` | `unknown` |
33
+
24
34
  ## Parameters
25
35
 
26
36
  | Parameter | Type | Description |
@@ -29,7 +39,7 @@ other in `byPath` in silence.
29
39
 
30
40
  ## Returns
31
41
 
32
- [`RouteTree`](../interfaces/RouteTree.md)
42
+ [`RouteTree`](../interfaces/RouteTree.md)\<`TGraph`\>
33
43
 
34
44
  The RouteTree, with its root, its byStateId map, and its byPath map
35
45
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / cleanFrameworkParams
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / cleanFrameworkParams
2
2
 
3
3
  # Function: cleanFrameworkParams()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function cleanFrameworkParams(params): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [framework-params.ts:182](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/framework-params.ts#L182)
9
+ Defined in: [packages/play-url/src/framework-params.ts:148](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/framework-params.ts#L148)
10
10
 
11
11
  The params of a framework router, in the shape that [pickOwnParams](pickOwnParams.md) reads.
12
12
 
@@ -24,8 +24,7 @@ The result has a null prototype, for the same reason [pickOwnParams](pickOwnPara
24
24
  plain `{}` accumulator turns `cleaned["__proto__"] = value` into a write of the
25
25
  PROTOTYPE setter, which drops a string value in silence. `pickOwnParams` then read
26
26
  `Object.hasOwn(params, "__proto__")` as `false`, called the pick incomplete, and fell
27
- back to the URLPattern extraction which THROWS on a runtime with no URLPattern, for
28
- a route the framework had answered already.
27
+ back to the URLPattern extraction, for a route the framework had answered already.
29
28
 
30
29
  ## Parameters
31
30
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / createRouteMapFromTree
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / createRouteMapFromTree
2
2
 
3
3
  # Function: createRouteMapFromTree()
4
4
 
@@ -6,12 +6,13 @@
6
6
  function createRouteMapFromTree(routeTree, options?): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [create-route-map-from-tree.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/create-route-map-from-tree.ts#L33)
9
+ Defined in: [packages/play-router/src/create-route-map-from-tree.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/create-route-map-from-tree.ts#L40)
10
10
 
11
11
  Creates a `RouteMap` from the node structure of a `RouteTree`.
12
12
 
13
- A framework router adapter uses this function when it gives a `RouteTree` from
14
- `extractMachineRoutes()`, and not when it calls `createRouteMap()` directly.
13
+ A framework router adapter uses this function when it holds a `RouteTree`, for example
14
+ from `extractMachineRoutes()` of `@xmachines/play-router/xstate`, and not when it calls
15
+ `createRouteMap()` of that package directly.
15
16
 
16
17
  The function walks every node, and it collects the pairs
17
18
  `{ stateId: node.id, path: node.fullPath }`. `node.fullPath` is always the
@@ -19,6 +20,11 @@ absolute resolved path, for example `"/dashboard/overview"`, and `RouteMap` need
19
20
  that path for the match of a browser URL. `createRouteMap(machine)` behaves in the
20
21
  same way, because it also uses `node.fullPath`.
21
22
 
23
+ The walk SKIPS the synthetic root node. `buildRouteTree` makes that node to hold each
24
+ absolute route, and no state of a machine declares it. `createRouteMap` skips it as
25
+ well, through `getRoutableRoutes`, and the two functions therefore answer the same map
26
+ for the same tree.
27
+
22
28
  ## Parameters
23
29
 
24
30
  | Parameter | Type | Description |
@@ -36,11 +42,12 @@ A `RouteMap` for each adapter on `RouterBridgeBase`.
36
42
 
37
43
  ```typescript
38
44
  // The preferred form — one call for an XState machine:
39
- import { createRouteMap } from "@xmachines/play-router";
45
+ import { createRouteMap } from "@xmachines/play-router/xstate";
40
46
  const routeMap = createRouteMap(machine); // it takes an AnyStateMachine
41
47
 
42
48
  // The two-step form, for a framework adapter that works with a route tree:
43
- import { extractMachineRoutes, createRouteMapFromTree } from "@xmachines/play-router";
49
+ import { createRouteMapFromTree } from "@xmachines/play-router";
50
+ import { extractMachineRoutes } from "@xmachines/play-router/xstate";
44
51
  const routeTree = extractMachineRoutes(machine);
45
52
  const routeMap = createRouteMapFromTree(routeTree); // it uses node.fullPath, which is absolute
46
53
  ```
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / createRouterConnection
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / createRouterConnection
2
2
 
3
3
  # Function: createRouterConnection()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function createRouterConnection(bridge): RouterConnection;
7
7
  ```
8
8
 
9
- Defined in: [provider-lifecycle.ts:284](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L284)
9
+ Defined in: [packages/play-router/src/provider-lifecycle.ts:313](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L313)
10
10
 
11
11
  Wraps a live bridge in the [RouterConnection](../interfaces/RouterConnection.md) that `connectRouter` returns.
12
12
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / detectDuplicateRoutes
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / detectDuplicateRoutes
2
2
 
3
3
  # Function: detectDuplicateRoutes()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function detectDuplicateRoutes(routes): void;
7
7
  ```
8
8
 
9
- Defined in: [validate-routes.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/validate-routes.ts#L70)
9
+ Defined in: [packages/play-router/src/validate-routes.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/validate-routes.ts#L70)
10
10
 
11
11
  Finds each duplicate route path
12
12
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / extractQuery
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / extractQuery
2
2
 
3
3
  # Function: extractQuery()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function extractQuery(search): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [router-sync.ts:155](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-sync.ts#L155)
9
+ Defined in: [packages/play-router/src/router-sync.ts:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-sync.ts#L163)
10
10
 
11
11
  Parses a URL search string into the plain object that a `play.route` event
12
12
  needs.
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / extractRouteParams
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / extractRouteParams
2
2
 
3
3
  # Function: extractRouteParams()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function extractRouteParams(pathname, pattern): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [router-sync.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-sync.ts#L117)
9
+ Defined in: [packages/play-router/src/router-sync.ts:119](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-sync.ts#L119)
10
10
 
11
11
  Reads the named path parameters of a URL, with the URLPattern API.
12
12
 
@@ -42,7 +42,7 @@ The record of the parameter values of the read, or `{}` for a static pattern.
42
42
 
43
43
  ## Throws
44
44
 
45
- When `URLPattern` is absent and the pattern holds a parameter.
45
+ When URLPattern cannot compile the pattern.
46
46
 
47
47
  ## Example
48
48
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / findRouteById
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / findRouteById
2
2
 
3
3
  # Function: findRouteById()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function findRouteById(tree, id): RouteNode | undefined;
7
7
  ```
8
8
 
9
- Defined in: [find-route.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/find-route.ts#L59)
9
+ Defined in: [packages/play-router/src/find-route.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/find-route.ts#L56)
10
10
 
11
11
  Finds a route node by its state ID
12
12
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / findRouteByPath
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / findRouteByPath
2
2
 
3
3
  # Function: findRouteByPath()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function findRouteByPath(tree, path): RouteNode | undefined;
7
7
  ```
8
8
 
9
- Defined in: [find-route.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/find-route.ts#L86)
9
+ Defined in: [packages/play-router/src/find-route.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/find-route.ts#L83)
10
10
 
11
11
  Finds a route node by its URL path
12
12
 
@@ -0,0 +1,29 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / getPatternParamNames
2
+
3
+ # Function: getPatternParamNames()
4
+
5
+ ```ts
6
+ function getPatternParamNames(pattern): string[];
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/framework-params.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/framework-params.ts#L26)
10
+
11
+ Reads the names of every `:param` of a route pattern of the route map.
12
+
13
+ The names come from the parse of `pattern-grammar.ts`, which reads the WHOLE grammar:
14
+ a `{…}` group and a `(\d+)` constraint both hide a name from an expression that looks
15
+ for `:name` alone. An ANONYMOUS param — `*` and a bare `(\d+)` — carries no name, and
16
+ the list therefore holds none.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | --------- | -------- | ------------------------------------------------ |
22
+ | `pattern` | `string` | A route pattern, for example `/profile/:userId`. |
23
+
24
+ ## Returns
25
+
26
+ `string`[]
27
+
28
+ The names, in the order that the pattern declares them. A fresh array, because
29
+ `parsePattern` caches the parse that it reads.
@@ -0,0 +1,39 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / getRequiredPatternParamNames
2
+
3
+ # Function: getRequiredPatternParamNames()
4
+
5
+ ```ts
6
+ function getRequiredPatternParamNames(pattern): string[];
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/framework-params.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/framework-params.ts#L52)
10
+
11
+ The names of every param the pattern REQUIRES, so an optional one is left out.
12
+
13
+ A param is optional when its own modifier is `?` or `*`, and when EVERY group above it
14
+ carries one of the two. `?` alone was the test before, and it read `/files/:path*` and
15
+ `/books{/:id}?` as required patterns: a path that fills neither then counted as a gap,
16
+ the pick was discarded, and a correct parse from Vue Router or SolidJS Router went with
17
+ it. That is the same class of defect as the all-optional bug of !133, for the modifiers
18
+ that the fix did not cover.
19
+
20
+ An optional segment that did not match has no value, and a framework reports none. That
21
+ is a complete answer and not a partial one, so a MIXED pattern such as
22
+ `/profile/:userId/:tab?` keeps the parse of the framework when only `:tab` is absent.
23
+
24
+ A pattern whose params are ALL optional reports nothing at all, which reads the same as
25
+ "the framework matched another route", so [pickOwnParams](pickOwnParams.md) falls back for it.
26
+ [resolveFrameworkParams](resolveFrameworkParams.md) settles that case from the PATH instead.
27
+
28
+ ## Parameters
29
+
30
+ | Parameter | Type | Description |
31
+ | --------- | -------- | ------------------------------------------------------ |
32
+ | `pattern` | `string` | A route pattern, for example `/profile/:userId/:tab?`. |
33
+
34
+ ## Returns
35
+
36
+ `string`[]
37
+
38
+ The required names, in the order that the pattern declares them. A fresh
39
+ array, because `parsePattern` caches the parse that it reads.
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / isMountableBridge
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / isMountableBridge
2
2
 
3
3
  # Function: isMountableBridge()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function isMountableBridge(bridge): bridge is MountableRouterBridge;
7
7
  ```
8
8
 
9
- Defined in: [provider-lifecycle.ts:116](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L116)
9
+ Defined in: [packages/play-router/src/provider-lifecycle.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L125)
10
10
 
11
11
  Tells you whether a bridge can move its mount.
12
12
 
@@ -0,0 +1,37 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / joinBasePath
2
+
3
+ # Function: joinBasePath()
4
+
5
+ ```ts
6
+ function joinBasePath(basePath, path): string;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/base-path.ts:302](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L302)
10
+
11
+ Adds the base path to an outbound path of the machine.
12
+
13
+ The function joins the PATHNAME only. A query string and a hash fragment of the
14
+ path of the machine stay at the end, because the prefix belongs in front of the
15
+ path.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Description |
20
+ | ---------- | -------- | -------------------------------------------------------------------------------- |
21
+ | `basePath` | `string` | The concrete prefix of [resolveBasePath](resolveBasePath.md). `""` adds nothing. |
22
+ | `path` | `string` | The path of the machine, for example `"/dashboard"` or `"/dates?trip=one-way"`. |
23
+
24
+ ## Returns
25
+
26
+ `string`
27
+
28
+ The location for the router of the host.
29
+
30
+ ## Example
31
+
32
+ ```typescript
33
+ joinBasePath("/abc123/play", "/dashboard"); // "/abc123/play/dashboard"
34
+ joinBasePath("/abc123/play", "/"); // "/abc123/play"
35
+ joinBasePath("/abc123/play", "/x?tab=a"); // "/abc123/play/x?tab=a"
36
+ joinBasePath("", "/dashboard"); // "/dashboard"
37
+ ```
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / mountKey
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / mountKey
2
2
 
3
3
  # Function: mountKey()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function mountKey(basePath?, basePathParams?): string;
7
7
  ```
8
8
 
9
- Defined in: [provider-lifecycle.ts:134](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L134)
9
+ Defined in: [packages/play-router/src/provider-lifecycle.ts:143](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L143)
10
10
 
11
11
  A key that changes when the MOUNT changes, and never when its identity changes.
12
12
 
@@ -0,0 +1,43 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / normalizeBasePath
2
+
3
+ # Function: normalizeBasePath()
4
+
5
+ ```ts
6
+ function normalizeBasePath(basePath?): string;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/base-path.ts:130](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L130)
10
+
11
+ Normalizes a base path, and it substitutes no `:param` segment of that path.
12
+
13
+ Use this function when you want the form of the pattern, for example to declare
14
+ the routes of a machine in a route config of a host that substitutes each param
15
+ itself. [resolveBasePath](resolveBasePath.md) gives the form that a bridge needs.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Description |
20
+ | ----------- | -------- | ----------------------------------------------------------------------------------------------- |
21
+ | `basePath?` | `string` | The prefix, as a pattern or as a concrete path. An absent value, `""`, and `"/"` all give `""`. |
22
+
23
+ ## Returns
24
+
25
+ `string`
26
+
27
+ The normalized prefix. It starts with `/`, and it carries no trailing `/`.
28
+
29
+ ## Throws
30
+
31
+ For a wildcard segment, for an optional `:param?`
32
+ segment, for a `$param` segment, for a query string or a hash fragment, for a URL
33
+ scheme, for a dot segment (`.`, `..`, and their percent-encoded forms), and for any
34
+ segment that a browser rewrites — one that holds whitespace, a backslash, or a
35
+ character that a URL percent-encodes.
36
+
37
+ ## Example
38
+
39
+ ```typescript
40
+ normalizeBasePath("/:machineId/play/"); // "/:machineId/play"
41
+ normalizeBasePath("admin"); // "/admin"
42
+ normalizeBasePath("/"); // ""
43
+ ```
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / openProviderBridge
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / openProviderBridge
2
2
 
3
3
  # Function: openProviderBridge()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function openProviderBridge<TRouter, TActor>(BridgeCtor, __namedParameters): object;
7
7
  ```
8
8
 
9
- Defined in: [provider-lifecycle.ts:177](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L177)
9
+ Defined in: [packages/play-router/src/provider-lifecycle.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L189)
10
10
 
11
11
  Builds a bridge, connects it, and hands back the way to close it.
12
12
 
@@ -17,17 +17,17 @@ disconnect a later one when two mounts overlap.
17
17
 
18
18
  ## Type Parameters
19
19
 
20
- | Type Parameter |
21
- | ------------------------------------------------------------ |
22
- | `TRouter` |
23
- | `TActor` _extends_ [`PlayActor`](../interfaces/PlayActor.md) |
20
+ | Type Parameter |
21
+ | -------------------------------------------------------------------- |
22
+ | `TRouter` |
23
+ | `TActor` _extends_ [`RoutableActor`](../interfaces/RoutableActor.md) |
24
24
 
25
25
  ## Parameters
26
26
 
27
- | Parameter | Type |
28
- | ------------------- | -------------------------------------------------------------------------------------------- |
29
- | `BridgeCtor` | [`PlayRouterBridgeConstructor`](../type-aliases/PlayRouterBridgeConstructor.md)\<`TRouter`\> |
30
- | `__namedParameters` | [`OpenProviderBridgeArgs`](../interfaces/OpenProviderBridgeArgs.md)\<`TRouter`, `TActor`\> |
27
+ | Parameter | Type |
28
+ | ------------------- | ------------------------------------------------------------------------------------------------------ |
29
+ | `BridgeCtor` | [`PlayRouterBridgeConstructor`](../type-aliases/PlayRouterBridgeConstructor.md)\<`TRouter`, `TActor`\> |
30
+ | `__namedParameters` | [`OpenProviderBridgeArgs`](../interfaces/OpenProviderBridgeArgs.md)\<`TRouter`, `TActor`\> |
31
31
 
32
32
  ## Returns
33
33
 
@@ -35,7 +35,7 @@ disconnect a later one when two mounts overlap.
35
35
 
36
36
  The bridge, and a `close` that disconnects it one time.
37
37
 
38
- | Name | Type | Defined in |
39
- | --------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
40
- | `bridge` | [`RouterBridge`](../interfaces/RouterBridge.md) | [provider-lifecycle.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L180) |
41
- | `close()` | () => `void` | [provider-lifecycle.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L180) |
38
+ | Name | Type | Defined in |
39
+ | --------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
40
+ | `bridge` | [`RouterBridge`](../interfaces/RouterBridge.md) | [packages/play-router/src/provider-lifecycle.ts:192](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L192) |
41
+ | `close()` | () => `void` | [packages/play-router/src/provider-lifecycle.ts:192](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L192) |
@@ -0,0 +1,41 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / pickOwnParams
2
+
3
+ # Function: pickOwnParams()
4
+
5
+ ```ts
6
+ function pickOwnParams(params, names, requiredNames?): Record<string, string> | null;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/framework-params.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/framework-params.ts#L84)
10
+
11
+ Keeps the entries of `params` whose name the pattern of the machine declares, and
12
+ only when the result covers EVERY name of that pattern.
13
+
14
+ A complete pick is an answer, and a partial pick is not: a wrapper route of the host
15
+ can declare a subset of the params of the machine — a tenant segment, for example,
16
+ but not the document one — and keeping that subset drops the rest from a route that
17
+ declares them. The caller falls back to its own extraction for `null`.
18
+
19
+ The result has a null prototype, so a param named `__proto__` stays an own key.
20
+
21
+ An OPTIONAL name of the pattern (`:name?`) is covered whether the framework reports
22
+ it or not: a segment that did not match has no value, and that is a complete answer.
23
+ At least one declared name must come back, though — a framework that reports none
24
+ matched another route, and the path may still hold a value that only the fallback
25
+ reads. A pattern whose params are ALL optional therefore always answers `null` here
26
+ when the framework reports nothing; [resolveFrameworkParams](resolveFrameworkParams.md) then reads the PATH,
27
+ which settles the question without the framework and without URLPattern.
28
+
29
+ ## Parameters
30
+
31
+ | Parameter | Type | Default value | Description |
32
+ | --------------- | ------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
33
+ | `params` | `Record`\<`string`, `string`\> | `undefined` | The params of the framework router. [cleanFrameworkParams](cleanFrameworkParams.md) removes each empty value already, and one that reaches here anyway counts as absent: an empty value says that the segment did not match, and never that the path carries the empty string. |
34
+ | `names` | readonly `string`[] | `undefined` | The names that the pattern of the machine declares. |
35
+ | `requiredNames` | readonly `string`[] | `names` | The names the pattern REQUIRES. The default treats every name as required, so a two-argument call keeps the strict test. |
36
+
37
+ ## Returns
38
+
39
+ `Record`\<`string`, `string`\> \| `null`
40
+
41
+ The params of the machine, or `null` when the framework covers them not.
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / repointProviderBridge
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / repointProviderBridge
2
2
 
3
3
  # Function: repointProviderBridge()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function repointProviderBridge(bridge, basePath?, basePathParams?): void;
7
7
  ```
8
8
 
9
- Defined in: [provider-lifecycle.ts:241](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L241)
9
+ Defined in: [packages/play-router/src/provider-lifecycle.ts:253](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L253)
10
10
 
11
11
  Moves the mount of a live bridge, and rebuilds nothing.
12
12
 
@@ -0,0 +1,51 @@
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / resolveBasePath
2
+
3
+ # Function: resolveBasePath()
4
+
5
+ ```ts
6
+ function resolveBasePath(basePath?, params?): ResolvedBasePath;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/base-path.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L180)
10
+
11
+ Resolves a base path and its params to the concrete prefix that a browser URL
12
+ carries.
13
+
14
+ A bridge calls this function one time, and again on each `setBasePath()` call. The
15
+ result is always concrete. [stripBasePath](stripBasePath.md) therefore compares a literal
16
+ prefix, and no URLPattern match runs on the hot path of a navigation.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | ----------- | ------------------------------------------ | -------------------------------------------------- |
22
+ | `basePath?` | `string` | The prefix, as a pattern or as a concrete path. |
23
+ | `params?` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of `basePath`. |
24
+
25
+ ## Returns
26
+
27
+ [`ResolvedBasePath`](../interfaces/ResolvedBasePath.md)
28
+
29
+ The concrete prefix, and the values of each param for a `play.route` event.
30
+
31
+ ## Throws
32
+
33
+ For a wildcard segment, for an optional `:param?`
34
+ segment, for a `$param` segment, for a query string or a hash fragment, for a URL
35
+ scheme, for a dot segment (`.`, `..`, and their percent-encoded forms), and for any
36
+ segment that a browser rewrites — one that holds whitespace, a backslash, or a
37
+ character that a URL percent-encodes.
38
+
39
+ ## Throws
40
+
41
+ When a `:param` of the prefix has no value.
42
+
43
+ ## Example
44
+
45
+ ```typescript
46
+ resolveBasePath("/:machineId/play", { machineId: "abc123" });
47
+ // → { path: "/abc123/play", params: { machineId: "abc123" } }
48
+
49
+ resolveBasePath("/admin");
50
+ // → { path: "/admin", params: {} }
51
+ ```
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / resolveFrameworkParams
1
+ [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / resolveFrameworkParams
2
2
 
3
3
  # Function: resolveFrameworkParams()
4
4
 
@@ -6,18 +6,17 @@
6
6
  function resolveFrameworkParams(__namedParameters): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [framework-params.ts:298](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/framework-params.ts#L298)
9
+ Defined in: [packages/play-url/src/framework-params.ts:261](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/framework-params.ts#L261)
10
10
 
11
11
  Decides which params describe the route of the machine.
12
12
 
13
- The three branches, in the order that they apply:
13
+ The four branches, in the order that they apply:
14
14
 
15
15
  - **The pattern declares no name** — a static path, a bare `*` wildcard, or an
16
16
  unknown stateId. The answer is `{}`. The params of the framework must NOT travel
17
17
  here: under a catch-all they hold the splat of the host, and that value would reach
18
- the actor as a param of the machine. This branch also reaches no URLPattern, which
19
- matters: the extraction needs the constructor even for a pattern with no parameter,
20
- so a delegation would throw on a runtime without the API.
18
+ the actor as a param of the machine. A bare `*` names nothing that a machine can
19
+ read, and URLPattern numbers its group `0`.
21
20
  - **The bridge sits under a mount** — the framework matched a route of the HOST by
22
21
  construction, because the machine owns the suffix of the path only. Its params
23
22
  therefore describe this pattern never, whatever they are named, and a name that
@@ -27,16 +26,15 @@ The three branches, in the order that they apply:
27
26
  its parse, together with its decoding. An optional `:name?` that the framework
28
27
  reports not is covered too: a segment that did not match has no value. A gap in a
29
28
  required name falls back, because keeping it would drop a name the route declares.
30
- - **The path IS the bare form of the pattern** — every optional segment is absent, so
31
- `{}` is the complete answer. The branch reads the path and trusts the framework with
29
+ - **The path IS the bare form of the pattern** — every optional part is absent, so `{}`
30
+ is the complete answer. The branch reads the path and trusts the framework with
32
31
  nothing, which is what makes it safe under a catch-all of the host, and it calls
33
32
  URLPattern for a location that needs none.
34
33
 
35
- None of this decides whether the APPLICATION needs a URLPattern polyfill. A `RouteMap`
36
- that holds one parameterized route compiles it in the CONSTRUCTOR, and it throws a
37
- `URLPatternUnavailableError` there when the runtime has no URLPattern. The polyfill
38
- question is therefore settled at startup: only a route map of static paths alone
39
- escapes it. What these branches decide is whether a NAVIGATION calls URLPattern again.
34
+ What these branches decide is whether a NAVIGATION compiles and runs a URLPattern
35
+ again. The API itself is always present: `url-pattern-utils.ts` imports the polyfill as
36
+ an ordinary dependency, and no code path asks whether the runtime carries the native
37
+ one.
40
38
 
41
39
  ## Parameters
42
40