@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
@@ -0,0 +1,36 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / safeString
2
+
3
+ # Function: safeString()
4
+
5
+ ```ts
6
+ function safeString(value): string;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/describe-value.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/describe-value.ts#L19)
10
+
11
+ Converts an unknown value into a string, and it trusts that value not.
12
+
13
+ `String()` itself throws for an object with a null prototype, and for a value whose
14
+ `toString` or `Symbol.toPrimitive` throws. A caller in an error path runs this
15
+ function, and a second throw there replaces the real failure with a `TypeError`. The
16
+ function therefore falls back to the brand, and then to a fixed text.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | --------- | --------- | --------------------- |
22
+ | `value` | `unknown` | The value to convert. |
23
+
24
+ ## Returns
25
+
26
+ `string`
27
+
28
+ The text of the value. The function throws never.
29
+
30
+ ## Example
31
+
32
+ ```ts
33
+ import { safeString } from "@xmachines/core/utils";
34
+
35
+ safeString(Object.create(null)); // "[object Object]"
36
+ ```
@@ -0,0 +1,42 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / shallowEqualExcept
2
+
3
+ # Function: shallowEqualExcept()
4
+
5
+ ```ts
6
+ function shallowEqualExcept(a, b, except?): boolean;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/shallow-equal.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/shallow-equal.ts#L25)
10
+
11
+ The shallow equality of the own keys, with `Object.is`. It can ignore one key on
12
+ both sides.
13
+
14
+ The comparison reads the own enumerable string keys of each side, and a key that one
15
+ side carries and the other lacks makes the two unequal, even when its value is
16
+ `undefined`. A value compares by `Object.is`, so `NaN` equals `NaN` and `0` differs from
17
+ `-0`.
18
+
19
+ The emission dedup of the Play packages reads it: the equality of a slice, the emit
20
+ gate of the player, and the reuse of a composed state.
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | --------- | -------- | ------------------------------------------------ |
26
+ | `a` | `object` | The first object. |
27
+ | `b` | `object` | The second object. |
28
+ | `except?` | `string` | A key that the comparison ignores on both sides. |
29
+
30
+ ## Returns
31
+
32
+ `boolean`
33
+
34
+ `true` when every other own key holds the same value on both sides.
35
+
36
+ ## Example
37
+
38
+ ```ts
39
+ import { shallowEqualExcept } from "@xmachines/core/utils";
40
+
41
+ shallowEqualExcept({ a: 1, s: 1 }, { a: 1, s: 2 }, "s"); // true
42
+ ```
@@ -0,0 +1,28 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / DisposeKey
2
+
3
+ # Type Alias: DisposeKey
4
+
5
+ ```ts
6
+ type DisposeKey = SymbolConstructor extends object ? Key : never;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/disposable.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L33)
10
+
11
+ The dispose key of the ambient library, and `never` where the consumer omits it.
12
+
13
+ `Symbol.dispose` and the `Disposable` interface arrive with `lib.esnext.disposable`. A
14
+ consumer gets that library from `"lib": ["ESNext"]`, and NOT from `"lib": ["ES2022"]`
15
+ or `["ES2023"]`. A published `.d.ts` that names either one therefore refuses to
16
+ type-check for every consumer of the second kind, and this package cannot ask for the
17
+ library on their behalf: TypeScript copies no `/// <reference lib="..." />` into
18
+ declaration output.
19
+
20
+ The conditional asks the compiler instead of naming the key. Where the library is
21
+ present the key resolves to `typeof Symbol.dispose`, and the value that
22
+ [asDisposable](../functions/asDisposable.md) returns is a `Disposable` that a `using` declaration accepts. Where
23
+ the library is absent the key resolves to `never`, and [DisposeMember](DisposeMember.md) adds no
24
+ member. That consumer loses nothing, because `using` is syntax that the same library
25
+ gates: a compiler that cannot name `Symbol.dispose` cannot compile the form either.
26
+
27
+ The runtime is not involved. [asDisposable](../functions/asDisposable.md) stores the release under
28
+ [DISPOSE](../variables/DISPOSE.md) whatever the consumer declares, so one build serves both.
@@ -0,0 +1,14 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / DisposeMember
2
+
3
+ # Type Alias: DisposeMember
4
+
5
+ ```ts
6
+ type DisposeMember = { [Key in DisposeKey]: () => void };
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/disposable.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L43)
10
+
11
+ The dispose member of a `Disposable`, and no member where the consumer omits the library.
12
+
13
+ [asDisposable](../functions/asDisposable.md) returns its input with this member. See [DisposeKey](DisposeKey.md) for the
14
+ reason that the key can resolve to `never`.
@@ -1,4 +1,4 @@
1
- [API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / DISPOSE
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / DISPOSE
2
2
 
3
3
  # Variable: DISPOSE
4
4
 
@@ -6,7 +6,7 @@
6
6
  const DISPOSE: DisposeKey;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/disposable.ts#L94)
9
+ Defined in: [packages/core/src/utils/disposable.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L71)
10
10
 
11
11
  The key that a release is stored under.
12
12
 
@@ -25,10 +25,10 @@ The type assertion states what the fallback IS. `Symbol.for` returns a plain `sy
25
25
  TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
