@xmachines/docs 2.1.1 → 3.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 (360) hide show
  1. package/README.md +2 -2
  2. package/api/@xmachines/play/README.md +74 -7
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/asCleanup.md +78 -0
  6. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  7. package/api/@xmachines/play/type-aliases/Cleanup.md +38 -0
  8. package/api/@xmachines/play/type-aliases/DisposeKey.md +32 -0
  9. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  10. package/api/@xmachines/play/variables/DISPOSE.md +34 -0
  11. package/api/@xmachines/play-actor/README.md +8 -1
  12. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  13. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  14. package/api/@xmachines/play-actor/functions/composePlayState.md +1 -1
  15. package/api/@xmachines/play-actor/functions/createFailureLatch.md +20 -0
  16. package/api/@xmachines/play-actor/functions/createReportGuard.md +26 -0
  17. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +1 -1
  18. package/api/@xmachines/play-actor/functions/guardContextWrites.md +1 -1
  19. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +1 -1
  20. package/api/@xmachines/play-actor/functions/reuseComposedState.md +1 -1
  21. package/api/@xmachines/play-actor/functions/sameViewInputs.md +25 -0
  22. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +1 -1
  23. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  24. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  25. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  26. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  27. package/api/@xmachines/play-actor/interfaces/FailureLatch.md +59 -0
  28. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  29. package/api/@xmachines/play-actor/interfaces/ReportGuard.md +92 -0
  30. package/api/@xmachines/play-actor/interfaces/ReportGuardMessages.md +18 -0
  31. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +2 -2
  32. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  33. package/api/@xmachines/play-actor/interfaces/ViewInputs.md +19 -0
  34. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +3 -3
  35. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +4 -4
  36. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  37. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +1 -1
  38. package/api/@xmachines/play-dom/README.md +84 -16
  39. package/api/@xmachines/play-dom/classes/PlayRenderer.md +10 -10
  40. package/api/@xmachines/play-dom/functions/createPlayUI.md +8 -8
  41. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  42. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -11
  43. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -4
  44. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -12
  45. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +38 -0
  46. package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +36 -0
  47. package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -1
  48. package/api/@xmachines/play-dom-router/README.md +46 -18
  49. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +149 -7
  50. package/api/@xmachines/play-dom-router/functions/connectRouter.md +6 -5
  51. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +3 -3
  52. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  53. package/api/@xmachines/play-dom-router/functions/createRouter.md +20 -8
  54. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +32 -0
  55. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +27 -17
  56. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  57. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +12 -6
  58. package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +262 -0
  59. package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +80 -0
  60. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  61. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  62. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  63. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  64. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  65. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  66. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  67. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +105 -0
  68. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +26 -5
  69. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +38 -0
  70. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +34 -0
  71. package/api/@xmachines/play-react/README.md +2 -2
  72. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +42 -7
  73. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  74. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  76. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  77. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -6
  78. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -5
  79. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  80. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  81. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  82. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +1 -1
  83. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  84. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  85. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  86. package/api/@xmachines/play-react-router/README.md +2 -2
  87. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +172 -15
  88. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  89. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +7 -18
  90. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  91. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  92. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
  93. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  94. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +10 -8
  95. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  96. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  97. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  98. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  99. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  100. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  101. package/api/@xmachines/play-router/README.md +308 -11
  102. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  103. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +178 -19
  104. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  105. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  106. package/api/@xmachines/play-router/functions/cleanFrameworkParams.md +40 -0
  107. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  108. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  109. package/api/@xmachines/play-router/functions/createRouterConnection.md +21 -0
  110. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  111. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  112. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  113. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  114. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  115. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  116. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  117. package/api/@xmachines/play-router/functions/getPatternParamNames.md +24 -0
  118. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +36 -0
  119. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  120. package/api/@xmachines/play-router/functions/getRouteMappings.md +67 -0
  121. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  122. package/api/@xmachines/play-router/functions/isMountableBridge.md +26 -0
  123. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  124. package/api/@xmachines/play-router/functions/joinBasePath.md +37 -0
  125. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  126. package/api/@xmachines/play-router/functions/mountKey.md +28 -0
  127. package/api/@xmachines/play-router/functions/normalizeBasePath.md +43 -0
  128. package/api/@xmachines/play-router/functions/openProviderBridge.md +41 -0
  129. package/api/@xmachines/play-router/functions/pickOwnParams.md +41 -0
  130. package/api/@xmachines/play-router/functions/repointProviderBridge.md +27 -0
  131. package/api/@xmachines/play-router/functions/resolveBasePath.md +51 -0
  132. package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +51 -0
  133. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  134. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  135. package/api/@xmachines/play-router/functions/stripBasePath.md +44 -0
  136. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  137. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  138. package/api/@xmachines/play-router/interfaces/BasePathOptions.md +32 -0
  139. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
  140. package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +47 -0
  141. package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
  142. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +5 -5
  143. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
  144. package/api/@xmachines/play-router/interfaces/MountableRouterBridge.md +130 -0
  145. package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +28 -0
  146. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  147. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +33 -0
  149. package/api/@xmachines/play-router/interfaces/ResolvedBasePath.md +14 -0
  150. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
  151. package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
  152. package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
  153. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
  154. package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
  155. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  156. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  157. package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
  158. package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
  159. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  160. package/api/@xmachines/play-router/interfaces/RouterBridge.md +7 -3
  161. package/api/@xmachines/play-router/interfaces/RouterConnection.md +105 -0
  162. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  163. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +1 -1
  164. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  165. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +36 -0
  166. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  167. package/api/@xmachines/play-router/variables/DISPOSE.md +34 -0
  168. package/api/@xmachines/play-router/variables/NO_BASE_PATH.md +18 -0
  169. package/api/@xmachines/play-signals/README.md +4 -2
  170. package/api/@xmachines/play-signals/functions/watchSignal.md +27 -4
  171. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  172. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  173. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  174. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  175. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  176. package/api/@xmachines/play-signals/type-aliases/Cleanup.md +38 -0
  177. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  178. package/api/@xmachines/play-solid/README.md +23 -5
  179. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  180. package/api/@xmachines/play-solid/functions/usePlayView.md +14 -1
  181. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  182. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  183. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +13 -5
  184. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  185. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  186. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  187. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  188. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  189. package/api/@xmachines/play-solid-router/README.md +19 -3
  190. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  191. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +166 -18
  192. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +8 -18
  193. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  194. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  195. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
  196. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  197. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
  198. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  199. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  200. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  201. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -12
  202. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  203. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  204. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  205. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  206. package/api/@xmachines/play-svelte/README.md +3 -3
  207. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  208. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  209. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +7 -1
  210. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  211. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  212. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  213. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  214. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  215. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  216. package/api/@xmachines/play-svelte-spa-router/README.md +3 -1
  217. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  218. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +148 -6
  219. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -3
  220. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  221. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +32 -0
  222. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +12 -6
  223. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  224. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  225. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  226. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  227. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +105 -0
  228. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  229. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  230. package/api/@xmachines/play-sveltekit-router/README.md +3 -1
  231. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  232. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +148 -6
  233. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -3
  234. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  235. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +32 -0
  236. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +28 -6
  237. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  238. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  239. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  240. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  241. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  242. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +105 -0
  243. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  244. package/api/@xmachines/play-tanstack-react-router/README.md +2 -2
  245. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  246. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +148 -6
  247. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +7 -18
  248. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  249. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  250. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  251. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
  252. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  253. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +10 -8
  254. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  255. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  256. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  257. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  258. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  259. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  260. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  261. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  262. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  263. package/api/@xmachines/play-tanstack-router/README.md +1 -1
  264. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +153 -11
  265. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  266. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  267. package/api/@xmachines/play-tanstack-solid-router/README.md +2 -2
  268. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  269. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +149 -7
  270. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +7 -17
  271. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  272. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
  273. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  274. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
  275. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  276. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  277. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  278. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
  279. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
  280. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  281. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  284. package/api/@xmachines/play-vue/README.md +34 -12
  285. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  286. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  287. package/api/@xmachines/play-vue/functions/usePlayView.md +6 -1
  288. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +12 -7
  289. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +15 -10
  290. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  291. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  292. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  293. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  294. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  295. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  296. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  297. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +6 -1
  298. package/api/@xmachines/play-vue-router/README.md +1 -1
  299. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  300. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +154 -12
  301. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  302. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
  303. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  304. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  305. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  306. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  307. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  308. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +1 -1
  309. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +25 -2
  310. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +1 -1
  311. package/api/@xmachines/play-xstate/README.md +19 -2
  312. package/api/@xmachines/play-xstate/classes/PlayerActor.md +53 -17
  313. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  314. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  315. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  316. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  317. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  318. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  319. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  320. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  321. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  322. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  323. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  324. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  325. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  326. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +7 -7
  327. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  328. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  329. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  330. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  331. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  332. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  333. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  334. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  335. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  336. package/api/@xmachines/play-xstate/variables/DISPOSE.md +34 -0
  337. package/api/@xmachines/shared/README.md +1 -1
  338. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  339. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  340. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  341. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  342. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  343. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  344. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  345. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  346. package/contributing/architecture.md +5 -1
  347. package/contributing/configuration.md +60 -18
  348. package/contributing/development.md +66 -44
  349. package/contributing/testing.md +34 -7
  350. package/examples/README.md +1 -1
  351. package/examples/multi-router-integration.md +126 -1
  352. package/examples/routing-patterns.md +1 -1
  353. package/guides/getting-started.md +7 -7
  354. package/guides/inspector.md +1 -1
  355. package/guides/signals.md +43 -0
  356. package/package.json +1 -1
  357. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
  358. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -30
  359. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
  360. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -31
