@xmachines/docs 5.0.1 → 6.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 (564) hide show
  1. package/README.md +4 -1
  2. package/api/@xmachines/core/README.md +209 -0
  3. package/api/@xmachines/core/cache/README.md +17 -0
  4. package/api/@xmachines/core/cache/functions/createLruCache.md +52 -0
  5. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +61 -0
  6. package/api/@xmachines/core/errors/README.md +11 -0
  7. package/api/@xmachines/core/errors/classes/BaseError.md +226 -0
  8. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +177 -0
  9. package/api/@xmachines/core/utils/README.md +33 -0
  10. package/api/@xmachines/core/utils/functions/asDisposable.md +139 -0
  11. package/api/@xmachines/core/utils/functions/createNullRecord.md +39 -0
  12. package/api/@xmachines/core/utils/functions/createWarnOnce.md +39 -0
  13. package/api/@xmachines/core/utils/functions/describeValue.md +39 -0
  14. package/api/@xmachines/core/utils/functions/isError.md +46 -0
  15. package/api/@xmachines/core/utils/functions/isThenable.md +43 -0
  16. package/api/@xmachines/core/utils/functions/releaseQuietly.md +37 -0
  17. package/api/@xmachines/core/utils/functions/rethrowLater.md +43 -0
  18. package/api/@xmachines/core/utils/functions/safeString.md +36 -0
  19. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +42 -0
  20. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +28 -0
  21. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +14 -0
  22. package/api/@xmachines/{play-router/index → core/utils}/variables/DISPOSE.md +9 -9
  23. package/api/@xmachines/play/README.md +19 -70
  24. package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
  25. package/api/@xmachines/play/errors/classes/PlayError.md +30 -34
  26. package/api/@xmachines/play/index/README.md +0 -8
  27. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  28. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
  29. package/api/@xmachines/play-actor/README.md +1 -1
  30. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
  31. package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
  32. package/api/@xmachines/play-atom/README.md +35 -26
  33. package/api/@xmachines/play-atom/functions/watchAtom.md +8 -8
  34. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  35. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  36. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
  37. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
  38. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  39. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
  40. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
  41. package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
  42. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
  43. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  44. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
  45. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
  46. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  47. package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
  48. package/api/@xmachines/play-dom/README.md +32 -34
  49. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  50. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  51. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  52. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +11 -11
  53. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  54. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -14
  55. package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -17
  56. package/api/@xmachines/play-dom-router/README.md +35 -49
  57. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +13 -13
  58. package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -6
  59. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  60. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +5 -3
  61. package/api/@xmachines/play-dom-router/functions/createRouter.md +5 -3
  62. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
  63. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +21 -67
  64. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  65. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  66. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  67. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  68. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  69. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  70. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  71. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +5 -5
  72. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +12 -31
  73. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +12 -27
  74. package/api/@xmachines/play-pattern/README.md +10 -6
  75. package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
  76. package/api/@xmachines/play-pattern/functions/{createPatternCache.md → createLruCache.md} +19 -14
  77. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  78. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  79. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  80. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  81. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +61 -0
  82. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  83. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  84. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  85. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  86. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  87. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  88. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  89. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  90. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  91. package/api/@xmachines/play-react/README.md +5 -5
  92. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  93. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  94. package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
  95. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  96. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  97. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  98. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  99. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  100. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  101. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  102. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  103. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  104. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  105. package/api/@xmachines/play-react-router/README.md +5 -3
  106. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  107. package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -6
  108. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  109. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  110. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  111. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  112. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
  113. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  114. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  115. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +5 -5
  116. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  117. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  118. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  119. package/api/@xmachines/play-router/README.md +15 -14
  120. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
  121. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
  122. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
  123. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
  124. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
  125. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
  126. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
  127. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
  128. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
  129. package/api/@xmachines/play-router/index/README.md +2 -3
  130. package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -6
  131. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
  132. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  133. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  134. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  135. package/api/@xmachines/play-router/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
  136. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  137. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  138. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  139. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  140. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  141. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  142. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +3 -3
  143. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  144. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  145. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  146. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  147. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
  148. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  149. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  150. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  151. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  152. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  153. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  154. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  155. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  156. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  158. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
  159. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
  160. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  161. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  162. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +61 -0
  163. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
  164. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
  165. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
  166. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  167. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
  168. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
  169. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
  170. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
  171. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
  172. package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
  173. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
  174. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
  175. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  176. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
  177. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
  178. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
  179. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
  180. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
  181. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  182. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +5 -5
  183. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +7 -7
  184. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +12 -31
  185. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
  186. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  187. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  188. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  189. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  190. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  191. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  192. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  193. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  194. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  195. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  196. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  197. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  198. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  199. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  200. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  201. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  202. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  203. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
  204. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
  205. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  206. package/api/@xmachines/play-solid/README.md +2 -2
  207. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  208. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  209. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  210. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  211. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  212. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  213. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  214. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  215. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  216. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  217. package/api/@xmachines/play-solid-router/README.md +5 -3
  218. package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -6
  219. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  220. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
  222. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  224. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
  225. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  227. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +5 -5
  228. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  230. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  231. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  232. package/api/@xmachines/play-svelte/README.md +4 -4
  233. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  234. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  235. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  236. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  237. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  238. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  239. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  240. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  241. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  242. package/api/@xmachines/play-svelte-spa-router/README.md +5 -3
  243. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -6
  244. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  245. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  246. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
  247. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  248. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  249. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
  250. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  251. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  252. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +5 -5
  253. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +12 -31
  254. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  255. package/api/@xmachines/play-sveltekit-router/README.md +5 -3
  256. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -6
  257. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
  258. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  259. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
  260. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +10 -10
  261. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  262. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  263. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
  264. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  265. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  266. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +5 -5
  267. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +12 -31
  268. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  269. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -6
  270. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  271. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  272. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  273. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  274. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  275. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
  276. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  277. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  278. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +5 -5
  279. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  280. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  281. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  284. package/api/@xmachines/play-tanstack-router/README.md +11 -1
  285. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  286. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  287. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  288. package/api/@xmachines/play-tanstack-solid-router/README.md +5 -3
  289. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -6
  290. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  291. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  292. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  293. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  294. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
  295. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  296. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  297. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +5 -5
  298. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  299. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  300. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  301. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  302. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  303. package/api/@xmachines/play-url/README.md +3 -3
  304. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
  305. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
  306. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
  307. package/api/@xmachines/play-url/index/README.md +2 -2
  308. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  309. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  310. package/api/@xmachines/play-url/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
  311. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  312. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  313. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  314. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  315. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  316. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  317. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  318. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  319. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  320. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  321. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  322. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  323. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  324. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  325. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
  326. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  327. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  328. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
  329. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +61 -0
  330. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
  331. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
  332. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  333. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
  334. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
  335. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
  336. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
  337. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  338. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  339. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  340. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  341. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  342. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  343. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  344. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  345. package/api/@xmachines/play-view/README.md +4 -3
  346. package/api/@xmachines/play-view/errors/README.md +1 -1
  347. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
  348. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
  349. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  350. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
  351. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  352. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  353. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  354. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  355. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +2 -2
  356. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
  357. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  358. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  359. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
  360. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
  361. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
  362. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
  363. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  364. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  365. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
  366. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
  367. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
  368. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
  369. package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
  370. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  371. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  372. package/api/@xmachines/play-vue/README.md +4 -4
  373. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  374. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  375. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  376. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  377. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -0
  378. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  379. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  380. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  381. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  382. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  383. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  384. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  385. package/api/@xmachines/play-vue/variables/schema.md +35 -54
  386. package/api/@xmachines/play-vue-router/README.md +4 -2
  387. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
  388. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
  389. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -6
  390. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  391. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
  392. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
  393. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  394. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
  395. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +5 -5
  396. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +7 -7
  397. package/api/@xmachines/play-xstate/README.md +20 -9
  398. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
  399. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
  400. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
  401. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
  402. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
  403. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  404. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
  405. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
  406. package/api/@xmachines/play-xstate/index/README.md +0 -4
  407. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +10 -45
  408. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  409. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
  410. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
  411. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
  412. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
  413. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  414. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  415. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  416. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  417. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  418. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
  419. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  420. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  421. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
  422. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
  423. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  424. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  425. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  426. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  427. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  428. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  429. package/api/@xmachines/shared/README.md +1 -1
  430. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  431. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  432. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  433. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  434. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  435. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  436. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  437. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  438. package/api/README.md +1 -0
  439. package/api/llms.txt +1 -0
  440. package/contributing/architecture.md +36 -21
  441. package/contributing/configuration.md +7 -5
  442. package/contributing/deployment.md +23 -7
  443. package/contributing/development.md +26 -27
  444. package/contributing/migrating-to-play-atom.md +2 -1
  445. package/examples/@xmachines/play-dom-demo/README.md +6 -2
  446. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
  447. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  448. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  449. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  450. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  451. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  452. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  453. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  454. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  455. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  456. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  457. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  458. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  459. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  460. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  461. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  462. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  463. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  464. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  465. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  466. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +17 -17
  467. package/examples/@xmachines/play-dom-router-demo/README.md +9 -10
  468. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
  469. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  470. package/examples/@xmachines/play-react-demo/variables/About.md +2 -2
  471. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  472. package/examples/@xmachines/play-react-demo/variables/Contact.md +2 -2
  473. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +2 -2
  474. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  475. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  476. package/examples/@xmachines/play-react-demo/variables/Home.md +2 -2
  477. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  478. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  479. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  480. package/examples/@xmachines/play-react-demo/variables/Navigation.md +2 -2
  481. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  482. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  483. package/examples/@xmachines/play-react-demo/variables/Profile.md +2 -2
  484. package/examples/@xmachines/play-react-demo/variables/Settings.md +2 -2
  485. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  486. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  487. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  488. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +17 -17
  489. package/examples/@xmachines/play-react-router-demo/README.md +1 -1
  490. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
  491. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  492. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  493. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  494. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  495. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  496. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  497. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  498. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  499. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  500. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  501. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  502. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  503. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  504. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  505. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  506. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  507. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  508. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  509. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  510. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +17 -17
  511. package/examples/@xmachines/play-solid-router-demo/README.md +1 -1
  512. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
  513. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  514. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  515. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
  516. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +1 -1
  517. package/examples/@xmachines/play-sveltekit-router-demo/README.md +1 -1
  518. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +1 -1
  519. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +1 -1
  520. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
  521. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  522. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  523. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
  524. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  525. package/examples/README.md +1 -1
  526. package/examples/form-validation.md +6 -3
  527. package/examples/multi-router-integration.md +6 -3
  528. package/examples/routing-patterns.md +6 -3
  529. package/guides/atoms.md +24 -12
  530. package/guides/getting-started.md +20 -14
  531. package/package.json +2 -1
  532. package/rfc/broker.md +4 -0
  533. package/rfc/browser.md +4 -0
  534. package/rfc/cli.md +4 -0
  535. package/rfc/git.md +4 -0
  536. package/rfc/mcp.md +4 -0
  537. package/rfc/node.md +4 -0
  538. package/rfc/play.md +1 -1
  539. package/rfc/rest.md +4 -0
  540. package/rfc/run.md +4 -0
  541. package/rfc/streams.md +4 -0
  542. package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
  543. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
  544. package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
  545. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
  546. package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
  547. package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
  548. package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
  549. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
  550. package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
  551. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
  552. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
  553. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
  554. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
  555. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
  556. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
  557. package/examples/@xmachines/play-react-demo/functions/App.md +0 -13
  558. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +0 -20
  559. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +0 -20
  560. package/examples/@xmachines/play-react-demo/functions/Shell.md +0 -22
  561. package/examples/@xmachines/play-solid-demo/functions/App.md +0 -13
  562. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +0 -20
  563. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +0 -20
  564. package/examples/@xmachines/play-solid-demo/functions/Shell.md +0 -22
