@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
@@ -0,0 +1,65 @@
1
+ [API](../../../README.md) / [@xmachines/play-url](../README.md) / index
2
+
3
+ # index
4
+
5
+ @xmachines/play-url - the URL language of the Play Architecture
6
+
7
+ `URLPattern` is the pattern language of XMachines, and this package reads it in ONE
8
+ place: the parser, the compilation of a pattern against the native API or the polyfill,
9
+ a base path with its `:param` substitution, and the normalization of the params that a
10
+ framework router reports.
11
+
12
+ It knows nothing of a state machine, of a route tree, or of a router bridge. Those live
13
+ in `@xmachines/play-router`, which reads this package.
14
+
15
+ The package exists because BOTH directions need the grammar. A URL becomes a state
16
+ through the match of `@xmachines/play-router`, and a state becomes a URL through the
17
+ substitution of the routing capability of `@xmachines/play-xstate`. One parser answers
18
+ both, and neither package depends on the other.
19
+
20
+ ## See
21
+
22
+ [Routing guide](../../../../guides/routing.md)
23
+
24
+ ## Interfaces
25
+
26
+ - [BasePathOptions](interfaces/BasePathOptions.md)
27
+ - [FrameworkParamsSource](interfaces/FrameworkParamsSource.md)
28
+ - [GroupPart](interfaces/GroupPart.md)
29
+ - [LiteralPart](interfaces/LiteralPart.md)
30
+ - [ParamPart](interfaces/ParamPart.md)
31
+ - [ParsedPattern](interfaces/ParsedPattern.md)
32
+ - [PatternParam](interfaces/PatternParam.md)
33
+ - [ResolvedBasePath](interfaces/ResolvedBasePath.md)
34
+
35
+ ## Type Aliases
36
+
37
+ - [PatternModifier](type-aliases/PatternModifier.md)
38
+ - [PatternPart](type-aliases/PatternPart.md)
39
+ - [URLPatternCtor](type-aliases/URLPatternCtor.md)
40
+ - [URLPatternLike](type-aliases/URLPatternLike.md)
41
+
42
+ ## Variables
43
+
44
+ - [NO\_BASE\_PATH](variables/NO_BASE_PATH.md)
45
+ - [URLPattern](variables/URLPattern.md)
46
+
47
+ ## Functions
48
+
49
+ - [cleanFrameworkParams](functions/cleanFrameworkParams.md)
50
+ - [getCandidates](functions/getCandidates.md)
51
+ - [getCompiledPattern](functions/getCompiledPattern.md)
52
+ - [getIndexKey](functions/getIndexKey.md)
53
+ - [getNormalizedParamNameMap](functions/getNormalizedParamNameMap.md)
54
+ - [getPatternParamNames](functions/getPatternParamNames.md)
55
+ - [getRequiredPatternParamNames](functions/getRequiredPatternParamNames.md)
56
+ - [holdsUnsubstitutedParam](functions/holdsUnsubstitutedParam.md)
57
+ - [isParameterizedPattern](functions/isParameterizedPattern.md)
58
+ - [joinBasePath](functions/joinBasePath.md)
59
+ - [normalizeBasePath](functions/normalizeBasePath.md)
60
+ - [normalizeParamNames](functions/normalizeParamNames.md)
61
+ - [parsePattern](functions/parsePattern.md)
62
+ - [pickOwnParams](functions/pickOwnParams.md)
63
+ - [resolveBasePath](functions/resolveBasePath.md)
64
+ - [resolveFrameworkParams](functions/resolveFrameworkParams.md)
65
+ - [stripBasePath](functions/stripBasePath.md)
@@ -0,0 +1,39 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / cleanFrameworkParams
2
+
3
+ # Function: cleanFrameworkParams()
4
+
5
+ ```ts
6
+ function cleanFrameworkParams(params): Record<string, string>;
7
+ ```
8
+
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
+
11
+ The params of a framework router, in the shape that [pickOwnParams](pickOwnParams.md) reads.
12
+
13
+ Every framework reports a param that its own route DECLARES and that the location
14
+ did not fill: Vue Router gives `undefined` or `""`, and SolidJS Router does the
15
+ same. Such an entry is not an answer, and a pick that kept it would send an empty
16
+ value to the actor as though the path carried one. Drop it here instead, one time,
17
+ because the rule belongs to the decision of [resolveFrameworkParams](resolveFrameworkParams.md) and not
18
+ to a bridge: `VueRouterBridge` and `SolidRouterBridge` held one copy each.
19
+
20
+ A value of an array — the splat of a catch-all route of Vue Router — becomes its
21
+ `String()` form, exactly as a single value does.
22
+
23
+ The result has a null prototype, for the same reason [pickOwnParams](pickOwnParams.md) gives: a
24
+ plain `{}` accumulator turns `cleaned["__proto__"] = value` into a write of the
25
+ PROTOTYPE setter, which drops a string value in silence. `pickOwnParams` then read
26
+ `Object.hasOwn(params, "__proto__")` as `false`, called the pick incomplete, and fell
27
+ back to the URLPattern extraction, for a route the framework had answered already.
28
+
29
+ ## Parameters
30
+
31
+ | Parameter | Type | Description |
32
+ | --------- | ------------------------------- | --------------------------------------- |
33
+ | `params` | `Record`\<`string`, `unknown`\> | The raw params of the framework router. |
34
+
35
+ ## Returns
36
+
37
+ `Record`\<`string`, `string`\>
38
+
39
+ The params with no absent value, each one a string.
@@ -0,0 +1,29 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / getCandidates
2
+
3
+ # Function: getCandidates()
4
+
5
+ ```ts
6
+ function getCandidates<T>(patternBuckets, indexKey): T[];
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:242](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L242)
10
+
11
+ Joins the bucket of the named segment and the wildcard bucket of one index key.
12
+ The order of the insertion stays, through the `order` field.
13
+
14
+ ## Type Parameters
15
+
16
+ | Type Parameter |
17
+ | ---------------------- |
18
+ | `T` _extends_ `object` |
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Type | Description |
23
+ | ---------------- | ------------------------ | -------------------------------------------------------- |
24
+ | `patternBuckets` | `Map`\<`string`, `T`[]\> | The map from a bucket key to its ordered pattern entries |
25
+ | `indexKey` | `string` | The key of the first segment, from `getIndexKey` |
26
+
27
+ ## Returns
28
+
29
+ `T`[]
@@ -0,0 +1,31 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / getCompiledPattern
2
+
3
+ # Function: getCompiledPattern()
4
+
5
+ ```ts
6
+ function getCompiledPattern(pattern): URLPatternLike;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:216](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L216)
10
+
11
+ Compiles a route pattern into a `URLPattern`, and it uses the cache of the module level
12
+ again.
13
+
14
+ [normalizeParamNames](normalizeParamNames.md) normalizes the pattern before the compilation. A param name
15
+ with a hyphen (`:cat-id`) therefore becomes a valid URLPattern identifier (`:cat_id`).
16
+ A caller that reads the values of the groups must map each normalized name back with
17
+ [getNormalizedParamNameMap](getNormalizedParamNameMap.md).
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Description |
22
+ | --------- | -------- | --------------------------------------------------------------- |
23
+ | `pattern` | `string` | The string of the route pattern, for example `/profile/:userId` |
24
+
25
+ ## Returns
26
+
27
+ [`URLPatternLike`](../type-aliases/URLPatternLike.md)
28
+
29
+ ## Throws
30
+
31
+ When URLPattern cannot compile the pattern.
@@ -0,0 +1,30 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / getIndexKey
2
+
3
+ # Function: getIndexKey()
4
+
5
+ ```ts
6
+ function getIndexKey(path): string;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/pattern-grammar.ts:199](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/pattern-grammar.ts#L199)
10
+
11
+ Computes the key of the bucket index of a concrete PATH.
12
+
13
+ The key is the first path segment, for example `"settings"` of `"/settings/billing"`.
14
+ The root path `"/"` gives the key `"/"`, and a path whose first segment is EMPTY —
15
+ `"//docs"` — gives the key `""`. The two are different keys, so a pattern that matches
16
+ both asks [ParsedPattern.indexKey](../interfaces/ParsedPattern.md#property-indexkey) for the wildcard key instead.
17
+
18
+ [ParsedPattern.indexKey](../interfaces/ParsedPattern.md#property-indexkey) computes the key of a PATTERN, and it calls this
19
+ function for every pattern whose first segment is a literal. One function therefore
20
+ answers both sides, and a pattern in the wrong bucket cannot happen.
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | --------- | -------- | ------------------------- |
26
+ | `path` | `string` | The string of a URL path. |
27
+
28
+ ## Returns
29
+
30
+ `string`
@@ -0,0 +1,32 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / getNormalizedParamNameMap
2
+
3
+ # Function: getNormalizedParamNameMap()
4
+
5
+ ```ts
6
+ function getNormalizedParamNameMap(path): ReadonlyMap<string, string>;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:154](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L154)
10
+
11
+ Builds the map from each normalized URLPattern group name back to the original param
12
+ name, which holds a hyphen, of a route pattern.
13
+
14
+ The map holds only the params that [normalizeParamNames](normalizeParamNames.md) rewrote. A param with a
15
+ valid identifier keeps its own name, and it needs no entry.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type |
20
+ | --------- | -------- |
21
+ | `path` | `string` |
22
+
23
+ ## Returns
24
+
25
+ `ReadonlyMap`\<`string`, `string`\>
26
+
27
+ ## Example
28
+
29
+ ```ts
30
+ getNormalizedParamNameMap("/docs/:cat-id/:plain");
31
+ // → Map { "cat_id" → "cat-id" }
32
+ ```
@@ -0,0 +1,29 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../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-url](../../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.
@@ -0,0 +1,36 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / holdsUnsubstitutedParam
2
+
3
+ # Function: holdsUnsubstitutedParam()
4
+
5
+ ```ts
6
+ function holdsUnsubstitutedParam(pathname): boolean;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:120](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L120)
10
+
11
+ Tells you if a CONCRETE path still carries a param that nothing substituted.
12
+
13
+ This is a different question from [isParameterizedPattern](isParameterizedPattern.md), and it needs a
14
+ different test. `RouterBridgeBase.resolveNavigationPath` asks it about a value that the
15
+ ACTOR reports, which is a real path built from real param values — and a real path
16
+ carries a character of the pattern grammar whenever a param value does. `/search/a+b`,
17
+ `/tags/c++`, `/docs/rfc(2119)` and `/i18n/{en}` are all ordinary locations, and the
18
+ grammar reads a modifier, a constraint and a group in them. A bridge that judged them
19
+ by the grammar refused to navigate, and it said nothing.
20
+
21
+ The test is therefore narrow on purpose: `:` and `*` are the two characters that mark a
22
+ param a substitution did not fill, and a path that holds one of them can reach the URL
23
+ bar never. A param VALUE that holds one of them is refused too, which is the price, and
24
+ it is the price this library paid before the grammar existed.
25
+
26
+ ## Parameters
27
+
28
+ | Parameter | Type | Description |
29
+ | ---------- | -------- | -------------------------------------------------------------------- |
30
+ | `pathname` | `string` | The PATHNAME half of an actor route, with the query already removed. |
31
+
32
+ ## Returns
33
+
34
+ `boolean`
35
+
36
+ `true` when the path cannot go to the URL bar as it stands
@@ -0,0 +1,36 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / isParameterizedPattern
2
+
3
+ # Function: isParameterizedPattern()
4
+
5
+ ```ts
6
+ function isParameterizedPattern(pattern): boolean;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:97](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L97)
10
+
11
+ Tells you if a route path needs a URLPattern match, and is not a concrete URL.
12
+
13
+ A pattern holds a param — `:name`, `(\d+)` or `*` — or a `{…}` group, or an escape.
14
+ Each of them needs a match, and each of them carries no concrete value, so the code
15
+ can push such a path to a browser URL never.
16
+
17
+ This function is THE single source of truth of the question "is this path a pattern?".
18
+ `RouteMap` uses it for its decision between the static map and the index of the pattern
19
+ buckets, and `extractRouteParams` uses it to answer `{}` for a literal path. A CONCRETE
20
+ path asks [holdsUnsubstitutedParam](holdsUnsubstitutedParam.md) instead, and never this function.
21
+
22
+ The answer comes from the parse, and not from a search for a `:` or a `*`. That search
23
+ called `/a{/b}?/c` a static path, and `RouteMap` then put it in the exact-match map,
24
+ where the path `/a/c` reached it never.
25
+
26
+ ## Parameters
27
+
28
+ | Parameter | Type | Description |
29
+ | --------- | -------- | ------------------------------------------------------------------------------------------- |
30
+ | `pattern` | `string` | The string of a URL path or of a route pattern, for example `/profile/:userId` or `/docs/*` |
31
+
32
+ ## Returns
33
+
34
+ `boolean`
35
+
36
+ `true` when the path needs a URLPattern match
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / joinBasePath
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / joinBasePath
2
2
 