@@ -3,15 +3,16 @@
3
3
  # Function: connectRouter()
4
4
 
5
5
  ```ts
6
- function connectRouter(options): () => void;
6
+ function connectRouter(options): RouterConnection;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/connect-router.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/connect-router.ts#L52)
9
+ Defined in: [play-dom-router/src/connect-router.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L54)
10
10
 
11
11
  Connects the vanilla router to an actor. This is a pure browser integration.
12
12
 
13
- The function returns a cleanup function. That function calls
14
- `bridge.disconnect()` to stop the synchronization.
13
+ The function returns a CALLABLE handle: call it to stop the synchronization, as
14
+ before. The handle also carries the mount — `basePath`, `basePathParams` and
15
+ `setBasePath()` — because the bridge itself stays inside this function.
15
16
 
16
17
  ## Parameters
17
18
 
@@ -21,7 +22,7 @@ The function returns a cleanup function. That function calls
21
22
 
22
23
  ## Returns
23
24
 
24
- () => `void`
25
+ [`RouterConnection`](../interfaces/RouterConnection.md)
25
26
 
26
27
  ## Example
27
28
 
@@ -3,10 +3,10 @@
3
3
  # Function: createBrowserHistory()
4
4
 
5
5
  ```ts
6
- function createBrowserHistory(options): BrowserHistory;
6
+ function createBrowserHistory(options): DisposableBrowserHistory;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-browser-history.ts:122](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L122)
9
+ Defined in: [play-dom-router/src/create-browser-history.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L167)
10
10
 
