@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
@@ -4,20 +4,20 @@
4
4
 
5
5
  > Svelte SPA Router adapter for the XMachines Play architecture. It connects hash-based routing to a `Routable` actor, so the state machine owns the navigation.
6
6
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.2.0-blue)](https://www.npmjs.com/package/@xmachines/play-svelte-spa-router)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-4.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-svelte-spa-router)
8
8
 
9
9
  ---
10
10
 
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- pnpm add @xmachines/play-svelte-spa-router
14
+ pnpm add @xmachines/play-svelte-spa-router @xmachines/play-router
15
15
  ```
16
16
 
17
17
  **Peer dependencies.** Install them with the adapter:
18
18
 
19
19
  ```bash
20
- pnpm add svelte@^5.0.0 svelte-spa-router@^5.0.0 xstate@^5.31.0
20
+ pnpm add svelte@^5.0.0 svelte-spa-router@^5.0.0
21
21
  ```
22
22
 
23
23
  ---
@@ -30,7 +30,7 @@ Declare the route of each state in its `meta.route` field:
30
30
 
31
31
  ```typescript
32
32
  import { setup } from "xstate";
33
- import { formatPlayRouteTransitions } from "@xmachines/play-xstate";
33
+ import { formatPlayRouteTransitions } from "@xmachines/play-xstate/routing";
34
34
  import type { PlayRouteEvent } from "@xmachines/play-svelte-spa-router";
35
35
 
36
36
  const machine = setup({
@@ -54,11 +54,14 @@ Use `createRouteMap` to build a bidirectional route map from the machine. Then c
54
54
 
55
55
  ```typescript
56
56
  // runtime.ts
57
- import { definePlayer } from "@xmachines/play-xstate";
58
- import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
57
+ import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
58
+ import { withRouting } from "@xmachines/play-xstate/routing";
59
+ import { connectRouter } from "@xmachines/play-svelte-spa-router";
60
+ import { createRouteMap } from "@xmachines/play-router/xstate";
59
61
  import { machine } from "./machine.js"; // defined in the previous example
60
62
 
61
- const createPlayer = definePlayer({ machine });
63
+ // `connectRouter` needs the routing capability
64
+ const createPlayer = definePlayer({ machine, actor: compose(PlayerActor, withRouting) });
62
65
  export const actor = createPlayer();
63
66
  actor.start();
64
67
 
@@ -107,9 +110,9 @@ interface ConnectRouterOptions {
107
110
  - On `hashchange`: it reads the new location from `router.loc` and sends `play.route` to the actor.
108
111
  - On disconnect: it removes the `hashchange` listener and cancels the subscriptions to the actor signals.
109
112
 
110
- ### `createRouteMap(machine): RouteMap`
113
+ ### `createRouteMap(machine): RouteMap` — from `@xmachines/play-router/xstate`
111
114
 
112
- This function comes from `@xmachines/play-router`. It reads every `meta.route` entry of an XState machine. Then it builds a bidirectional route map with `URLPattern` matching, which includes a parameter segment and an optional segment.
115
+ This package re-exports it never: the barrel names no state machine. Import the function from `@xmachines/play-router/xstate`. It reads every `meta.route` entry of an XState machine. Then it builds a bidirectional route map with `URLPattern` matching, which includes a parameter segment and an optional segment.
113
116
 
114
117
  ### `RouteMap`
115
118
 
@@ -122,15 +125,15 @@ This type comes from `@xmachines/play-router`. It is the bidirectional map betwe
122
125
 
123
126
  ### Exported types
124
127
 
125
- | Type | Description |
126
- | ---------------------- | --------------------------------------------------------------------------------------------------------- |
127
- | `ConnectRouterOptions` | The options that `connectRouter` accepts |
128
- | `RoutableActor` | Minimal actor interface — `AbstractActor` from `@xmachines/play-actor` combined with the `Routable` mixin |
129
- | `PlayRouteEvent` | The `play.route` event type that the bridge sends to the actor |
130
- | `RouterBridge` | Interface that all router bridges must satisfy |
131
- | `RouteMapping` | Route-entry shape within a `RouteMap` |
132
- | `RouteMapOptions` | Options for `createRouteMap` |
133
- | `WindowLike` | Minimal `window` interface for testability |
128
+ | Type | Description |
129
+ | ---------------------- | ----------------------------------------------------------------------------------------------------- |
130
+ | `ConnectRouterOptions` | The options that `connectRouter` accepts |
131
+ | `RoutableActor` | Minimal actor interface — `PlayActor` from `@xmachines/play-actor` combined with the `Routable` mixin |
132
+ | `PlayRouteEvent` | The `play.route` event type that the bridge sends to the actor |
133
+ | `RouterBridge` | Interface that all router bridges must satisfy |
134
+ | `RouteMapping` | Route-entry shape within a `RouteMap` |
135
+ | `RouteMapOptions` | Options for the `RouteMap` construction |
136
+ | `WindowLike` | Minimal `window` interface for testability |
134
137
 
135
138
  ---
136
139
 
@@ -150,24 +153,6 @@ The bridge reads the initial path from `router.loc.location`, and the initial se
150
153
 
151
154
  ---
152
155
 
153
- ## Testing
154
-
155
- Run the package tests in isolation:
156
-
157
- ```bash
158
- pnpm --filter @xmachines/play-svelte-spa-router test
159
- ```
160
-
161
- Or from inside this package directory:
162
-
163
- ```bash
164
- pnpm test
165
- ```
166
-
167
- Coverage thresholds: **80%** lines / functions / branches / statements.
168
-
169
- ---
170
-
171
156
  ## License
172
157
 
173
158
  MIT © XMachines Contributors. See [LICENSE](./LICENSE).
@@ -182,17 +167,13 @@ MIT © XMachines Contributors. See [LICENSE](./LICENSE).
182
167
  - [BasePathOptions](interfaces/BasePathOptions.md)
183
168
  - [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
184
169
  - [PlayRouteEvent](interfaces/PlayRouteEvent.md)
170
+ - [RoutableActor](interfaces/RoutableActor.md)
185
171
  - [RouteMapOptions](interfaces/RouteMapOptions.md)
186
172
  - [RouteMapping](interfaces/RouteMapping.md)
187
173
  - [RouterBridge](interfaces/RouterBridge.md)
188
174
  - [RouterConnection](interfaces/RouterConnection.md)
189
175
  - [WindowLike](interfaces/WindowLike.md)
190
176
 
191
- ## Type Aliases
192
-
193
- - [RoutableActor](type-aliases/RoutableActor.md)
194
-
195
177
  ## Functions
196
178
 
197
179
  - [connectRouter](functions/connectRouter.md)
198
- - [createRouteMap](functions/createRouteMap.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L105)
5
+ Defined in: [play-router/src/base-route-map.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L111)
6
6
 
7
7
  The shared base class of the route map for both directions.
8
8
 
@@ -17,12 +17,18 @@ of its own, and it inherits the complete public API from here.
17
17
  - The class keeps each result of a first match in an LRU cache. The default size
18
18
  is 500 entries, and the `cacheSize` constructor option changes it
19
19
 
20
- **The syntax of a pattern** (`:param`, `:param?`, and `*`):
20
+ **The syntax of a pattern:** the whole URLPattern pathname grammar. The forms used most
21
+ often are:
21
22
 
22
23
  - `:param` — a necessary segment. It matches exactly one segment without a `/`
23
24
  - `:param?` — an optional segment. It matches zero segments or one segment without a `/`
24
25
  - `*` — a wildcard. It matches each number of segments, as URLPattern defines
25
26
 
27
+ A `{…}` group, a `:param(\d+)` constraint, a `+` modifier and a `\:` escape are read
28
+ too. The [routing guide](../../../../guides/routing.md) states every form, the prefix
29
+ rule, and the one divergence from the standard: a param name of this library can hold a
30
+ hyphen.
31
+
26
32
  **The forms of a stateId:** you can register a stateId, and you can look one up,
27
33
  in the form `"#stateId"` or in the form `"stateId"`. `RouteMap` makes the
28
34
  canonical form itself. `getStateIdByPath` returns the stateId exactly as you
@@ -58,7 +64,7 @@ map.getPathByStateId("missing"); // null
58
64
  new RouteMap(mappings, options?): RouteMap;
59
65
  ```
60
66
 
61
- Defined in: [play-router/src/base-route-map.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L133)
67
+ Defined in: [play-router/src/base-route-map.ts:139](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L139)
62
68
 
63
69
  Builds a route map from an array of the mappings between a state ID and a path.
64
70
 
@@ -87,7 +93,7 @@ candidates is therefore efficient.
87
93
  getPathByStateId(stateId): string | null;
88
94
  ```
89
95
 
90
- Defined in: [play-router/src/base-route-map.ts:229](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L229)
96
+ Defined in: [play-router/src/base-route-map.ts:242](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L242)
91
97
 
92
98
  Returns the path pattern of a state ID.
93
99
 
@@ -123,7 +129,7 @@ map.getPathByStateId("missing"); // null
123
129
  getStateIdByPath(path): string | null;
124
130
  ```
125
131
 
126
- Defined in: [play-router/src/base-route-map.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L189)
132
+ Defined in: [play-router/src/base-route-map.ts:197](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L197)
127
133
 
128
134
  Resolves a URL path to its state ID.
129
135
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: SvelteSpaRouterBridge
4
4
 
5
- Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/svelte-spa-router-bridge.ts#L30)
5
+ Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/svelte-spa-router-bridge.ts#L30)
6
6
 
7
7
  The Svelte SPA router bridge — it connects svelte-spa-router to RouterBridgeBase.
8
8
 
@@ -44,7 +44,7 @@ does nothing in an SSR environment" says. Give a mock in a test.
44
44
 
45
45
  ## Extends
46
46
 
47
- - [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md)
47
+ - [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md)
48
48
 
49
49
  ## Constructors
50
50
 
@@ -55,19 +55,20 @@ new SvelteSpaRouterBridge(
55
55
  actor,
56
56
  routeMap,
57
57
  win?,
58
- options?): SvelteSpaRouterBridge;
58
+ options?
59
+ ): SvelteSpaRouterBridge;
59
60
  ```
60
61
 
61
- Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/svelte-spa-router-bridge.ts#L33)
62
+ Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/svelte-spa-router-bridge.ts#L33)
62
63
 
63
64
  #### Parameters
64
65
 
65
- | Parameter | Type |
66
- | ---------- | -------------------------------------------------------------------- |
67
- | `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) |
68
- | `routeMap` | [`RouteMap`](RouteMap.md) |
69
- | `win` | [`WindowLike`](../interfaces/WindowLike.md) \| `undefined` |
70
- | `options?` | [`BasePathOptions`](../interfaces/BasePathOptions.md) |
66
+ | Parameter | Type |
67
+ | ---------- | ---------------------------------------------------------- |
68
+ | `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) |
69
+ | `routeMap` | [`RouteMap`](RouteMap.md) |
70
+ | `win` | [`WindowLike`](../interfaces/WindowLike.md) \| `undefined` |
71
+ | `options?` | [`BasePathOptions`](../interfaces/BasePathOptions.md) |
71
72
 
72
73
  #### Returns
73
74
 
@@ -75,7 +76,7 @@ Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:33](https://
75
76
 
76
77
  #### Overrides
77
78
 
78
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
79
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`constructor`](../../play-router/index/classes/RouterBridgeBase.md#constructor)
79
80
 
80
81
  ## Accessors
81
82
 
@@ -87,7 +88,7 @@ Defined in: [play-svelte-spa-router/src/svelte-spa-router-bridge.ts:33](https://
87
88
  get basePath(): string;
88
89
  ```
89
90
 
90
- Defined in: [play-router/src/router-bridge-base.ts:255](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-bridge-base.ts#L255)
91
+ Defined in: [play-router/src/router-bridge-base.ts:256](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-bridge-base.ts#L256)
91
92
 
92
93
  The resolved URL prefix that the machine of this bridge is mounted under, or `""`
93
94
  when the machine owns the complete router.
@@ -100,7 +101,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
100
101
 
101
102
  #### Inherited from
102
103
 
103
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePath`](../../play-router/classes/RouterBridgeBase.md#basepath)
104
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePath`](../../play-router/index/classes/RouterBridgeBase.md#basepath)
104
105
 
105
106
  ---
106
107
 
@@ -112,7 +113,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
112
113
  get basePathParams(): Readonly<Record<string, string>>;
113
114
  ```
114
115
 
115
- Defined in: [play-router/src/router-bridge-base.ts:284](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-bridge-base.ts#L284)
116
+ Defined in: [play-router/src/router-bridge-base.ts:285](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-bridge-base.ts#L285)
116
117
 
117
118
  The resolved values of the `:param` segments of the mount, or `{}` for a prefix
118
119
  without a param.
@@ -153,7 +154,7 @@ mount while the machine stays on the same route, and no event goes out.
153
154
 
154
155
  #### Inherited from
155
156
 
156
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/classes/RouterBridgeBase.md#basepathparams)
157
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/index/classes/RouterBridgeBase.md#basepathparams)
157
158
 
158
159
  ## Methods
159
160
 
@@ -163,7 +164,7 @@ mount while the machine stays on the same route, and no event goes out.
163
164
  connect(): void;
164
165
  ```
165
166
 
166
- Defined in: [play-router/src/router-bridge-base.ts:506](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-bridge-base.ts#L506)
167
+ Defined in: [play-router/src/router-bridge-base.ts:507](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-bridge-base.ts#L507)
167
168
 
168
169
  Connects the router bridge to the Actor.
169
170
 
@@ -187,7 +188,7 @@ An adapter that needs a different behavior of the first synchronization override
187
188
 
188
189
  #### Inherited from
189
190
 
190
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`connect`](../../play-router/classes/RouterBridgeBase.md#connect)
191
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`connect`](../../play-router/index/classes/RouterBridgeBase.md#connect)
191
192
 
192
193
  ---
193
194
 
@@ -197,7 +198,7 @@ An adapter that needs a different behavior of the first synchronization override
197
198
  disconnect(): void;
198
199
  ```
199
200
 
200
- Defined in: [play-router/src/router-bridge-base.ts:728](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-bridge-base.ts#L728)
201
+ Defined in: [play-router/src/router-bridge-base.ts:765](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-bridge-base.ts#L765)
201
202
 
202
203
  Disconnects the router bridge from the Actor.
203
204
 
@@ -210,7 +211,7 @@ framework.
210
211
 
211
212
  #### Inherited from
212
213
 
213
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
214
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/index/classes/RouterBridgeBase.md#disconnect)
214
215
 
215
216
  ---
216
217
 
@@ -220,7 +221,7 @@ framework.
220
221
  setBasePath(basePath?, basePathParams?): void;
221
222
  ```
222
223
 
223
- Defined in: [play-router/src/router-bridge-base.ts:324](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/router-bridge-base.ts#L324)
224
+ Defined in: [play-router/src/router-bridge-base.ts:325](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/router-bridge-base.ts#L325)
224
225
 
225
226
  Moves the machine to a different mount point, while it stays connected.
226
227
 
@@ -272,4 +273,4 @@ bridge.setBasePath("/:region/:machineId/play", { region: "us", machineId });
272
273
 
273
274
  #### Inherited from
274
275
 
275
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/classes/RouterBridgeBase.md#setbasepath)
276
+ [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/index/classes/RouterBridgeBase.md#setbasepath)
@@ -6,7 +6,7 @@
6
6
  function connectRouter(options): RouterConnection;
7
7
  ```
8
8
 
9
- Defined in: [play-svelte-spa-router/src/connect-router.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/connect-router.ts#L31)
9
+ Defined in: [play-svelte-spa-router/src/connect-router.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/connect-router.ts#L32)
10
10
 
11
11
  Connects svelte-spa-router to an actor.
12
12
 
@@ -25,7 +25,8 @@ It returns a cleanup function. The public API surface stays as it was (D-14).
25
25
  ## Example
26
26
 
27
27
  ```typescript
28
- import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
28
+ import { connectRouter } from "@xmachines/play-svelte-spa-router";
29
+ import { createRouteMap } from "@xmachines/play-router/xstate";
29
30
  const routeMap = createRouteMap(machine);
30
31
  const disconnect = connectRouter({ actor, routeMap });
31
32
  onDestroy(() => disconnect());
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BasePathOptions
4
4
 
5
- Defined in: [play-router/src/base-path.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L44)
5
+ Defined in: [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
6
 
7
7
  The base-path options that every router bridge, `connectRouter` function, and
8
8
  `PlayRouterProvider` component accepts.
@@ -26,7 +26,7 @@ connectRouter({
26
26
 
27
27
  ## Properties
28
28
 
29
- | Property | Modifier | Type | Description | Defined in |
30
- | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
31
- | <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](ConnectRouterOptions.md#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. | [play-router/src/base-path.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L58) |
32
- | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#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. | [play-router/src/base-path.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L72) |
29
+ | Property | Modifier | Type | Description | Defined in |
30
+ | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
31
+ | <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](ConnectRouterOptions.md#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. | [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) |
32
+ | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#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. | [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) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ConnectRouterOptions
4
4
 
5
- Defined in: [play-svelte-spa-router/src/connect-router.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/connect-router.ts#L6)
5
+ Defined in: [play-svelte-spa-router/src/connect-router.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/connect-router.ts#L6)
6
6
 
7
7
  @xmachines/play-svelte-spa-router
8
8
 
@@ -14,10 +14,10 @@ Svelte SPA router adapter for the XMachines Play architecture.
14
14
 
15
15
  ## Properties
16
16
 
17
- | Property | Modifier | Type | Description | Inherited from | Defined in |
18
- | ------------------------------------------------------ | ---------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
19
- | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) | - | - | [play-svelte-spa-router/src/connect-router.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/connect-router.ts#L7) |
20
- | <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. | [`BasePathOptions`](BasePathOptions.md).[`basePath`](BasePathOptions.md#property-basepath) | [play-router/src/base-path.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L58) |
21
- | <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. | [`BasePathOptions`](BasePathOptions.md).[`basePathParams`](BasePathOptions.md#property-basepathparams) | [play-router/src/base-path.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-path.ts#L72) |
22
- | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | - | - | [play-svelte-spa-router/src/connect-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/connect-router.ts#L8) |
23
- | <a id="property-window"></a> `window?` | `readonly` | [`WindowLike`](WindowLike.md) | The window-like object for the `hashchange` subscription. The default is the global `window`, when one exists. In an environment without a window, such as SSR or Node, the bridge skips the `hashchange` subscription. Give a mock in a test. | - | [play-svelte-spa-router/src/connect-router.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-svelte-spa-router/src/connect-router.ts#L15) |
17
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
18
+ | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
19
+ | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](RoutableActor.md) | - | - | [play-svelte-spa-router/src/connect-router.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/connect-router.ts#L7) |
20
+ | <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. | [`BasePathOptions`](BasePathOptions.md).[`basePath`](BasePathOptions.md#property-basepath) | [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) |
21
+ | <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. | [`BasePathOptions`](BasePathOptions.md).[`basePathParams`](BasePathOptions.md#property-basepathparams) | [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) |
22
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | - | - | [play-svelte-spa-router/src/connect-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/connect-router.ts#L8) |
23
+ | <a id="property-window"></a> `window?` | `readonly` | [`WindowLike`](WindowLike.md) | The window-like object for the `hashchange` subscription. The default is the global `window`, when one exists. In an environment without a window, such as SSR or Node, the bridge skips the `hashchange` subscription. Give a mock in a test. | - | [play-svelte-spa-router/src/connect-router.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-svelte-spa-router/src/connect-router.ts#L15) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouteEvent
4
4
 
5
- Defined in: [play-router/src/types.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L238)
5
+ Defined in: [play-router/src/types.ts:336](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L336)
6
6
 
7
7
  The routing event, with its parameters and its query
8
8
 
@@ -118,18 +118,13 @@ Use `play.route` when you need a navigation that knows the parameters, with the
118
118
  gives you the complete URLPatternResult, for an advanced use such as a debug or an
119
119
  analysis of the pattern.
120
120
 
121
- ## Indexable
122
-
123
- ```ts
124
- [key: string]: unknown
125
- ```
126
-
127
121
  ## Properties
128
122
 
129
- | Property | Modifier | Type | Defined in |
130
- | -------------------------------------- | ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
131
- | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:243](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L243) |
132
- | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:241](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L241) |
133
- | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:242](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L242) |
134
- | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L240) |
135
- | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:239](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L239) |
123
+ | Property | Modifier | Type | Description | Defined in |
124
+ | -------------------------------------- | ---------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
125
+ | <a id="property-data"></a> `data?` | `readonly` | [`RouteData`](../../play-router/index/type-aliases/RouteData.md) | The extra data that the SENDER of this event supplies: a router bridge, or the code of an application. It is not what the target state declares — that is [RouteObject.data](../../play-router/index/interfaces/RouteObject.md#property-data), and a resolver there reads this field. | [play-router/src/types.ts:346](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L346) |
126
+ | <a id="property-match"></a> `match?` | `readonly` | `unknown` | - | [play-router/src/types.ts:347](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L347) |
127
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:339](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L339) |
128
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L340) |
129
+ | <a id="property-to"></a> `to` | `readonly` | `string` | - | [play-router/src/types.ts:338](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L338) |
130
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | - | [play-router/src/types.ts:337](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L337) |
@@ -0,0 +1,72 @@
1
+ [API](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RoutableActor
2
+
3
+ # Interface: RoutableActor
4
+
5
+ Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L392)
6
+
7
+ The minimal actor interface that `RouterBridgeBase` and every framework router
8
+ adapter require.
9
+
10
+ It names `send` itself, and it therefore gives `RouterBridgeBase.actor.send` a type that
11
+ accepts a `PlayRouteEvent` directly. That removes the unsafe cast
12
+ `(actor.send as (e: PlayRouteEvent) => void)`.
13
+
14
+ It is [Routable](../../play-router/index/interfaces/Routable.md) with `send`. The two members of the capability are declared once,
15
+ in `Routable`, and this interface extends it. A copy of them here drifts the day that
16
+ one of the two files changes.
17
+
18
+ **It names the view NOWHERE. Routing implies no rendering.** No file of this package,
19
+ and no file of any of the eight router adapters, ever reads `currentView`. A provider
20
+ whose renderer callback reads the view binds its own `TActor`, and a constraint keeps
21
+ the concrete type of the actor whole, so that callback still reads the exact spec of
22
+ that actor.
23
+
24
+ Every `PlayActor` of `@xmachines/play-actor` that also implements `Routable`, and whose
25
+ event union holds `PlayRouteEvent`, satisfies this interface structurally. A machine
26
+ that declares no route event does NOT satisfy it, and that refusal is correct: a bridge
27
+ cannot navigate an actor that receives no route event.
28
+
29
+ ## Example
30
+
31
+ ```typescript
32
+ import type { RoutableActor } from "@xmachines/play-router";
33
+
34
+ class MyBridge extends RouterBridgeBase {
35
+ constructor(actor: RoutableActor, routeMap: RouteMap) {
36
+ super(actor, routeMap);
37
+ }
38
+ }
39
+ ```
40
+
41
+ ## Extends
42
+
43
+ - [`Routable`](../../play-router/index/interfaces/Routable.md)
44
+
45
+ ## Properties
46
+
47
+ | Property | Modifier | Type | Inherited from | Defined in |
48
+ | ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
49
+ | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [`Routable`](../../play-router/index/interfaces/Routable.md).[`currentRoute`](../../play-router/index/interfaces/Routable.md#property-currentroute) | [play-router/src/types.ts:354](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L354) |
50
+ | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [`Routable`](../../play-router/index/interfaces/Routable.md).[`initialRoute`](../../play-router/index/interfaces/Routable.md#property-initialroute) | [play-router/src/types.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L355) |
51
+
52
+ ## Methods
53
+
54
+ ### send()
55
+
56
+ ```ts
57
+ send(event): void;
58
+ ```
59
+
60
+ Defined in: [play-router/src/types.ts:394](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L394)
61
+
62
+ Sends a route navigation event to the actor.
63
+
64
+ #### Parameters
65
+
66
+ | Parameter | Type |
67
+ | --------- | ------------------------------------- |
68
+ | `event` | [`PlayRouteEvent`](PlayRouteEvent.md) |
69
+
70
+ #### Returns
71
+
72
+ `void`
@@ -2,12 +2,12 @@
2
2
 
3
3
  # Interface: RouteMapOptions
4
4
 
5
- Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/create-route-map.ts#L9)
5
+ Defined in: [play-router/src/types.ts:567](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L567)
6
6
 
7
7
  The options of `createRouteMap` and of `createRouteMapFromTree`.
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Type | Description | Defined in |
12
- | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-cachesize"></a> `cacheSize?` | `number` | The maximum number of the resolved parameterized path lookups in the cache. `RouteMap.getStateIdByPath()` resolves a parameterized pattern, for example `/profile/:userId`, with URLPattern on each call. The map keeps each path of a frequent visit in an LRU cache, and a later lookup of that path is therefore O(1). Raise this value for an application with a large set of parameterized routes, or with a high frequency of the navigation. The default is `500`. | [play-router/src/create-route-map.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/create-route-map.ts#L21) |
11
+ | Property | Type | Description | Defined in |
12
+ | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
13
+ | <a id="property-cachesize"></a> `cacheSize?` | `number` | The maximum number of the resolved parameterized path lookups in the cache. `RouteMap.getStateIdByPath()` resolves a parameterized pattern, for example `/profile/:userId`, with URLPattern on each call. The map keeps each path of a frequent visit in an LRU cache, and a later lookup of that path is therefore O(1). Raise this value for an application with a large set of parameterized routes, or with a high frequency of the navigation. The default is `500`. | [play-router/src/types.ts:579](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L579) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMapping
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L54)
5
+ Defined in: [play-router/src/base-route-map.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L54)
6
6
 
7
7
  One entry of the map between a state ID and a path.
8
8
 
@@ -24,5 +24,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
24
24
 
25
25
  | Property | Modifier | Type | Description | Defined in |
26
26
  | --------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L58) |
28
- | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L56) |
27
+ | <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L58) |
28
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/base-route-map.ts#L56) |