3
3
  # Function: joinBasePath()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function joinBasePath(basePath, path): string;
7
7
  ```
8
8
 
9
- Defined in: [base-path.ts:302](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L302)
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
10
 
11
11
  Adds the base path to an outbound path of the machine.
12
12
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / normalizeBasePath
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / normalizeBasePath
2
2
 
3
3
  # Function: normalizeBasePath()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function normalizeBasePath(basePath?): string;
7
7
  ```
8
8
 
9
- Defined in: [base-path.ts:130](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L130)
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
10
 
11
11
  Normalizes a base path, and it substitutes no `:param` segment of that path.
12
12
 
@@ -0,0 +1,36 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / normalizeParamNames
2
+
3
+ # Function: normalizeParamNames()
4
+
5
+ ```ts
6
+ function normalizeParamNames(path): string;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/url-pattern-utils.ts:139](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/url-pattern-utils.ts#L139)
10
+
11
+ Normalizes a route path, so that each of its parameter names is a valid URLPattern
12
+ identifier.
13
+
14
+ URLPattern requires a valid JS identifier as a parameter name, and such an identifier
15
+ holds no hyphen. Therefore the function replaces a name with a hyphen, for example
16
+ `:cat-id`, with the equivalent name with an underscore (`:cat_id`), for the compilation
17
+ step of URLPattern. A caller that needs the values of the captured groups, and not a
18
+ test of the match alone, must map each normalized group name back to the original param
19
+ name with [getNormalizedParamNameMap](getNormalizedParamNameMap.md).
20
+
21
+ ## Parameters
22
+
23
+ | Parameter | Type |
24
+ | --------- | -------- |
25
+ | `path` | `string` |
26
+
27
+ ## Returns
28
+
29
+ `string`
30
+
31
+ ## Example
32
+
33
+ ```ts
34
+ normalizeParamNames("/docs/:cat-id/:page-num?");
35
+ // → "/docs/:cat_id/:page_num?"
36
+ ```
@@ -0,0 +1,27 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / parsePattern
2
+
3
+ # Function: parsePattern()
4
+
5
+ ```ts
6
+ function parsePattern(pattern): ParsedPattern;
7
+ ```
8
+
9
+ Defined in: [packages/play-url/src/pattern-grammar.ts:262](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/pattern-grammar.ts#L262)
10
+
11
+ Reads a route pattern, one time for each distinct pattern.
12
+
13
+ The parser reports a fault never. A pattern that it cannot read reports
14
+ `parameterized: true` and `bareForm: null`, which sends it to the URLPattern
15
+ constructor and keeps every derived answer on the safe side.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Description |
20
+ | --------- | -------- | -------------------------------------------------- |
21
+ | `pattern` | `string` | The route pattern, for example `/profile/:userId`. |
22
+
23
+ ## Returns
24
+
25
+ [`ParsedPattern`](../interfaces/ParsedPattern.md)
26
+
27
+ The parse. The caller treats it as read-only: the cache holds this object.
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / pickOwnParams
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / pickOwnParams
2
2
 
3
3
  # Function: pickOwnParams()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function pickOwnParams(params, names, requiredNames?): Record<string, string> | null;
7
7
  ```