11
11
  Creates a browser history that wraps window.history
12
12
 
@@ -54,4 +54,4 @@ teardown.
54
54
 
55
55
  ## Returns
56
56
 
57
- [`BrowserHistory`](../interfaces/BrowserHistory.md)
57
+ [`DisposableBrowserHistory`](../interfaces/DisposableBrowserHistory.md)
@@ -6,7 +6,7 @@
6
6
  function createRouteMap(machine, options?): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/create-route-map.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-router/src/create-route-map.ts#L47)
9
+ Defined in: [play-router/src/create-route-map.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/create-route-map.ts#L47)
10
10
 
11
11
  Creates a `RouteMap` from an XState state machine.
12
12
 
@@ -3,10 +3,10 @@
3
3
  # Function: createRouter()
4
4
 
5
5
  ```ts
6
- function createRouter(options): VanillaRouter;
6
+ function createRouter<History>(options): DisposableVanillaRouter<History>;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-router.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-router.ts#L52)
9
+ Defined in: [play-dom-router/src/create-router.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L101)
10
10
 
11
11
  Creates the vanilla router for a framework-agnostic routing.
12
12
 
@@ -41,14 +41,26 @@ disconnect();
41
41
  router.destroy();
42
42
  ```
43
43
 
44
+ Or let a scope do it, which releases the history on an exception too:
45
+
46
+ ```typescript
47
+ using router = createRouter({ routeTree, history });
48
+ ```
49
+
50
+ ## Type Parameters
51
+
52
+ | Type Parameter |
53
+ | ----------------------------------------------------------------------- |
54
+ | `History` _extends_ [`BrowserHistory`](../interfaces/BrowserHistory.md) |
55
+
44
56
  ## Parameters
45
57
 
46
- | Parameter | Type |
47
- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
48
- | `options` | \{ `history`: [`BrowserHistory`](../interfaces/BrowserHistory.md); `routeTree`: [`RouteTree`](../../play-router/interfaces/RouteTree.md); \} |
49
- | `options.history` | [`BrowserHistory`](../interfaces/BrowserHistory.md) |
50
- | `options.routeTree` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) |
58
+ | Parameter | Type |
59
+ | ------------------- | -------------------------------------------------------------------------------------------------- |
60
+ | `options` | \{ `history`: `History`; `routeTree`: [`RouteTree`](../../play-router/interfaces/RouteTree.md); \} |
61
+ | `options.history` | `History` |
62
+ | `options.routeTree` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) |
51
63
 