@@ -4,23 +4,17 @@
4
4
 
5
5
  **Vanilla DOM router (Browser History API) for XMachines Play Architecture.**
6
6
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-5.0.1-blue)](https://www.npmjs.com/package/@xmachines/play-dom-router)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-6.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom-router)
8
8
 
9
9
  This framework-agnostic router integration keeps the `currentRoute` atom of a Play actor and the `window.history` API of the browser in step. It needs no framework. It implements the same [`RouterBridgeBase`](../play-router/README.md) pattern as every other router adapter in the XMachines ecosystem.
10
10
 
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- pnpm add @xmachines/play-dom-router @xmachines/play-router
14
+ pnpm add @xmachines/play-dom-router @xmachines/play-router @xmachines/core @xmachines/play @xmachines/play-atom
15
15
  ```
16
16
 
17
- **Peer dependency.** Install it with the package:
18
-
19
- ```bash
20
- pnpm add @xmachines/play
21
- ```
22
-
23
- - [`@xmachines/play`](../play/README.md) — the release protocol. This barrel re-exports `asCleanup`, `DISPOSE` and `Cleanup` from it.
17
+ [`@xmachines/play-router`](../play-router/README.md) names [`@xmachines/core`](../core/README.md), [`@xmachines/play`](../play/README.md) and [`@xmachines/play-atom`](../play-atom/README.md) as peers, so the command installs them with this package. To release a history, a router or a connection with `using`, your code imports it itself, so declare it in your own manifest. The `asDisposable` of its `utils` subpath publishes each of them for a scope.
24
18
 
25
19
  [`@xmachines/play-router`](../play-router/README.md) is a dependency of this package already. Install it directly to
26
20
  reach [`@xmachines/play-router/xstate`](../play-router/README.md), which holds `createRouteMap` and
@@ -39,43 +33,39 @@ reach [`@xmachines/play-router/xstate`](../play-router/README.md), which holds `
39
33
 
40
34
  | Export | Description |
41
35
  | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
42
- | `createBrowserHistory(options)` | Wraps `window.history`. It returns a `BrowserHistory`, which `using` releases |
43
- | `createRouter(options)` | Creates a `VanillaRouter` from a `BrowserHistory` and a `RouteTree`, which `using` releases |
44
- | `connectRouter(options)` | Connects a history to a `Routable` actor — returns a `RouterConnection`, which `using` releases |
36
+ | `createBrowserHistory(options)` | Wraps `window.history`. It returns a `BrowserHistory` |
37
+ | `createRouter(options)` | Creates a `VanillaRouter` from a `BrowserHistory` and a `RouteTree` |
38
+ | `connectRouter(options)` | Connects a history to a `Routable` actor — returns a `RouterConnection` |
45
39
  | `DomRouterBridge` | The low-level bridge class. It extends `RouterBridgeBase`. Use it directly for full lifecycle control |
46
40
  | `BrowserHistory` | Interface for the history wrapper. Implement it to inject a history of your own — see the note below |
47
41
  | `BrowserWindow` | Structural window interface (accepts `Window`, JSDOM, or any test double) |
48
- | `VanillaRouter` | The router wrapper: a history, a route tree, and the release of the history under two keys |
42
+ | `VanillaRouter` | The router wrapper: a history, a route tree, and `destroy()` |
49
43
  | `ConnectRouterOptions` | Options type for `connectRouter` |
50
44
  | `RouteLookupContract` | Structural interface for bidirectional route lookup |
51
45
  | `RoutableActor` | Minimal actor interface from [`@xmachines/play-router`](../play-router/README.md) — `currentRoute`, `initialRoute`, and `send(PlayRouteEvent)` |
52
46
  | `RouterBridge`, `PlayRouteEvent` | Types re-exported from [`@xmachines/play-router`](../play-router/README.md) |
53
47
  | `RouteMap`, `RouteMapping`, `RouteMapOptions` | The route map class and its types, re-exported from [`@xmachines/play-router`](../play-router/README.md) |
54
- | `asCleanup`, `DISPOSE`, `Cleanup` | The release protocol that `BrowserHistory` names, re-exported from [`@xmachines/play`](../play/README.md) |
55
48
 
56
49
  ### Implementing `BrowserHistory`
57
50
 
58
- `subscribe` returns a `Cleanup`, and the history carries the dispose key. A history that you inject for a test or for SSR therefore writes two things that a plain object does not:
51
+ A history that you inject for a test or for SSR is a plain object. `subscribe` returns a plain function:
59
52
 
60
53
  ```typescript
61
- import { asCleanup, DISPOSE, type BrowserHistory } from "@xmachines/play-dom-router";
54
+ import type { BrowserHistory } from "@xmachines/play-dom-router";
62
55
 
63
56
  const history: BrowserHistory = {
64
57
  // ...
65
58
  subscribe(listener) {
66
59
  listeners.add(listener);
67
- return asCleanup(() => void listeners.delete(listener));
60
+ return () => void listeners.delete(listener);
68
61
  },
69
62
  destroy() {
70
63
  listeners.clear();
71
64
  },
72
- [DISPOSE]() {
73
- this.destroy();
74
- },
75
65
  };
76
66
  ```
77
67
 
78
- `asCleanup` gives the function back as itself, with the dispose key added, so a caller that runs the release keeps that code. A caller that writes `using` releases at the end of the scope, and after an exception too.
68
+ A spread copies `location` as a value, and the copy then shows a stale location. To wrap a history, build the wrapper as its own object.
79
69
 
80
70
  Of this interface `connectRouter` reads three members — `location`, `push` and `subscribe` — and it releases the history never. The type asks for the whole of it, because that is the type of a history, and a test that stands in for one builds it from a factory rather than from a narrower type.
81
71
 
@@ -117,11 +107,14 @@ actor.start();
117
107
 
118
108
  const disconnect = connectRouter({ actor, router, routeMap });
119
109
 
120
- // Cleanup (e.g. on page unload)
121
- window.addEventListener("beforeunload", () => {
110
+ // Call teardown() when the app ends before the page does, for example when the component
111
+ // that holds it unmounts. At the end of the page, do nothing: the browser frees the page.
112
+ // A teardown on `beforeunload` also runs when the page goes into the back/forward cache,
113
+ // and Back then shows a page that does not respond.
114
+ function teardown(): void {
122
115
  disconnect();
123
116
  router.destroy();
124
- });
117
+ }
125
118
  ```
126
119
 
127
120
  ## API
@@ -150,17 +143,17 @@ history.destroy();
150
143
 
151
144
  **`BrowserHistory` interface:**
152
145
 
153
- | Method | Description |
154
- | ----------------------- | -------------------------------------------------------------------------------------------------------- |
155
- | `location` | Read-only `{ pathname, search, hash, state }` |
156
- | `push(path, state?)` | Push a new entry to history |
157
- | `replace(path, state?)` | Replace the current history entry |
158
- | `go(delta)` | Navigate relative to current position |
159
- | `back()` | Navigate backward |
160
- | `forward()` | Navigate forward |
161
- | `subscribe(listener)` | Subscribe to location changes — returns an unsubscribe function, a `Cleanup` from `createBrowserHistory` |
162
- | `createHref(path)` | Create an href from a path |
163
- | `destroy()` | Cleans up. It removes the listeners, and it restores the patched methods when it is the last wrapper |
146
+ | Method | Description |
147
+ | ----------------------- | ---------------------------------------------------------------------------------------------------- |
148
+ | `location` | Read-only `{ pathname, search, hash, state }` |
149
+ | `push(path, state?)` | Push a new entry to history |
150
+ | `replace(path, state?)` | Replace the current history entry |
151
+ | `go(delta)` | Navigate relative to current position |
152
+ | `back()` | Navigate backward |
153
+ | `forward()` | Navigate forward |
154
+ | `subscribe(listener)` | Subscribe to location changes — returns an unsubscribe function |
155
+ | `createHref(path)` | Create an href from a path |
156
+ | `destroy()` | Cleans up. It removes the listeners, and it restores the patched methods when it is the last wrapper |
164
157
 
165
158
  **`BrowserWindow` interface:**
166
159
 
@@ -178,14 +171,16 @@ const router = createRouter({ routeTree, history });
178
171
  // router.destroy() — calls history.destroy()
179
172
  ```
180
173
 
181
- Or let a scope release it, which also releases the history on an exception:
174
+ Or let a scope release it, which also releases the history on an exception. Publish the router with `asDisposable` of [`@xmachines/core/utils`](../core/README.md), and name `destroy` as the release:
182
175
 
183
176
  ```typescript
184
- using router = createRouter({ routeTree, history });
177
+ import { asDisposable } from "@xmachines/core/utils";
178
+
179
+ const plain = createRouter({ routeTree, history });
180
+ using router = asDisposable(plain, () => plain.destroy());
185
181
  ```
186
182
 
187
- The dispose key and `destroy()` run the same body, and the release is idempotent, so a
188
- caller that keeps `destroy()` keeps it.
183
+ `destroy()` is idempotent, so a caller that calls it before the scope ends is safe.
189
184
 
190
185
  **The release covers the history alone.** `connectRouter` hands back its own
191
186
  `RouterConnection`, and a scope that ends releases no connection for you. Release the
@@ -278,7 +273,7 @@ Browser URL
278
273
 
279
274
  ## License
280
275
 
281
- MIT — see [LICENSE](LICENSE).
276
+ MIT — see [LICENSE](../../../LICENSE).
282
277
 
283
278
  ## Classes
284
279
 
@@ -300,17 +295,8 @@ MIT — see [LICENSE](LICENSE).
300
295
  - [RouterConnection](interfaces/RouterConnection.md)
301
296
  - [VanillaRouter](interfaces/VanillaRouter.md)
302
297
 
303
- ## Type Aliases
304
-
305
- - [Cleanup](type-aliases/Cleanup.md)
306
-
307
- ## Variables
308
-
309
- - [DISPOSE](variables/DISPOSE.md)
310
-
311
298
  ## Functions
312
299
 
313
- - [asCleanup](functions/asCleanup.md)
314
300
  - [connectRouter](functions/connectRouter.md)
315
301
  - [createBrowserHistory](functions/createBrowserHistory.md)
316
302
  - [createRouter](functions/createRouter.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: DomRouterBridge
4
4
 
5
- Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/dom-router-bridge.ts#L27)
5
+ Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L27)
6
6
 
7
7
  The DOM router bridge — it puts a BrowserHistory from `createBrowserHistory`
8
8
  behind the `RouterBridgeBase` protocol.
@@ -42,16 +42,16 @@ new DomRouterBridge(
42
42
  ): DomRouterBridge;
43
43
  ```
44
44
 
45
- Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/dom-router-bridge.ts#L40)
45
+ Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L40)
46
46
 
47
47
  #### Parameters
48
48
 
49
- | Parameter | Type | Description |
50
- | ---------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
- | `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) | A `Routable` actor with `currentRoute` and `send`. |
52
- | `routeMap` | [`RouteLookupContract`](../interfaces/RouteLookupContract.md) | The route lookup for both directions. Every object that satisfies [RouteLookupContract](../interfaces/RouteLookupContract.md) works. |
53
- | `history` | [`BrowserHistory`](../interfaces/BrowserHistory.md) | The history to read. `createBrowserHistory` builds one. Of the interface this class touches three members — `location`, `push` and `subscribe` — and it releases the history never, because the owner of the history does that. The parameter still asks for the WHOLE interface, because that is the type of a history: a stand-in for one writes `destroy()` and `[DISPOSE]()` beside the three, and the README of this package shows the shape. |
54
- | `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | - |
49
+ | Parameter | Type | Description |
50
+ | ---------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
+ | `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) | A `Routable` actor with `currentRoute` and `send`. |
52
+ | `routeMap` | [`RouteLookupContract`](../interfaces/RouteLookupContract.md) | The route lookup for both directions. Every object that satisfies [RouteLookupContract](../interfaces/RouteLookupContract.md) works. |
53
+ | `history` | [`BrowserHistory`](../interfaces/BrowserHistory.md) | The history to read. `createBrowserHistory` builds one. Of the interface this class touches three members — `location`, `push` and `subscribe` — and it releases the history never, because the owner of the history does that. The parameter still asks for the WHOLE interface, because that is the type of a history: a stand-in for one writes `destroy()` beside the three. The README of this package shows the shape. |
54
+ | `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | - |
55
55
 
56
56
  #### Returns
57
57
 
@@ -71,7 +71,7 @@ Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xma
71
71
  get basePath(): string;
72
72
  ```