8
8
 
9
- Defined in: [framework-params.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/framework-params.ts#L117)
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
10
 
11
11
  Keeps the entries of `params` whose name the pattern of the machine declares, and
12
12
  only when the result covers EVERY name of that pattern.
@@ -31,8 +31,8 @@ which settles the question without the framework and without URLPattern.
31
31
  | Parameter | Type | Default value | Description |
32
32
  | --------------- | ------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
33
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` | `string`[] | `undefined` | The names that the pattern of the machine declares. |
35
- | `requiredNames` | `string`[] | `names` | The names the pattern REQUIRES. The default treats every name as required, so a two-argument call keeps the strict test. |
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
36
 
37
37
  ## Returns
38
38
 
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / resolveBasePath
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / resolveBasePath
2
2
 
3
3
  # Function: resolveBasePath()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function resolveBasePath(basePath?, params?): ResolvedBasePath;
7
7
  ```
8
8
 
9
- Defined in: [base-path.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L180)
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
10
 
11
11
  Resolves a base path and its params to the concrete prefix that a browser URL
12
12
  carries.
@@ -0,0 +1,49 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / resolveFrameworkParams
2
+
3
+ # Function: resolveFrameworkParams()
4
+
5
+ ```ts
6
+ function resolveFrameworkParams(__namedParameters): Record<string, string>;
7
+ ```
8
+
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
+
11
+ Decides which params describe the route of the machine.
12
+
13
+ The four branches, in the order that they apply:
14
+
15
+ - **The pattern declares no name** — a static path, a bare `*` wildcard, or an
16
+ unknown stateId. The answer is `{}`. The params of the framework must NOT travel
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. A bare `*` names nothing that a machine can
19
+ read, and URLPattern numbers its group `0`.
20
+ - **The bridge sits under a mount** — the framework matched a route of the HOST by
21
+ construction, because the machine owns the suffix of the path only. Its params
22
+ therefore describe this pattern never, whatever they are named, and a name that
23
+ happens to collide carries the value of the host. Read the params of the machine
24
+ from its own pattern instead.
25
+ - **The framework covers every REQUIRED name** — it matched the machine route. Keep
26
+ its parse, together with its decoding. An optional `:name?` that the framework
27
+ reports not is covered too: a segment that did not match has no value. A gap in a
28
+ required name falls back, because keeping it would drop a name the route declares.
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
31
+ nothing, which is what makes it safe under a catch-all of the host, and it calls
32
+ URLPattern for a location that needs none.
33
+
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.
38
+
39
+ ## Parameters
40
+
41
+ | Parameter | Type |
42
+ | ------------------- | ----------------------------------------------------------------- |
43
+ | `__namedParameters` | [`FrameworkParamsSource`](../interfaces/FrameworkParamsSource.md) |
44
+
45
+ ## Returns
46
+
47
+ `Record`\<`string`, `string`\>
48
+
49
+ The path parameters of the machine route, or `{}`.
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-router](../README.md) / stripBasePath
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / stripBasePath
2
2
 