52
64
  ## Returns
53
65
 
54
- [`VanillaRouter`](../interfaces/VanillaRouter.md)
66
+ [`DisposableVanillaRouter`](../interfaces/DisposableVanillaRouter.md)\<`History`\>
@@ -0,0 +1,32 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / BasePathOptions
2
+
3
+ # Interface: BasePathOptions
4
+
5
+ Defined in: [play-router/src/base-path.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-path.ts#L44)
6
+
7
+ The base-path options that every router bridge, `connectRouter` function, and
8
+ `PlayRouterProvider` component accepts.
9
+
10
+ ## Example
11
+
12
+ ```typescript
13
+ // A host that mounts a machine under a route it resolved in a loader
14
+ connectRouter({
15
+ actor,
16
+ router,
17
+ routeMap,
18
+ basePath: "/:machineId/play",
19
+ basePathParams: { machineId },
20
+ });
21
+ ```
22
+
23
+ ## Extended by
24
+
25
+ - [`ConnectRouterOptions`](ConnectRouterOptions.md)
26
+
27
+ ## Properties
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/v3.0.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/v3.0.0/packages/play-router/src/base-path.ts#L72) |
@@ -2,17 +2,21 @@
2
2
 
3
3
  # Interface: BrowserHistory
4
4
 
5
- Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L1)
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:3](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L3)
6
+
7
+ ## Extended by
8
+
9
+ - [`DisposableBrowserHistory`](DisposableBrowserHistory.md)
6
10
 
7
11
  ## Properties
8
12
 
9
- | Property | Modifier | Type | Description | Defined in |
10
- | ----------------------------------------- | ---------- | --------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-location"></a> `location` | `readonly` | `object` | Returns the state of the current location | [play-dom-router/src/create-browser-history.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L5) |
12
- | `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L8) |
13
- | `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L6) |
14
- | `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L7) |
15
- | `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L9) |
13
+ | Property | Modifier | Type | Description | Defined in |
14
+ | ----------------------------------------- | ---------- | --------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
15
+ | <a id="property-location"></a> `location` | `readonly` | `object` | Returns the state of the current location | [play-dom-router/src/create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L7) |
16
+ | `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L10) |
17
+ | `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L8) |
18
+ | `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L9) |
19
+ | `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L11) |
16
20
 
