@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
@@ -3,24 +3,25 @@
3
3
  # Function: createPlayRouterProvider()
4
4
 
5
5
  ```ts
6
- function createPlayRouterProvider<TRouter>(BridgeCtor): <TActor>(props) => any;
6
+ function createPlayRouterProvider<TRouter, TActorBase>(BridgeCtor): <TActor>(props) => any;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-solid-router/src/create-play-router-provider.tsx:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/create-play-router-provider.tsx#L51)
9
+ Defined in: [play-solid-router/src/create-play-router-provider.tsx:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/create-play-router-provider.tsx#L51)
10
10
 
11
11
  Builds a `PlayRouterProvider` for one Solid bridge class.
12
12
 
13
13
  ## Type Parameters
14
14
 
15
- | Type Parameter |
16
- | -------------- |
17
- | `TRouter` |
15
+ | Type Parameter | Default type |
16
+ | ------------------------------------------------------------------------ | ------------------------------------------------- |
17
+ | `TRouter` | - |
18
+ | `TActorBase` _extends_ [`RoutableActor`](../interfaces/RoutableActor.md) | [`RoutableActor`](../interfaces/RoutableActor.md) |
18
19
 
19
20
  ## Parameters
20
21
 
21
- | Parameter | Type | Description |
22
- | ------------ | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
23
- | `BridgeCtor` | [`PlayRouterBridgeConstructor`](../type-aliases/PlayRouterBridgeConstructor.md)\<`TRouter`\> | The bridge class, built as `new BridgeCtor(router, actor, routeMap, options)`. |
22
+ | Parameter | Type | Description |
23
+ | ------------ | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
24
+ | `BridgeCtor` | [`PlayRouterBridgeConstructor`](../type-aliases/PlayRouterBridgeConstructor.md)\<`TRouter`, `TActorBase`\> | The bridge class, built as `new BridgeCtor(router, actor, routeMap, options)`. |
24
25
 
25
26
  ## Returns
26
27
 
@@ -1,47 +1,51 @@
1
1
  [API](../../../README.md) / [@xmachines/play-solid-router](../README.md) / PlayActor
2
2
 
3
- # Interface: PlayActor
3
+ # Interface: PlayActor\<TSnapshot, TEvent\>
4
4
 
5
- Defined in: [packages/play-router/src/types.ts:313](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L313)
5
+ Defined in: [play-actor/src/play-actor.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-actor/src/play-actor.ts#L75)
6
6
 
7
- The complete actor shape of the `PlayRouterProvider` component of each framework
8
- adapter: `play-solid-router`, `play-vue-router`, `play-react-router`, and each
9
- adapter on the shared framework router bridge bases.
7
+ The actor contract of the Play Architecture. It names NO engine.
10
8
 
11
- The shape extends `RoutableActor` with `currentView`, because the provider renders
12
- the current view spec and also keeps the routes in step. It therefore needs both
13
- capabilities.
9
+ An actor of XMachines holds exactly two things, and this interface names both: the
10
+ reactive snapshot, and the typed event dispatch. A state machine library is the concern
11
+ of an adapter, and `@xmachines/play-xstate` is the adapter of XState v5.
14
12
 
15
- - Use `RoutableActor` when you need the routing alone, for example in a
16
- `RouterBridgeBase` subclass, or in `connectRouter`.
17
- - Use `PlayActor` when the component also renders the current view spec, for
18
- example for the renderer callback parameter of `PlayRouterProvider`, and in
19
- `PlayRenderer`.
13
+ Both type parameters carry their real type through, and neither one erases it.
14
+ `AbstractActor` declares `Signal.State<unknown>`, so every consumer of a snapshot reads
15
+ `unknown` and asserts its way back.
20
16
 
21
- Every `AbstractActor` subclass that implements both `Routable` and `Viewable`
22
- satisfies this interface structurally.
17
+ A capability is optional, and each one lives with the package that holds its shared
18
+ machinery: `Routable` is in `@xmachines/play-router`, and `Viewable` is in
19
+ `@xmachines/play-view`. Neither one names an engine either, and neither one implies the
20
+ other.
23
21
 
24
22
  ## Example
25
23
 
26
24
  ```typescript