26
26
  a `unique symbol` other than the declaration itself.
27
27
 
28
- This binding resolves ONE time, when the module evaluates. [asCleanup](../../../play/index/functions/asCleanup.md) therefore
29
- reads `Symbol.dispose` again at each call and stores the release under both keys, so a
30
- polyfill that installs the well-known symbol after this module evaluates still finds
31
- the release. A class or an object literal that writes `[DISPOSE]()` has no such second
32
- chance: it carries the key that existed when it was defined. Install an Explicit
33
- Resource Management polyfill before the first import of `@xmachines/play`, which is the
34
- ordinary contract of a polyfill.
28
+ This binding resolves ONE time, when the module evaluates. [asDisposable](../functions/asDisposable.md)
29
+ therefore reads `Symbol.dispose` again at each call, and it stores the release under
30
+ both keys. A polyfill that installs the well-known symbol after this module evaluates
31
+ still finds the release. A class or an object literal that writes `[DISPOSE]()` has no
32
+ such second chance: it carries the key that existed when it was defined. Install an
33
+ Explicit Resource Management polyfill before the first import of `@xmachines/core/utils`,
34
+ which is the ordinary contract of a polyfill.
@@ -4,29 +4,32 @@
4
4
 
5
5
  > Core protocol layer for the Universal Player Architecture. It defines `PlayEvent`, `PlayError`, and the contracts that keep the business logic loosely coupled to the runtime adapters.
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)
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)
8
8
 
9
9
  ---