73
73
 
74
- Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/router-bridge-base.ts#L282)
74
+ Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L282)
75
75
 
76
76
  The resolved URL prefix that the machine of this bridge is mounted under, or `""`
77
77
  when the machine owns the complete router.
@@ -96,7 +96,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
96
96
  get basePathParams(): Readonly<Record<string, string>>;
97
97
  ```
98
98
 
99
- Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/router-bridge-base.ts#L311)
99
+ Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L311)
100
100
 
101
101
  The resolved values of the `:param` segments of the mount, or `{}` for a prefix
102
102
  without a param.
@@ -147,7 +147,7 @@ mount while the machine stays on the same route, and no event goes out.
147
147
  connect(): void;
148
148
  ```
149
149
 
150
- Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/router-bridge-base.ts#L533)
150
+ Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L533)
151
151
 
152
152
  Connects the router bridge to the Actor.
153
153
 
@@ -181,7 +181,7 @@ An adapter that needs a different behavior of the first synchronization override
181
181
  disconnect(): void;
182
182
  ```
183
183
 
184
- Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/router-bridge-base.ts#L791)
184
+ Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L791)
185
185
 
186
186
  Disconnects the router bridge from the Actor.
187
187
 
@@ -204,7 +204,7 @@ framework.
204
204
  setBasePath(basePath?, basePathParams?): void;
205
205
  ```