17
21
  ## Methods
18
22
 
@@ -22,7 +26,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com
22
26
  back(): void;
23
27
  ```
24
28
 
25
- Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L26)
29
+ Defined in: [play-dom-router/src/create-browser-history.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L28)
26
30
 
27
31
  #### Returns
28
32
 
@@ -36,7 +40,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.co
36
40
  createHref(path): string;
37
41
  ```
38
42
 
39
- Defined in: [play-dom-router/src/create-browser-history.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L38)
43
+ Defined in: [play-dom-router/src/create-browser-history.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L46)
40
44
 
41
45
  Creates an href from a path
42
46
 
@@ -58,7 +62,7 @@ Creates an href from a path
58
62
  destroy(): void;
59
63
  ```
60
64
 
61
- Defined in: [play-dom-router/src/create-browser-history.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L46)
65
+ Defined in: [play-dom-router/src/create-browser-history.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L54)
62
66
 
63
67
  Cleans up.
64
68
 
@@ -77,7 +81,7 @@ A second call is safe. When more than one wrapper shares the same
77
81
  forward(): void;
78
82
  ```
79
83
 
80
- Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L27)
84
+ Defined in: [play-dom-router/src/create-browser-history.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L29)
81
85
 
82
86
  #### Returns
83
87
 
@@ -91,7 +95,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.co
91
95
  go(delta): void;
92
96
  ```
93
97
 
94
- Defined in: [play-dom-router/src/create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L25)
98
+ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L27)
95
99
 
96
100
  Moves back or forward in the history
97
101
 
@@ -113,7 +117,7 @@ Moves back or forward in the history
113
117
  push(path, state?): void;
114
118
  ```
115
119
 
116
- Defined in: [play-dom-router/src/create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L15)
120
+ Defined in: [play-dom-router/src/create-browser-history.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L17)
117
121
 
118
122
  Pushes a new URL to the history
119
123
 
@@ -136,7 +140,7 @@ Pushes a new URL to the history
136
140
  replace(path, state?): void;
137
141
  ```
138
142
 
139
- Defined in: [play-dom-router/src/create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L20)
143
+ Defined in: [play-dom-router/src/create-browser-history.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L22)
140
144
 
141
145
  Replaces the current URL in the history
142
146
 
@@ -159,10 +163,16 @@ Replaces the current URL in the history
159
163
  subscribe(listener): () => void;
160
164
  ```
161
165
 
162
- Defined in: [play-dom-router/src/create-browser-history.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L33)
166
+ Defined in: [play-dom-router/src/create-browser-history.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L41)
163
167
 
164
168
  Subscribes to the history changes.
165
- It returns a function that cancels the subscription
169
+ It returns a function that cancels the subscription.
170
+
171
+ The return is a plain function here, because a consumer IMPLEMENTS this interface
172
+ to inject its own history for a test or for SSR. A `Cleanup` return would refuse
173
+ every implementation that hands a plain function back.
174
+ [DisposableBrowserHistory](DisposableBrowserHistory.md) narrows it for the value that
175
+ [createBrowserHistory](../functions/createBrowserHistory.md) builds, which nothing implements.
166
176
 
167
177
  #### Parameters
168
178
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BrowserWindow
4
4
 
5
- Defined in: [play-dom-router/src/create-browser-history.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L59)
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L104)
6
6
 
7
7
  The minimal window interface of createBrowserHistory
8
8
 
@@ -13,19 +13,19 @@ different in each environment.
13
13
 
14
14
  ## Properties
15
15
 