10
10
 
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- pnpm add @xmachines/play
14
+ pnpm add @xmachines/play @xmachines/core
15
15
  ```
16
16
 
17
+ **Peer dependencies.** Install them with the package:
18
+
19
+ - [`@xmachines/core`](../core/README.md) — the base of the errors. `PlayError` extends `BaseError` of its `errors` subpath.
20
+
17
21
  > **This package requires Node.js `>= 24.0.0`.** Every package is an ES module (`"type": "module"`).
18
22
 
19
23
  ---
20
24
 
21
25
  ## Overview
22
26
 
23
- `@xmachines/play` is the base package of the XMachines ecosystem. It defines the smallest set of types and utilities that every other `@xmachines/*` package builds on:
27
+ `@xmachines/play` is the protocol package of the XMachines ecosystem. It defines the smallest set of types and utilities that every other Play package builds on:
24
28
 
25
29
  - **`PlayEvent<TPayload>`** — the universal event contract for Actor ↔ Infrastructure communication
26
- - **`PlayError`** — the typed base class for all `@xmachines/*` runtime errors
30
+ - **`PlayError`** — the typed base class for the runtime errors of every Play package. It extends `BaseError` of [`@xmachines/core`](../core/README.md)
27
31
  - **`NonNullableError`** — the error that a package throws when a required value is `null` or `undefined`
28
32
  - **`assertNonNullable()`** — the assertion utility that narrows `T | null | undefined` to `T`
29
- - **`Cleanup`**, **`asCleanup()`**, **`DISPOSE`** — the release protocol that every subscription of the ecosystem hands back
30
33
 
31
34
  These protocols implement the architectural invariants that the Play RFC defines:
32
35
 
@@ -67,7 +70,7 @@ const invalid: LoginEvent = { type: "auth.login" }; // Error!
67
70
 
68
71
  ### `PlayError`
69
72
 
70
- Base class for every `@xmachines/*` runtime error. Each error has a stable `scope` (the class or the module that throws it) and a stable `code` (a machine-readable identifier). Always branch on `.code` or on the subclass. Never branch on `.message`.
73
+ Base class for the runtime errors of every Play package. It extends `BaseError` of [`@xmachines/core/errors`](../core/README.md). Each error has a stable `scope` (the class or the module that throws it) and a stable `code` (a machine-readable identifier). Always branch on `.code` or on the subclass. Never branch on `.message`.
71
74
 
72
75
  ```typescript
73
76
  import { assertNonNullable } from "@xmachines/play";
@@ -81,7 +84,7 @@ try {
81
84
  // err.code === "PLAY_NON_NULLABLE"
82
85
  console.error(`Missing value: ${err.message}`);
83
86
  } else if (err instanceof PlayError) {
84
- // Any other @xmachines/* error
87
+ // Every other error of a Play package
85
88
  console.error(`[${err.scope}:${err.code}] ${err.message}`);
86
89
  } else {
87
90
  throw err;
@@ -113,59 +116,9 @@ import { assertNonNullable } from "@xmachines/play";
113
116
  const el = assertNonNullable(document.getElementById("app"), "#app");
114
117
  ```
115
118
 
116
- ### `Cleanup`, `asCleanup(release)`, and `DISPOSE`
117
-
118
- Every subscription of the ecosystem hands one value back: the release. `Cleanup` is that
119
- type. It is a function AND a `Disposable`, so one value serves both forms — the caller
120
- that keeps the release in a field, and the caller that gives it to a scope.
121
-
122
- ```ts
123
- import { asCleanup, type Cleanup } from "@xmachines/play";
124
-
125
- // The explicit form. It stays correct.
126
- const stop = watchAtom(count, render);
127
- stop();
128
-
129
- // The scoped form. The scope releases it, and an exception releases it too.
130
- {
131
- using stop = watchAtom(count, render);
132
- render(count.get());
133
- }
134
- ```
135
-
136
- `asCleanup` publishes a release. It gives the SAME function back with the dispose key
137
- added, and wraps nothing, so a caller that compares two releases or holds one in a `Set`
138
- sees what it saw before.
139
-
140
- ```ts
141
- export function watchAtom<T>(atom: Readable<T>, onValue: (v: T) => void): Cleanup {
142
- const subscription = atom.subscribe(() => onValue(atom.get()));
143
- return asCleanup(() => subscription.unsubscribe());
144
- }
145
- ```
146
-
147
- `DISPOSE` is the key that the release sits under, and a class implements the protocol
148
- with it:
149
-
150
- ```ts
151
- import { DISPOSE } from "@xmachines/play";
152
-
153
- class Session {
154
- close(): void {}
155
- [DISPOSE](): void {
156
- this.close();
157
- }
158
- }
159
- ```
160
-
161
- Use `DISPOSE` and not a bare `Symbol.dispose`. A bundler that downlevels `using` for a
162
- target below Chrome 134 emits a helper that reads
163
- `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`, and `DISPOSE` is that same
164
- pair.
119
+ ### The release protocol
165
120
 
166
- > **The `using` FORM needs `"lib": ["ESNext"]`, and the `Cleanup` VALUE needs nothing.**
167
- > A consumer on a lower `lib` reads `Cleanup` as the plain `() => void` that these
168
- > functions returned before the protocol existed, and every call site keeps compiling.
121
+ The release protocol moved to [`@xmachines/core/utils`](../core/README.md). A subscription of the ecosystem hands back a plain release, and `asDisposable` of that package publishes the release for a `using` scope.
169
122
 
170
123
  ---
171
124
 
@@ -173,20 +126,16 @@ pair.
173
126
 
174
127
  ### Exported from `@xmachines/play`
175
128
 
176
- | Export | Kind | Description |
177
- | --------------------- | ---------- | -------------------------------------------------------------------- |
178
- | `PlayEvent<TPayload>` | `type` | Universal event contract — `{ type: string } & TPayload` |
179
- | `assertNonNullable` | `function` | Asserts that the value is not null. It returns the narrowed value |
180
- | `Cleanup` | `type` | The release of a subscription — `(() => void) & Disposable` |
181
- | `asCleanup` | `function` | Publishes one release as a `Cleanup`. It changes the function itself |
182
- | `DISPOSE` | `const` | The symbol key that a release sits under |
183
- | `DisposeKey` | `type` | The type of that key, and `never` where the consumer omits the lib |
129
+ | Export | Kind | Description |
130
+ | --------------------- | ---------- | ----------------------------------------------------------------- |
131
+ | `PlayEvent<TPayload>` | `type` | Universal event contract — `{ type: string } & TPayload` |
132
+ | `assertNonNullable` | `function` | Asserts that the value is not null. It returns the narrowed value |
184
133
 
185
134
  ### Exported from `@xmachines/play/errors`
186
135
 
187
136
  | Export | Kind | Description |
188
137
  | ------------------ | ------- | --------------------------------------------------------- |
189
- | `PlayError` | `class` | The base class of every `@xmachines/*` typed error |
138
+ | `PlayError` | `class` | The base class of every typed error of a Play package |
190
139
  | `NonNullableError` | `class` | `scope: "assertNonNullable"`, `code: "PLAY_NON_NULLABLE"` |
191
140
 
192
141
  ---
@@ -197,7 +146,7 @@ pair.
197
146
  | ------------------- | ------------------ | ---------------------------------------------------- |
198
147
  | `PLAY_NON_NULLABLE` | `NonNullableError` | `assertNonNullable()` receives `null` or `undefined` |
199
148
 
200
- Every other `@xmachines/*` package exports its own error subclasses from its `./errors` subpath:
149
+ Every other Play package exports its own error subclasses from its `./errors` subpath. [`@xmachines/core/errors`](../core/README.md) holds `BaseError`, the base of `PlayError`:
201
150
 
202
151
  | Package | Import path |
203
152
  | ------------------------------------------------------------ | ------------------------------------------------------------------- |
@@ -214,7 +163,7 @@ Every other `@xmachines/*` package exports its own error subclasses from its `./
214
163
 
215
164
  MIT © [Mikael Karon](mailto:mikael@karon.se)
216
165
 
217
- See [LICENSE](./LICENSE) for details.
166
+ See [LICENSE](../../../LICENSE) for details.
218
167
 
219
168
  ## Modules
220
169
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: NonNullableError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L112)
5
+ Defined in: [packages/play/src/errors.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L104)
6
6
 
7
7
  [@xmachines/play!index.assertNonNullable](../../index/functions/assertNonNullable.md) throws this error when a value is `null` or `undefined`.
8
8
 
@@ -35,7 +35,7 @@ try {
35
35
  new NonNullableError(message, options?): NonNullableError;
36
36
  ```
37
37
 
38
- Defined in: [packages/play/src/errors.ts:113](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L113)
38
+ Defined in: [packages/play/src/errors.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L105)
39
39
 
40
40
  #### Parameters
41
41
 
@@ -57,10 +57,10 @@ Defined in: [packages/play/src/errors.ts:113](https://gitlab.com/xmachin-es/xmac
57
57
  | Property | Modifier | Type | Description | Inherited from | Defined in |
58
58
  | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
59
59
  | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](PlayError.md).[`cause`](PlayError.md#property-cause) | - |
60
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `PLAY_<PACKAGE>_<DESCRIPTION>`. It stays the same across each patch release and each minor release of one major version. Never match on `.message`. Always match on `.code`, or on the subclass. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/play/src/errors.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L76) |
60
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `<PACKAGE>_<DESCRIPTION>`, and a Play package writes `PLAY_<PACKAGE>_<DESCRIPTION>`. A code stays the same across each patch release and each minor release of one major version. Never match on `.message`. Always match on `.code`, or on the subclass. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/core/src/errors.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L56) |
61
61
  | <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](PlayError.md).[`message`](PlayError.md#property-message) | - |
62
62
  | <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](PlayError.md).[`name`](PlayError.md#property-name) | - |
63
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"RouterBridgeBase"`. | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L66) |
63
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/core/src/errors.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L46) |
64
64
  | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](PlayError.md).[`stack`](PlayError.md#property-stack) | - |
65
65
  | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`PlayError`](PlayError.md).[`stackTraceLimit`](PlayError.md#property-stacktracelimit) | - |
66
66
 
@@ -2,11 +2,12 @@
2
2
 
3
3
  # Class: PlayError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L64)
5
+ Defined in: [packages/play/src/errors.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L70)
6
6
 
7
- The base class of every typed runtime error of an `@xmachines/*` package.
7
+ The base class of every typed runtime error of a Play package.
8
8
 
9
- `PlayError` gives each error two structured fields:
9
+ `PlayError` extends `BaseError` of `@xmachines/core/errors`, which gives each error two
10
+ structured fields:
10
11
 
11
12
  - `scope` — the class or the module that threw the error, for example `"RouterBridgeBase"`
12
13
  - `code` — a stable, machine-readable identifier, for example `"PLAY_ROUTER_SYNC_FAILED"`
@@ -29,7 +30,9 @@ An `@xmachines/*` package that defines typed subclasses exports them from an
29
30
  | `@xmachines/play-xstate` | `@xmachines/play-xstate/errors` |
30
31
 
31
32
  `PlayError` is the base of every subclass above, and it sits on the subpath with them.
32
- The root barrel of `@xmachines/play` exports it never: one name has one import.
33
+ The root barrel of `@xmachines/play` exports it never: one name has one import. A
34
+ package below the Play protocol, such as `@xmachines/core`, extends `BaseError`
35
+ directly, so `err instanceof BaseError` matches every typed error of the workspace.
33
36
 
34
37
  ## How to catch an error by its type
35
38
 
@@ -46,7 +49,8 @@ try {
46
49
  // err.cause — the original error of the failed synchronization
47
50
  reportToMonitoring(err);
48
51
  } else if (err instanceof PlayError) {
49
- // Every other @xmachines/* error
52
+ // Every other error of a Play package. `BaseError` of @xmachines/core/errors
53
+ // also matches an error of a package below the Play protocol.
50
54
  console.error(`[${err.scope}:${err.code}] ${err.message}`);
51
55
  } else {
52
56
  throw err; // Throw an unknown error again
@@ -69,7 +73,7 @@ export class MyPackageError extends PlayError {
69
73
 
70
74
  ## Extends
71
75
 
72
- - `Error`
76
+ - [`BaseError`](../../../core/errors/classes/BaseError.md)
73
77
 
74
78
  ## Extended by
75
79
 
@@ -111,16 +115,16 @@ new PlayError(
111
115
  ): PlayError;
112
116
  ```
113
117
 
114
- Defined in: [packages/play/src/errors.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L84)
118
+ Defined in: [packages/play/src/errors.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L78)
115
119
 
116
120
  #### Parameters
117
121
 
118
- | Parameter | Type | Description |
119
- | ---------- | -------------- | --------------------------------------------------------------------------------------- |
120
- | `scope` | `string` | The class or the module that throws this error. |
121
- | `code` | `string` | The machine-readable identifier of the error, for example `"PLAY_ROUTER_SYNC_FAILED"`. |
122
- | `message` | `string` | The description for a person. Never match on it in your code. |
123
- | `options?` | `ErrorOptions` | The standard `ErrorOptions`. Give `{ cause: originalError }` to make a chain of errors. |
122
+ | Parameter | Type | Description |
123
+ | ---------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
124
+ | `scope` | `string` | The class or the module that throws this error. |
125
+ | `code` | `string` | The machine-readable identifier of the error, for example `"PLAY_ROUTER_SYNC_FAILED"`. A Play package names a code `PLAY_<PACKAGE>_<DESCRIPTION>`. |
126
+ | `message` | `string` | The description for a person. Never match on it in your code. |
127
+ | `options?` | `ErrorOptions` | The standard `ErrorOptions`. Give `{ cause: originalError }` to make a chain of errors. |
124
128
 
125
129
  #### Returns
126
130
 
@@ -128,21 +132,19 @@ Defined in: [packages/play/src/errors.ts:84](https://gitlab.com/xmachin-es/xmach
128
132
 
129
133
  #### Overrides
130
134
 
131
- ```ts
132
- Error.constructor;
133
- ```
135
+ [`BaseError`](../../../core/errors/classes/BaseError.md).[`constructor`](../../../core/errors/classes/BaseError.md#constructor)
134
136
 
135
137
  ## Properties
136
138
 
137
- | Property | Modifier | Type | Description | Inherited from | Defined in |
138
- | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
139
- | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
140
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `PLAY_<PACKAGE>_<DESCRIPTION>`. It stays the same across each patch release and each minor release of one major version. Never match on `.message`. Always match on `.code`, or on the subclass. | - | [packages/play/src/errors.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L76) |
141
- | <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
142
- | <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
143
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"RouterBridgeBase"`. | - | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/errors.ts#L66) |
144
- | <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
145
- | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
139
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
140
+ | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
141
+ | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`cause`](../../../core/errors/classes/BaseError.md#property-cause) | - |
142
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `<PACKAGE>_<DESCRIPTION>`, and a Play package writes `PLAY_<PACKAGE>_<DESCRIPTION>`. A code stays the same across each patch release and each minor release of one major version. Never match on `.message`. Always match on `.code`, or on the subclass. | [`BaseError`](../../../core/errors/classes/BaseError.md).[`code`](../../../core/errors/classes/BaseError.md#property-code) | [packages/core/src/errors.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L56) |
143
+ | <a id="property-message"></a> `message` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`message`](../../../core/errors/classes/BaseError.md#property-message) | - |
144
+ | <a id="property-name"></a> `name` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`name`](../../../core/errors/classes/BaseError.md#property-name) | - |
145
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`BaseError`](../../../core/errors/classes/BaseError.md).[`scope`](../../../core/errors/classes/BaseError.md#property-scope) | [packages/core/src/errors.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L46) |
146
+ | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`stack`](../../../core/errors/classes/BaseError.md#property-stack) | - |
147
+ | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`BaseError`](../../../core/errors/classes/BaseError.md).[`stackTraceLimit`](../../../core/errors/classes/BaseError.md#property-stacktracelimit) | - |
146
148
 
147
149
  ## Methods
148
150
 
@@ -211,9 +213,7 @@ a();
211
213
 
212
214
  #### Inherited from
213
215
 
214
- ```ts
215
- Error.captureStackTrace;
216
- ```
216
+ [`BaseError`](../../../core/errors/classes/BaseError.md).[`captureStackTrace`](../../../core/errors/classes/BaseError.md#capturestacktrace)
217
217
 
218
218
  ---
219
219
 
@@ -239,9 +239,7 @@ Indicates whether the argument provided is a built-in Error instance or not.
239
239
 
240
240
  #### Inherited from
241
241
 
242
- ```ts
243
- Error.isError;
244
- ```
242
+ [`BaseError`](../../../core/errors/classes/BaseError.md).[`isError`](../../../core/errors/classes/BaseError.md#iserror)
245
243
 
246
244
  ---
247
245
 
@@ -270,6 +268,4 @@ https://v8.dev/docs/stack-trace-api#customizing-stack-traces
270
268
 
271
269
  #### Inherited from
272
270
 
273
- ```ts
274
- Error.prepareStackTrace;
275
- ```
271
+ [`BaseError`](../../../core/errors/classes/BaseError.md).[`prepareStackTrace`](../../../core/errors/classes/BaseError.md#preparestacktrace)
@@ -60,16 +60,8 @@ These protocols enforce the invariants below:
60
60
 
61
61
  ## Type Aliases
62
62
 
63
- - [Cleanup](type-aliases/Cleanup.md)
64
- - [DisposeKey](type-aliases/DisposeKey.md)
65
63
  - [PlayEvent](type-aliases/PlayEvent.md)
66
64
 
67
- ## Variables
68
-
69
- - [DISPOSE](variables/DISPOSE.md)
70
-
71
65
  ## Functions
72
66
 
73
- - [asCleanup](functions/asCleanup.md)
74
67
  - [assertNonNullable](functions/assertNonNullable.md)
75
- - [shallowEqualExcept](functions/shallowEqualExcept.md)
@@ -6,7 +6,7 @@
6
6
  function assertNonNullable<V>(value, name?): NonNullable<V>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/utils.ts#L39)
9
+ Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/utils.ts#L39)
10
10
 
11
11
  Asserts that `value` is not `null` and not `undefined`, then returns it with the
12
12
  type `NonNullable<V>`. One expression therefore holds the guard and the narrowed
@@ -6,7 +6,7 @@
6
6
  type PlayEvent<TPayload> = object & TPayload;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/types.ts#L71)
9
+ Defined in: [packages/play/src/types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/types.ts#L71)
10
10
 
11
11
  The generic event type of the Play Architecture
12
12
 
@@ -35,7 +35,7 @@ and of the other state machine libraries.
35
35
 
36
36
  | Name | Type | Defined in |
37
37
  | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------ |
38
- | `type` | `string` | [packages/play/src/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play/src/types.ts#L72) |
38
+ | `type` | `string` | [packages/play/src/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/types.ts#L72) |
39
39
 
40
40
  ## Type Parameters
41
41
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  The actor contract of the XMachines Play Architecture. It names no state machine library.
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-actor)
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-actor)
8
8
 
9
9
  ## Installation
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ActorEvent
4
4
 
5
- Defined in: [play-actor.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/src/play-actor.ts#L38)
5
+ Defined in: [play-actor.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L38)
6
6
 
7
7
  The minimal shape of an event that an actor receives.
8
8
 
@@ -15,4 +15,4 @@ a union member holds no index signature, so it satisfies that default never.
15
15
 
16
16
  | Property | Modifier | Type | Defined in |
17
17
  | --------------------------------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
18
- | <a id="property-type"></a> `type` | `readonly` | `string` | [play-actor.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/src/play-actor.ts#L39) |
18
+ | <a id="property-type"></a> `type` | `readonly` | `string` | [play-actor.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L39) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayActor\<TSnapshot, TEvent\>
4
4
 
5
- Defined in: [play-actor.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/src/play-actor.ts#L75)
5
+ Defined in: [play-actor.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L75)
6
6
 
7
7
  The actor contract of the Play Architecture. It names NO engine.
8
8
 
@@ -45,7 +45,7 @@ function mount<TSnapshot, TEvent extends ActorEvent>(
45
45
 
46
46
  | Property | Modifier | Type | Description | Defined in |
47
47
  | ----------------------------------- | ---------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
48
- | <a id="property-state"></a> `state` | `readonly` | [`Atom`](../../play-atom/interfaces/Atom.md)\<`TSnapshot`\> | The reactive snapshot of the current actor state. The infrastructure observes this atom, and it reacts to each state change. It therefore holds no coupling to the internal state machine of the actor. | [play-actor.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/src/play-actor.ts#L82) |
48
+ | <a id="property-state"></a> `state` | `readonly` | [`Atom`](../../play-atom/interfaces/Atom.md)\<`TSnapshot`\> | The reactive snapshot of the current actor state. The infrastructure observes this atom, and it reacts to each state change. It therefore holds no coupling to the internal state machine of the actor. | [play-actor.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L82) |
49
49
 
50
50
  ## Methods
51
51
 
@@ -55,7 +55,7 @@ function mount<TSnapshot, TEvent extends ActorEvent>(
55
55
  send(event): void;
56
56
  ```
57
57
 
58
- Defined in: [play-actor.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/src/play-actor.ts#L90)
58
+ Defined in: [play-actor.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L90)
59
59
 
60
60
  Sends an event to the actor.
61
61