206
206
 
207
- Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/router-bridge-base.ts#L351)
207
+ Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L351)
208
208
 
209
209
  Moves the machine to a different mount point, while it stays connected.
210
210
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:177](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/base-route-map.ts#L177)
5
+ Defined in: [play-router/src/base-route-map.ts:176](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L176)
6
6
 
7
7
  The shared base class of the route map for both directions.
8
8
 
@@ -15,8 +15,7 @@ of its own, and it inherits the complete public API from here.
15
15
  - A dynamic path → a scan of the bucket index in O(k), with `URLPattern`, where
16
16
  `k` is the number of the routes with the same first path segment
17
17
  - The class keeps each result of a first match in an LRU cache. The default cache
18
- holds between 500 and 1000 entries, and the `pathCache` constructor option
19
- replaces it
18
+ holds 1001 entries at most, and the `pathCache` constructor option replaces it
20
19
 
21
20
  **The syntax of a pattern:** the whole URLPattern pathname grammar. The forms used most
22
21
  often are:
@@ -65,7 +64,7 @@ map.getPathByStateId("missing"); // null
65
64
  new RouteMap(mappings, options?): RouteMap;
66
65
  ```
67
66
 
68
- Defined in: [play-router/src/base-route-map.ts:210](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/base-route-map.ts#L210)
67
+ Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L209)
69
68
 
70
69
  Builds a route map from an array of the mappings between a state ID and a path.
71
70
 
@@ -93,7 +92,7 @@ candidates is therefore efficient.
93
92
  getPathByStateId(stateId): string | null;
94
93
  ```
95
94
 
96
- Defined in: [play-router/src/base-route-map.ts:324](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/base-route-map.ts#L324)
95
+ Defined in: [play-router/src/base-route-map.ts:322](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L322)
97
96
 
98
97
  Returns the path pattern of a state ID.
99
98
 
@@ -129,7 +128,7 @@ map.getPathByStateId("missing"); // null
129
128
  getStateIdByPath(path): string | null;
130
129
  ```
131
130
 
132
- Defined in: [play-router/src/base-route-map.ts:279](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-router/src/base-route-map.ts#L279)
131
+ Defined in: [play-router/src/base-route-map.ts:277](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L277)
133
132
 
134
133
  Resolves a URL path to its state ID.
135
134
 
@@ -6,7 +6,7 @@
6
6
  function connectRouter(options): RouterConnection;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/connect-router.ts#L64)
9
+ Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/connect-router.ts#L64)
10
10
 
11
11
  Connects the vanilla router to an actor. This is a pure browser integration.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createBrowserHistory(options): BrowserHistory;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-browser-history.ts:172](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L172)
9
+ Defined in: [play-dom-router/src/create-browser-history.ts:137](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L137)
10
10
 
11
11
  Creates a browser history that wraps window.history
12
12
 
@@ -36,10 +36,12 @@ unsubscribe();
36
36
  history.destroy();
37
37
  ```
38
38
 
39
- Or let a scope do it, which releases the history on an exception too:
39
+ Or let a scope do it, which releases the history on an exception too. Publish the
40
+ history with `asDisposable` of `@xmachines/core/utils`, and name `destroy` as the release:
40
41
 
41
42
  ```typescript
42
- using history = createBrowserHistory({ window });
43
+ const plain = createBrowserHistory({ window });
44
+ using history = asDisposable(plain, () => plain.destroy());
43
45
  ```
44
46
 
45
47
  `destroy()` is idempotent, and it cooperates with each other wrapper of the same
@@ -6,7 +6,7 @@
6
6
  function createRouter(options): VanillaRouter;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-router.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-router.ts#L80)
9
+ Defined in: [play-dom-router/src/create-router.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-router.ts#L79)
10
10
 
11
11
  Creates the vanilla router for a framework-agnostic routing.
12
12
 
@@ -41,10 +41,12 @@ disconnect();
41
41
  router.destroy();
42
42
  ```
43
43
 
44
- Or let a scope do it, which releases the history on an exception too:
44
+ Or let a scope do it, which releases the history on an exception too. Publish the
45
+ router with `asDisposable` of `@xmachines/core/utils`:
45
46
 
46
47
  ```typescript
47
- using router = createRouter({ routeTree, history });
48
+ const plain = createRouter({ routeTree, history });
49
+ using router = asDisposable(plain, () => plain.destroy());
48
50
  ```
49
51
 
50
52
  ## Parameters
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BasePathOptions
4
4
 
5
- Defined in: [play-url/src/base-path.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-url/src/base-path.ts#L48)
5
+ Defined in: [play-url/src/base-path.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L49)
6
6
 
7
7
  The base-path options that every router bridge, `connectRouter` function, and
8
8
  `PlayRouterProvider` component accepts.
@@ -24,5 +24,5 @@ connectRouter({
24
24
 
25
25
  | Property | Modifier | Type | Description | Defined in |
26
26
  | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [play-url/src/base-path.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-url/src/base-path.ts#L62) |
28
- | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-url/src/base-path.ts#L76) |
27
+ | <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [play-url/src/base-path.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L63) |
28
+ | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L77) |
@@ -2,63 +2,27 @@
2
2
 
3
3
  # Interface: BrowserHistory
4
4
 
5
- Defined in: [play-dom-router/src/create-browser-history.ts:3](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L3)
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L1)
6
6
 
7
7
  ## Properties
8
8
 
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:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L7) |
12
- | `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L10) |
13
- | `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L8) |
14
- | `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L9) |
15
- | `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L11) |
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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L9) |
16
16
 
17
17
  ## Methods
18
18
 
19
- ### \[dispose\]()
20
-
21
- ```ts
22
- dispose: void;
23
- ```
24
-
25
- Defined in: [play-dom-router/src/create-browser-history.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L91)
26
-
27
- Releases the history with [BrowserHistory.destroy](#destroy). It is idempotent.
28
-
29
- `destroy()` unpatches `history.pushState` and `history.replaceState` of the window,
30
- so a scope that drops the history without it leaves the global patched. The key lets
31
- a scope do that work:
32
-
33
- ```ts
34
- {
35
- using history = createBrowserHistory({ window });
36
- history.push("/first");
37
- // destroy() runs at the end of the scope, and after an exception too
38
- }
39
- ```
40
-
41
- An implementation writes it as one line beside `destroy`, and the two therefore
42
- release the same work:
43
-
44
- ```ts
45
- destroy() { ... },
46
- [DISPOSE]() { this.destroy(); },
47
- ```
48
-
49
- #### Returns
50
-
51
- `void`
52
-
53
- ---
54
-
55
19
  ### back()
56
20
 
57
21
  ```ts
58
22
  back(): void;
59
23
  ```
60
24
 
61
- Defined in: [play-dom-router/src/create-browser-history.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L28)
25
+ Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L26)
62
26
 
63
27
  #### Returns
64
28
 
@@ -72,7 +36,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:28](https://gitlab.co
72
36
  createHref(path): string;
73
37
  ```
74
38
 
75
- Defined in: [play-dom-router/src/create-browser-history.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L58)
39
+ Defined in: [play-dom-router/src/create-browser-history.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L46)
76
40
 
77
41
  Creates an href from a path
78
42
 
@@ -94,7 +58,7 @@ Creates an href from a path
94
58
  destroy(): void;
95
59
  ```
96
60
 
97
- Defined in: [play-dom-router/src/create-browser-history.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L66)
61
+ Defined in: [play-dom-router/src/create-browser-history.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L54)
98
62
 
99
63
  Cleans up.
100
64
 
@@ -113,7 +77,7 @@ A second call is safe. When more than one wrapper shares the same
113
77
  forward(): void;
114
78
  ```
115
79
 
116
- Defined in: [play-dom-router/src/create-browser-history.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L29)
80
+ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L27)
117
81
 