16
- | Property | Modifier | Type | Defined in |
17
- | ----------------------------------------- | ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
18
- | <a id="property-history"></a> `history` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L60) |
19
- | `history.state` | `readonly` | `unknown` | [play-dom-router/src/create-browser-history.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L61) |
20
- | `history.back` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L65) |
21
- | `history.forward` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L66) |
22
- | `history.go` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L64) |
23
- | `history.pushState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L62) |
24
- | `history.replaceState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L63) |
25
- | <a id="property-location"></a> `location` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L68) |
26
- | `location.hash` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L71) |
27
- | `location.pathname` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L69) |
28
- | `location.search` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L70) |
16
+ | Property | Modifier | Type | Defined in |
17
+ | ----------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
18
+ | <a id="property-history"></a> `history` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L105) |
19
+ | `history.state` | `readonly` | `unknown` | [play-dom-router/src/create-browser-history.ts:106](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L106) |
20
+ | `history.back` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L110) |
21
+ | `history.forward` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L111) |
22
+ | `history.go` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:109](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L109) |
23
+ | `history.pushState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:107](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L107) |
24
+ | `history.replaceState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:108](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L108) |
25
+ | <a id="property-location"></a> `location` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L113) |
26
+ | `location.hash` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:116](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L116) |
27
+ | `location.pathname` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:114](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L114) |
28
+ | `location.search` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:115](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L115) |
29
29
 
30
30
  ## Methods
31
31
 
@@ -35,7 +35,7 @@ different in each environment.
35
35
  addEventListener(type, listener): void;
36
36
  ```
37
37
 
38
- Defined in: [play-dom-router/src/create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L73)
38
+ Defined in: [play-dom-router/src/create-browser-history.ts:118](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L118)
39
39
 
40
40
  #### Parameters
41
41
 
@@ -56,7 +56,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:73](https://gitlab.co
56
56
  removeEventListener(type, listener): void;
57
57
  ```
58
58
 