27
- import type { PlayActor } from "@xmachines/play-router";
28
-
29
- function MyRouterProvider({ actor }: { actor: PlayActor }) {
30
- // it reads actor.currentRoute for the routing, and actor.currentView for the render
25
+ import type { PlayActor } from "@xmachines/play-actor";
26
+ import type { Viewable } from "@xmachines/play-view";
27
+
28
+ // A renderer reads the view capability and the send of the contract. It names no
29
+ // engine, and it keeps the event union of the machine.
30
+ function mount<TSnapshot, TEvent extends ActorEvent>(
31
+ actor: PlayActor<TSnapshot, TEvent> & Viewable,
32
+ ): void {
33
+ actor.currentView.get();
31
34
  }
32
35
  ```
33
36
 
34
- ## Extends
37
+ ## Type Parameters
35
38
 
36
- - [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md)
39
+ | Type Parameter | Default type | Description |
40
+ | ---------------------------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------- |
41
+ | `TSnapshot` | `unknown` | The type of the snapshot that `state` holds, for example `SnapshotFrom<TMachine>`. |
42
+ | `TEvent` _extends_ [`ActorEvent`](../../play-actor/interfaces/ActorEvent.md) | [`ActorEvent`](../../play-actor/interfaces/ActorEvent.md) | The event union that `send` accepts, for example `EventFromLogic<TMachine>`. |
37
43
 
38
44
  ## Properties
39
45
 
40
- | Property | Modifier | Type | Description | Inherited from | Defined in |
41
- | ------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
42
- | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | The TC39 Signal of the current URL path of the actor, or of its state ID. | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md).[`currentRoute`](../../play-dom-router/interfaces/RoutableActor.md#property-currentroute) | [packages/play-router/src/types.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L275) |
43
- | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`PlaySpec`](../../play-actor/interfaces/PlaySpec.md) \| `null`\> | The TC39 Signal of the current view spec of the actor, or `null` when no view is active. | - | [packages/play-router/src/types.ts:315](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L315) |
44
- | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route of the initial state of the machine. The constructor fixes it. A router bridge compares it with the browser URL. It therefore separates a deep link, where the router wins, from a restore of a session, where the actor wins. | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md).[`initialRoute`](../../play-dom-router/interfaces/RoutableActor.md#property-initialroute) | [packages/play-router/src/types.ts:281](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L281) |
46
+ | Property | Modifier | Type | Description | Defined in |
47
+ | ----------------------------------- | ---------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
48
+ | <a id="property-state"></a> `state` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`TSnapshot`\> | The reactive snapshot of the current actor state. The infrastructure observes this signal, and it reacts to each state change. It therefore holds no coupling to the internal state machine of the actor. | [play-actor/src/play-actor.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-actor/src/play-actor.ts#L82) |
45
49
 
46
50
  ## Methods
47
51
 
@@ -51,20 +55,19 @@ function MyRouterProvider({ actor }: { actor: PlayActor }) {
51
55
  send(event): void;
52
56
  ```
53
57
 
54
- Defined in: [packages/play-router/src/types.ts:283](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L283)
58
+ Defined in: [play-actor/src/play-actor.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-actor/src/play-actor.ts#L90)
59
+
60
+ Sends an event to the actor.
55
61
 
56
- Sends a route navigation event to the actor.
62
+ `TEvent` gives the type safety: a concrete adapter binds it to the event union of its
63
+ own machine, and the compiler then refuses an event that the machine does not declare.
57
64
 
58
65
  #### Parameters
59
66
 
60
- | Parameter | Type |
61
- | --------- | ------------------------------------- |
62
- | `event` | [`PlayRouteEvent`](PlayRouteEvent.md) |
67
+ | Parameter | Type |
68
+ | --------- | -------- |
69
+ | `event` | `TEvent` |
63
70
 
64
71
  #### Returns
65
72
 
66
73
  `void`
67
-
68
- #### Inherited from
69
-
70
- [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md).[`send`](../../play-dom-router/interfaces/RoutableActor.md#send)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouteEvent
4
4
 
5
- Defined in: [packages/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` | [packages/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`\> | [packages/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`\> | [packages/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` | [packages/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"` | [packages/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) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouterProviderProps\<TActor\>
4
4
 
5
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L50)
5
+ Defined in: [play-solid-router/src/play-router-provider.tsx:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L47)
6
6
 
7
7
  The props of the `PlayRouterProvider` of Solid Router.
8
8
 
@@ -16,17 +16,17 @@ both directions. Take them from `useNavigate()`, from `useLocation()`, and from
16
16
 
17
17
  ## Type Parameters
18
18
 
19
- | Type Parameter | Default type |
20
- | ---------------------------------------------- | --------------------------- |
21
- | `TActor` _extends_ [`PlayActor`](PlayActor.md) | [`PlayActor`](PlayActor.md) |
19
+ | Type Parameter | Default type |
20
+ | ------------------------------------------------------ | ----------------------------------- |
21
+ | `TActor` _extends_ [`RoutableActor`](RoutableActor.md) | [`RoutableActor`](RoutableActor.md) |
22
22
 
23
23
  ## Properties
24
24
 
25
- | Property | Type | Description | Inherited from | Defined in |
26
- | ------------------------------------------------------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-actor"></a> `actor` | `TActor` | The actor to keep in step with the router. It must be a stable reference: give the same actor instance on every render. An actor in the JSX, or a new actor on each render, makes the bridge disconnect and connect again each time. | `PlayRouterProviderBaseProps.actor` | [packages/play-router/src/provider-lifecycle.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L40) |
28
- | <a id="property-basepath"></a> `basePath?` | `string` | Mounts the routes of the machine under a URL prefix that the host owns, so that the routes of the host and the routes of the machine share one router. `actor`, `router`, and `routeMap` each need a stable reference. This prop needs none, and it rebuilds the bridge never: a change moves the live bridge with `setBasePath()`, so a host route that renders again with a new prefix keeps the actor, the route map, and its cache. The prefix says WHERE an actor is mounted, and never WHICH actor is mounted. An actor never changes identity, so a prefix segment that IDENTIFIES the actor gives a different `actor` prop instead, and THAT rebuilds the bridge — which is correct, because one actor takes one bridge. A location outside the prefix belongs completely to the host: the bridge sends no event there, and it corrects no URL there. Every `:param` needs a value. An unresolved one throws a `MissingBasePathParamError` out of the mount effect, because the bridge writes no URL without it. Render this component only after the host holds the value, which a route loader or a `useParams()` call does already. | `PlayRouterProviderBaseProps.basePath` | [packages/play-router/src/provider-lifecycle.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L78) |
29
- | <a id="property-basepathparams"></a> `basePathParams?` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [PlayRouterProviderBaseProps.basePath](../../play-react-router/interfaces/PlayRouterProviderProps.md#property-basepath), for example `{ machineId }` for `basePath="/:machineId/play"`. An inline object literal is correct here: the provider compares this prop by value, and a move to the same prefix does nothing. | `PlayRouterProviderBaseProps.basePathParams` | [packages/play-router/src/provider-lifecycle.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L87) |
30
- | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `any` | The renderer callback receives the same concrete actor type as the prop. | `PlayRouterProviderBaseProps.renderer` | [packages/play-router/src/provider-lifecycle.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L89) |
31
- | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | The route map of both directions, for the lookup between a state ID and a URL path. **It must be a stable reference.** The provider builds the bridge again on each change of the identity of `routeMap`. A value in the JSX, for example `createRouteMapFromTree(routeTree)`, makes a new object on every render, and the bridge therefore connects again on every render. Hold the value with `useMemo`: `const routeMap = useMemo(() => createRouteMapFromTree(routeTree), [routeTree]);` | `PlayRouterProviderBaseProps.routeMap` | [packages/play-router/src/provider-lifecycle.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L55) |
32
- | <a id="property-router"></a> `router` | [`SolidRouterHooks`](../type-aliases/SolidRouterHooks.md) | The router instance that the bridge keeps in step with the actor. It must be a stable reference. | `PlayRouterProviderBaseProps.router` | [packages/play-router/src/provider-lifecycle.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L42) |
25
+ | Property | Type | Description | Inherited from | Defined in |
26
+ | ------------------------------------------------------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | <a id="property-actor"></a> `actor` | `TActor` | The actor to keep in step with the router. It must be a stable reference: give the same actor instance on every render. An actor in the JSX, or a new actor on each render, makes the bridge disconnect and connect again each time. | `PlayRouterProviderBaseProps.actor` | [play-router/src/provider-lifecycle.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L42) |
28
+ | <a id="property-basepath"></a> `basePath?` | `string` | Mounts the routes of the machine under a URL prefix that the host owns, so that the routes of the host and the routes of the machine share one router. `actor`, `router`, and `routeMap` each need a stable reference. This prop needs none, and it rebuilds the bridge never: a change moves the live bridge with `setBasePath()`, so a host route that renders again with a new prefix keeps the actor, the route map, and its cache. The prefix says WHERE an actor is mounted, and never WHICH actor is mounted. An actor never changes identity, so a prefix segment that IDENTIFIES the actor gives a different `actor` prop instead, and THAT rebuilds the bridge — which is correct, because one actor takes one bridge. A location outside the prefix belongs completely to the host: the bridge sends no event there, and it corrects no URL there. Every `:param` needs a value. An unresolved one throws a `MissingBasePathParamError` out of the mount effect, because the bridge writes no URL without it. Render this component only after the host holds the value, which a route loader or a `useParams()` call does already. | `PlayRouterProviderBaseProps.basePath` | [play-router/src/provider-lifecycle.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L80) |
29
+ | <a id="property-basepathparams"></a> `basePathParams?` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [PlayRouterProviderBaseProps.basePath](../../play-react-router/interfaces/PlayRouterProviderProps.md#property-basepath), for example `{ machineId }` for `basePath="/:machineId/play"`. An inline object literal is correct here: the provider compares this prop by value, and a move to the same prefix does nothing. | `PlayRouterProviderBaseProps.basePathParams` | [play-router/src/provider-lifecycle.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L89) |
30
+ | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `any` | The renderer callback receives the same concrete actor type as the prop. | `PlayRouterProviderBaseProps.renderer` | [play-router/src/provider-lifecycle.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L91) |
31
+ | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | The route map of both directions, for the lookup between a state ID and a URL path. **It must be a stable reference.** The provider builds the bridge again on each change of the identity of `routeMap`. A value in the JSX, for example `createRouteMapFromTree(routeTree)`, makes a new object on every render, and the bridge therefore connects again on every render. Hold the value with `useMemo`: `const routeMap = useMemo(() => createRouteMapFromTree(routeTree), [routeTree]);` | `PlayRouterProviderBaseProps.routeMap` | [play-router/src/provider-lifecycle.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L57) |
32
+ | <a id="property-router"></a> `router` | [`SolidRouterHooks`](../type-aliases/SolidRouterHooks.md) | The router instance that the bridge keeps in step with the actor. It must be a stable reference. | `PlayRouterProviderBaseProps.router` | [play-router/src/provider-lifecycle.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L44) |
@@ -0,0 +1,72 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid-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: [packages/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`. | [packages/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: [packages/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
 
@@ -22,7 +22,7 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
22
22
 
23
23
  ## Properties
24
24
 
25
- | Property | Modifier | Type | Description | Defined in |
26
- | --------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [packages/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"` | [packages/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) |
25
+ | Property | Modifier | Type | Description | Defined in |
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/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) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [packages/play-router/src/types.ts:359](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L359)
5
+ Defined in: [play-router/src/types.ts:438](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L438)
6
6
 
7
7
  The RouterBridge interface of a runtime infrastructure adapter
8
8
 
@@ -56,7 +56,7 @@ class MyRouterBridge implements RouterBridge {
56
56
  connect(): void | Promise<void>;
57
57
  ```
58
58
 
59
- Defined in: [packages/play-router/src/types.ts:376](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L376)
59
+ Defined in: [play-router/src/types.ts:455](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L455)
60
60
 
61
61
  Connects the router bridge to the Actor
62
62
 
@@ -86,7 +86,7 @@ await bridge.connect();
86
86
  disconnect(): void | Promise<void>;
87
87
  ```
88
88
 
89
- Defined in: [packages/play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L392)
89
+ Defined in: [play-router/src/types.ts:471](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/types.ts#L471)
90
90
 
91
91
  Disconnects the router bridge from the Actor
92
92
 
@@ -1,15 +1,24 @@
1
1
  [API](../../../README.md) / [@xmachines/play-solid-router](../README.md) / PlayRouterBridgeConstructor
2
2
 
3
- # Type Alias: PlayRouterBridgeConstructor\<TRouter\>
3
+ # Type Alias: PlayRouterBridgeConstructor\<TRouter, TActor\>
4
4
 
5
5
  ```ts
6
- type PlayRouterBridgeConstructor<TRouter> = (router, actor, routeMap, options?) => RouterBridge;
6
+ type PlayRouterBridgeConstructor<TRouter, TActor> = (
7
+ router,
8
+ actor,
9
+ routeMap,
10
+ options?,
11
+ ) => RouterBridge;
7
12
  ```
8
13
 
9
- Defined in: [packages/play-router/src/provider-lifecycle.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L101)
14
+ Defined in: [play-router/src/provider-lifecycle.ts:107](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-router/src/provider-lifecycle.ts#L107)
10
15
 
11
16
  The constructor shape that a bridge class must satisfy for a provider factory: `(router, actor, routeMap, options?) → RouterBridge`.
12
17
 
18
+ `TActor` carries the actor type of the caller through to the constructor, so the spec
19
+ type of that actor reaches the bridge whole. A bridge that reads no spec binds nothing
20
+ and receives the default.
21
+
13
22
  The return type is `RouterBridge`, the published contract of a bridge, so a
14
23
  consumer bridge of its own keeps compiling. Every bridge on `RouterBridgeBase` also
15
24
  satisfies `MountableRouterBridge`, and the provider finds that mount API at run
@@ -18,16 +27,17 @@ existed.
18
27
 
19
28
  ## Type Parameters
20
29
 
21
- | Type Parameter |
22
- | -------------- |
23
- | `TRouter` |
30
+ | Type Parameter | Default type |
31
+ | -------------------------------------------------------------------- | ------------------------------------------------- |
32
+ | `TRouter` | - |
33
+ | `TActor` _extends_ [`RoutableActor`](../interfaces/RoutableActor.md) | [`RoutableActor`](../interfaces/RoutableActor.md) |
24
34
 
25
35
  ## Parameters
26
36
 
27
37
  | Parameter | Type |
28
38
  | ---------- | ------------------------------------------------------------------------ |
29
39
  | `router` | `TRouter` |
30
- | `actor` | [`PlayActor`](../interfaces/PlayActor.md) |
40
+ | `actor` | `TActor` |
31
41
  | `routeMap` | [`RouteMap`](../classes/RouteMap.md) |
32
42
  | `options?` | [`BasePathOptions`](../../play-dom-router/interfaces/BasePathOptions.md) |
33
43
 
@@ -10,7 +10,7 @@ type PlayRouterProviderBaseProps<TRouter, TActor> = PlayRouterProviderBaseProps<
10
10
  >;
11
11
  ```
12
12
 
13
- Defined in: [packages/play-solid-router/src/create-play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/create-play-router-provider.tsx#L34)
13
+ Defined in: [play-solid-router/src/create-play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/create-play-router-provider.tsx#L34)
14
14
 
15
15
  The props of a Solid `PlayRouterProvider`.
16
16
 
@@ -20,7 +20,7 @@ bound to `JSX.Element`. See `PlayRouterProviderBaseProps` of
20
20
 
21
21
  ## Type Parameters
22
22
 
23
- | Type Parameter | Default type |
24
- | ------------------------------------------------------------ | ----------------------------------------- |
25
- | `TRouter` | - |
26
- | `TActor` _extends_ [`PlayActor`](../interfaces/PlayActor.md) | [`PlayActor`](../interfaces/PlayActor.md) |
23
+ | Type Parameter | Default type |
24
+ | -------------------------------------------------------------------- | ------------------------------------------------- |
25
+ | `TRouter` | - |
26
+ | `TActor` _extends_ [`RoutableActor`](../interfaces/RoutableActor.md) | [`RoutableActor`](../interfaces/RoutableActor.md) |
@@ -6,7 +6,7 @@
6
6
  type SolidRouterHooks = object;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:37](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L37)
9
+ Defined in: [play-solid-router/src/play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L34)
10
10
 
11
11
  The three results of the Solid Router hooks that `PlayRouterProvider` and
12
12
  `SolidRouterBridge` need. Give them directly from the hook calls of your component:
@@ -31,7 +31,7 @@ const params = useParams(); // → SolidRouterHooks.params
31
31
  location: Location;
32
32
  ```
33
33
 
34
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L39)
34
+ Defined in: [play-solid-router/src/play-router-provider.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L36)
35
35
 
36
36
  ---
37
37
 
@@ -41,7 +41,7 @@ Defined in: [packages/play-solid-router/src/play-router-provider.tsx:39](https:/
41
41
  navigate: Navigator;
42
42
  ```
43
43
 
44
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L38)
44
+ Defined in: [play-solid-router/src/play-router-provider.tsx:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L35)
45
45
 
46
46
  ---
47
47
 
@@ -51,4 +51,4 @@ Defined in: [packages/play-solid-router/src/play-router-provider.tsx:38](https:/
51
51
  params: Params;
52
52
  ```
53
53
 
54
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L40)
54
+ Defined in: [play-solid-router/src/play-router-provider.tsx:37](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L37)
@@ -6,7 +6,7 @@
6
6
  const PlayRouterProvider: <TActor>(props) => any;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-solid-router/src/play-router-provider.tsx:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-solid-router/src/play-router-provider.tsx#L99)
9
+ Defined in: [play-solid-router/src/play-router-provider.tsx:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-solid-router/src/play-router-provider.tsx#L96)
10
10
 
11
11
  Connects a `PlayerActor` to Solid Router. It keeps the actor state and the browser
12
12
  URL in step, in both directions.
@@ -38,9 +38,9 @@ function AppShell() {
38
38
 
39
39
  ## Type Parameters
40
40
 
41
- | Type Parameter |
42
- | ------------------------------------------------------------ |
43
- | `TActor` _extends_ [`PlayActor`](../interfaces/PlayActor.md) |
41
+ | Type Parameter |
42
+ | -------------------------------------------------------------------- |
43
+ | `TActor` _extends_ [`RoutableActor`](../interfaces/RoutableActor.md) |
44
44
 
45
45
  ## Parameters
46
46