118
82
  #### Returns
119
83
 
@@ -127,7 +91,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:29](https://gitlab.co
127
91
  go(delta): void;
128
92
  ```
129
93
 
130
- Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L27)
94
+ Defined in: [play-dom-router/src/create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L25)
131
95
 
132
96
  Moves back or forward in the history
133
97
 
@@ -149,7 +113,7 @@ Moves back or forward in the history
149
113
  push(path, state?): void;
150
114
  ```
151
115
 
152
- Defined in: [play-dom-router/src/create-browser-history.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L17)
116
+ Defined in: [play-dom-router/src/create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L15)
153
117
 
154
118
  Pushes a new URL to the history
155
119
 
@@ -172,7 +136,7 @@ Pushes a new URL to the history
172
136
  replace(path, state?): void;
173
137
  ```
174
138
 
175
- Defined in: [play-dom-router/src/create-browser-history.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L22)
139
+ Defined in: [play-dom-router/src/create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L20)
176
140
 
177
141
  Replaces the current URL in the history
178
142
 
@@ -192,32 +156,22 @@ Replaces the current URL in the history
192
156
  ### subscribe()
193
157
 
194
158
  ```ts
195
- subscribe(listener): Cleanup;
159
+ subscribe(listener): () => void;
196
160
  ```
197
161
 
198
- Defined in: [play-dom-router/src/create-browser-history.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom-router/src/create-browser-history.ts#L53)
162
+ Defined in: [play-dom-router/src/create-browser-history.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L41)
199
163
 
200
164
  Subscribes to the history changes.
201
165
  It returns the release of the subscription.
202
166
 
203
- A caller runs the release, or a scope releases it:
167
+ The release is a plain function. A caller runs it, or it publishes the release with
168
+ `asDisposable` of `@xmachines/core/utils`, and a scope releases it:
204
169
 
205
170
  ```ts
206
- using stop = history.subscribe((location) => render(location));
171
+ using stop = asDisposable(history.subscribe((location) => render(location)));
207
172
  // stop() runs at the end of the scope, and after an exception too
208
173
  ```
209
174
 
210
- A `Cleanup` IS a `() => void`, so a caller that runs it keeps that code. An
211
- implementation of this interface builds one with `asCleanup` of `@xmachines/play`,
212
- which this package re-exports:
213
-
214
- ```ts
215
- subscribe(listener) {
216
- listeners.add(listener);
217
- return asCleanup(() => listeners.delete(listener));
218
- }
219
- ```
220
-
221
175
  #### Parameters
222
176
 
223
177
  | Parameter | Type |
@@ -226,4 +180,4 @@ subscribe(listener) {
226
180
 
227
181
  #### Returns
228
182
 
229
- [`Cleanup`](../type-aliases/Cleanup.md)
183
+ () => `void`