3
3
  # Function: stripBasePath()
4
4
 
@@ -6,7 +6,7 @@
6
6
  function stripBasePath(pathname, basePath): string | null;
7
7
  ```
8
8
 
9
- Defined in: [base-path.ts:276](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L276)
9
+ Defined in: [packages/play-url/src/base-path.ts:276](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L276)
10
10
 
11
11
  Removes the base path from an inbound location of the router.
12
12
 
@@ -0,0 +1,28 @@
1
+ [API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / BasePathOptions
2
+
3
+ # Interface: BasePathOptions
4
+
5
+ Defined in: [packages/play-url/src/base-path.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L44)
6
+
7
+ The base-path options that every router bridge, `connectRouter` function, and
8
+ `PlayRouterProvider` component accepts.
9
+
10
+ ## Example
11
+
12
+ ```typescript
13
+ // A host that mounts a machine under a route it resolved in a loader
14
+ connectRouter({
15
+ actor,
16
+ router,
17
+ routeMap,
18
+ basePath: "/:machineId/play",
19
+ basePathParams: { machineId },
20
+ });
21
+ ```
22
+
23
+ ## Properties
24
+
25
+ | Property | Modifier | Type | Description | Defined in |
26
+ | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [packages/play-url/src/base-path.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L58) |
28
+ | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [packages/play-url/src/base-path.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-url/src/base-path.ts#L72) |