59
- Defined in: [play-dom-router/src/create-browser-history.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/create-browser-history.ts#L74)
59
+ Defined in: [play-dom-router/src/create-browser-history.ts:119](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L119)
60
60
 
61
61
  #### Parameters
62
62
 
@@ -2,14 +2,20 @@
2
2
 
3
3
  # Interface: ConnectRouterOptions
4
4
 
5
- Defined in: [play-dom-router/src/connect-router.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/connect-router.ts#L23)
5
+ Defined in: [play-dom-router/src/connect-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L24)
6
6
 
7
7
  The options of [connectRouter](../functions/connectRouter.md).
8
8
 
9
+ ## Extends
10
+
11
+ - [`BasePathOptions`](BasePathOptions.md)
12
+
9
13
  ## Properties
10
14
 
11
- | Property | Modifier | Type | Description | Defined in |
12
- | ----------------------------------------- | ---------- | ----------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](RoutableActor.md) | The actor to keep in step with the browser URL. It must implement `Routable`. | [play-dom-router/src/connect-router.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/connect-router.ts#L25) |
14
- | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteLookupContract`](RouteLookupContract.md) | The route lookup that matches a URL pathname to a machine state ID. | [play-dom-router/src/connect-router.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/connect-router.ts#L29) |
15
- | <a id="property-router"></a> `router` | `readonly` | [`VanillaRouter`](VanillaRouter.md) | The vanilla router from [createRouter](../functions/createRouter.md). | [play-dom-router/src/connect-router.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.1.1/packages/play-dom-router/src/connect-router.ts#L27) |
15
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
16
+ | ------------------------------------------------------ | ---------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](RoutableActor.md) | The actor to keep in step with the browser URL. It must implement `Routable`. | - | [play-dom-router/src/connect-router.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L26) |
18
+ | <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/v3.0.0/packages/play-router/src/base-path.ts#L58) |
19
+ | <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/v3.0.0/packages/play-router/src/base-path.ts#L72) |
20
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteLookupContract`](RouteLookupContract.md) | The route lookup that matches a URL pathname to a machine state ID. | - | [play-dom-router/src/connect-router.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L30) |
21
+ | <a id="property-router"></a> `router` | `readonly` | [`VanillaRouter`](VanillaRouter.md) | The vanilla router from [createRouter](../functions/createRouter.md). | - | [play-dom-router/src/connect-router.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L28) |
@@ -0,0 +1,262 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / DisposableBrowserHistory
2
+
3
+ # Interface: DisposableBrowserHistory
4
+
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L87)
6
+
7
+ The history that [createBrowserHistory](../functions/createBrowserHistory.md) builds.
8
+
9
+ It IS a [BrowserHistory](BrowserHistory.md), and it says one thing more: `subscribe` hands back a
10
+ [Cleanup](../type-aliases/Cleanup.md), so a caller may release it with `using` and write no teardown.
11
+
12
+ ```ts
13
+ const history = createBrowserHistory({ window });
14
+ {
15
+ using stop = history.subscribe((location) => render(location));
16
+ // stop() runs at the end of the scope, and after an exception too
17
+ }
18
+ ```
19
+
20
+ The history itself is a `Disposable` too, and [BrowserHistory.destroy](BrowserHistory.md#destroy) is what it
21
+ releases. `destroy()` unpatches `history.pushState` and `history.replaceState` of the
22
+ window, so a scope that drops the history without it leaves the global patched:
23
+
24
+ ```ts
25
+ {
26
+ using history = createBrowserHistory({ window });
27
+ history.push("/first");
28
+ // destroy() runs at the end of the scope, and after an exception too
29
+ }
30
+ ```
31
+
32
+ A narrowed return and not a narrowed interface: the return type of a method may narrow
33
+ in an extension, so this costs an implementer of `BrowserHistory` nothing. The dispose
34
+ key is added here, and not on `BrowserHistory`, for the same reason.
35
+
36
+ ## Extends
37
+
38
+ - [`BrowserHistory`](BrowserHistory.md)
39
+
40
+ ## Properties
41
+
42
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
43
+ | ----------------------------------------- | ---------- | --------- | ----------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44
+ | <a id="property-location"></a> `location` | `readonly` | `object` | Returns the state of the current location | [`BrowserHistory`](BrowserHistory.md).[`location`](BrowserHistory.md#property-location) | [play-dom-router/src/create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L7) |
45
+ | `location.hash` | `public` | `string` | - | - | [play-dom-router/src/create-browser-history.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L10) |
46
+ | `location.pathname` | `public` | `string` | - | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L8) |
47
+ | `location.search` | `public` | `string` | - | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L9) |
48
+ | `location.state` | `public` | `unknown` | - | - | [play-dom-router/src/create-browser-history.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L11) |
49
+
50
+ ## Methods
51
+
52
+ ### \[dispose\]()
53
+
54
+ ```ts
55
+ dispose: void;
56
+ ```
57
+
58
+ Defined in: [play-dom-router/src/create-browser-history.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L91)
59
+
60
+ Releases the history with [BrowserHistory.destroy](BrowserHistory.md#destroy). It is idempotent.
61
+
62
+ #### Returns
63
+
64
+ `void`
65
+
66
+ ---
67
+
68
+ ### back()
69
+
70
+ ```ts
71
+ back(): void;
72
+ ```
73
+
74
+ Defined in: [play-dom-router/src/create-browser-history.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L28)
75
+
76
+ #### Returns
77
+
78
+ `void`
79
+
80
+ #### Inherited from
81
+
82
+ [`BrowserHistory`](BrowserHistory.md).[`back`](BrowserHistory.md#back)
83
+
84
+ ---
85
+
86
+ ### createHref()
87
+
88
+ ```ts
89
+ createHref(path): string;
90
+ ```
91
+
92
+ Defined in: [play-dom-router/src/create-browser-history.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L46)
93
+
94
+ Creates an href from a path
95
+
96
+ #### Parameters
97
+
98
+ | Parameter | Type |
99
+ | --------- | -------- |
100
+ | `path` | `string` |
101
+
102
+ #### Returns
103
+
104
+ `string`
105
+
106
+ #### Inherited from
107
+
108
+ [`BrowserHistory`](BrowserHistory.md).[`createHref`](BrowserHistory.md#createhref)
109
+
110
+ ---
111
+
112
+ ### destroy()
113
+
114
+ ```ts
115
+ destroy(): void;
116
+ ```
117
+
118
+ Defined in: [play-dom-router/src/create-browser-history.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L54)
119
+
120
+ Cleans up.
121
+
122
+ A second call is safe. When more than one wrapper shares the same
123
+ `window.history`, the last wrapper restores the original methods.
124
+
125
+ #### Returns
126
+
127
+ `void`
128
+
129
+ #### Inherited from
130
+
131
+ [`BrowserHistory`](BrowserHistory.md).[`destroy`](BrowserHistory.md#destroy)
132
+
133
+ ---
134
+
135
+ ### forward()
136
+
137
+ ```ts
138
+ forward(): void;
139
+ ```
140
+
141
+ Defined in: [play-dom-router/src/create-browser-history.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L29)
142
+
143
+ #### Returns
144
+
145
+ `void`
146
+
147
+ #### Inherited from
148
+
149
+ [`BrowserHistory`](BrowserHistory.md).[`forward`](BrowserHistory.md#forward)
150
+
151
+ ---
152
+
153
+ ### go()
154
+
155
+ ```ts
156
+ go(delta): void;
157
+ ```
158
+
159
+ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L27)
160
+
161
+ Moves back or forward in the history
162
+
163
+ #### Parameters
164
+
165
+ | Parameter | Type |
166
+ | --------- | -------- |
167
+ | `delta` | `number` |
168
+
169
+ #### Returns
170
+
171
+ `void`
172
+
173
+ #### Inherited from
174
+
175
+ [`BrowserHistory`](BrowserHistory.md).[`go`](BrowserHistory.md#go)
176
+
177
+ ---
178
+
179
+ ### push()
180
+
181
+ ```ts
182
+ push(path, state?): void;
183
+ ```
184
+
185
+ Defined in: [play-dom-router/src/create-browser-history.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L17)
186
+
187
+ Pushes a new URL to the history
188
+
189
+ #### Parameters
190
+
191
+ | Parameter | Type |
192
+ | --------- | --------- |
193
+ | `path` | `string` |
194
+ | `state?` | `unknown` |
195
+
196
+ #### Returns
197
+
198
+ `void`
199
+
200
+ #### Inherited from
201
+
202
+ [`BrowserHistory`](BrowserHistory.md).[`push`](BrowserHistory.md#push)
203
+
204
+ ---
205
+
206
+ ### replace()
207
+
208
+ ```ts
209
+ replace(path, state?): void;
210
+ ```
211
+
212
+ Defined in: [play-dom-router/src/create-browser-history.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L22)
213
+
214
+ Replaces the current URL in the history
215
+
216
+ #### Parameters
217
+
218
+ | Parameter | Type |
219
+ | --------- | --------- |
220
+ | `path` | `string` |
221
+ | `state?` | `unknown` |
222
+
223
+ #### Returns
224
+
225
+ `void`
226
+
227
+ #### Inherited from
228
+
229
+ [`BrowserHistory`](BrowserHistory.md).[`replace`](BrowserHistory.md#replace)
230
+
231
+ ---
232
+
233
+ ### subscribe()
234
+
235
+ ```ts
236
+ subscribe(...args): Cleanup;
237
+ ```
238
+
239
+ Defined in: [play-dom-router/src/create-browser-history.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-browser-history.ts#L88)
240
+
241
+ Subscribes to the history changes.
242
+ It returns a function that cancels the subscription.
243
+
244
+ The return is a plain function here, because a consumer IMPLEMENTS this interface
245
+ to inject its own history for a test or for SSR. A `Cleanup` return would refuse
246
+ every implementation that hands a plain function back.
247
+ DisposableBrowserHistory narrows it for the value that
248
+ [createBrowserHistory](../functions/createBrowserHistory.md) builds, which nothing implements.
249
+
250
+ #### Parameters
251
+
252
+ | Parameter | Type |
253
+ | --------- | -------------------------- |
254
+ | ...`args` | \[(`location`) => `void`\] |
255
+
256
+ #### Returns
257
+
258
+ [`Cleanup`](../type-aliases/Cleanup.md)
259
+
260
+ #### Overrides
261
+
262
+ [`BrowserHistory`](BrowserHistory.md).[`subscribe`](BrowserHistory.md#subscribe)