@xmachines/docs 5.0.2 → 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 (543) 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 +18 -69
  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 +34 -25
  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 +28 -45
  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 +4 -4
  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 +4 -2
  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 +14 -13
  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 +4 -2
  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 +3 -3
  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 +4 -2
  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 +4 -2
  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 +4 -2
  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 +4 -2
  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 +3 -3
  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 +19 -8
  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/vite-aliases/functions/xmAliases.md +1 -1
  430. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  431. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  432. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  433. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  434. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  435. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  436. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  437. package/api/README.md +1 -0
  438. package/api/llms.txt +1 -0
  439. package/contributing/architecture.md +36 -21
  440. package/contributing/configuration.md +5 -3
  441. package/contributing/development.md +25 -27
  442. package/contributing/migrating-to-play-atom.md +1 -0
  443. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
  444. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  445. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  446. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  447. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  448. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  449. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  450. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  451. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  452. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  453. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  454. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  455. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  456. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  457. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  458. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  459. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  460. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  461. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  462. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  463. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +15 -15
  464. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
  465. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  466. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  467. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  468. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  469. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  470. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  471. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  472. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  473. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  474. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  475. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  476. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  477. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  478. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  479. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  480. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  481. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  482. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  483. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  484. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +15 -15
  485. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
  486. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  487. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  488. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  489. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  490. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  491. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  492. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  493. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  494. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  495. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  496. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  497. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  498. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  499. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  500. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  501. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  502. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  503. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  504. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  505. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +15 -15
  506. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
  507. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  508. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  509. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
  510. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
  511. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  512. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  513. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
  514. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  515. package/examples/README.md +1 -1
  516. package/guides/atoms.md +24 -12
  517. package/guides/getting-started.md +12 -10
  518. package/package.json +1 -1
  519. package/rfc/broker.md +4 -0
  520. package/rfc/browser.md +4 -0
  521. package/rfc/cli.md +4 -0
  522. package/rfc/git.md +4 -0
  523. package/rfc/mcp.md +4 -0
  524. package/rfc/node.md +4 -0
  525. package/rfc/play.md +1 -1
  526. package/rfc/rest.md +4 -0
  527. package/rfc/run.md +4 -0
  528. package/rfc/streams.md +4 -0
  529. package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
  530. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
  531. package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
  532. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
  533. package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
  534. package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
  535. package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
  536. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
  537. package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
  538. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
  539. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
  540. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
  541. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
  542. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
  543. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
@@ -0,0 +1,177 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [errors](../README.md) / DisposeConflictError
2
+
3
+ # Class: DisposeConflictError
4
+
5
+ Defined in: [packages/core/src/errors.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L80)
6
+
7
+ [asDisposable](../../utils/functions/asDisposable.md) throws this error when the target
8
+ has a dispose member already, and that member is not the named release.
9
+
10
+ The scope would run that member and never the release that the caller names, so a
11
+ teardown would go missing without a sign. The error is a programmer error: fix the
12
+ call, and do not catch it in production code.
13
+
14
+ ## Extends
15
+
16
+ - [`BaseError`](BaseError.md)
17
+
18
+ ## Constructors
19
+
20
+ ### Constructor
21
+
22
+ ```ts
23
+ new DisposeConflictError(message, options?): DisposeConflictError;
24
+ ```
25
+
26
+ Defined in: [packages/core/src/errors.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L81)
27
+
28
+ #### Parameters
29
+
30
+ | Parameter | Type |
31
+ | ---------- | -------------- |
32
+ | `message` | `string` |
33
+ | `options?` | `ErrorOptions` |
34
+
35
+ #### Returns
36
+
37
+ `DisposeConflictError`
38
+
39
+ #### Overrides
40
+
41
+ [`BaseError`](BaseError.md).[`constructor`](BaseError.md#constructor)
42
+
43
+ ## Properties
44
+
45
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
46
+ | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
47
+ | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`BaseError`](BaseError.md).[`cause`](BaseError.md#property-cause) | - |
48
+ | <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`](BaseError.md).[`code`](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) |
49
+ | <a id="property-message"></a> `message` | `public` | `string` | - | [`BaseError`](BaseError.md).[`message`](BaseError.md#property-message) | - |
50
+ | <a id="property-name"></a> `name` | `public` | `string` | - | [`BaseError`](BaseError.md).[`name`](BaseError.md#property-name) | - |
51
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`BaseError`](BaseError.md).[`scope`](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) |
52
+ | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`BaseError`](BaseError.md).[`stack`](BaseError.md#property-stack) | - |
53
+ | <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`](BaseError.md).[`stackTraceLimit`](BaseError.md#property-stacktracelimit) | - |
54
+
55
+ ## Methods
56
+
57
+ ### captureStackTrace()
58
+
59
+ ```ts
60
+ static captureStackTrace(targetObject, constructorOpt?): void;
61
+ ```
62
+
63
+ Defined in: `@types/node`
64
+
65
+ Creates a `.stack` property on `targetObject`, which when accessed returns
66
+ a string representing the location in the code at which
67
+ `Error.captureStackTrace()` was called.
68
+
69
+ ```js
70
+ const myObject = {};
71
+ Error.captureStackTrace(myObject);
72
+ myObject.stack; // Similar to `new Error().stack`
73
+ ```
74
+
75
+ The first line of the trace will be prefixed with
76
+ `${myObject.name}: ${myObject.message}`.
77
+
78
+ The optional `constructorOpt` argument accepts a function. If given, all frames
79
+ above `constructorOpt`, including `constructorOpt`, will be omitted from the
80
+ generated stack trace.
81
+
82
+ The `constructorOpt` argument is useful for hiding implementation
83
+ details of error generation from the user. For instance:
84
+
85
+ ```js
86
+ function a() {
87
+ b();
88
+ }
89
+
90
+ function b() {
91
+ c();
92
+ }
93
+
94
+ function c() {
95
+ // Create an error without stack trace to avoid calculating the stack trace twice.
96
+ const { stackTraceLimit } = Error;
97
+ Error.stackTraceLimit = 0;
98
+ const error = new Error();
99
+ Error.stackTraceLimit = stackTraceLimit;
100
+
101
+ // Capture the stack trace above function b
102
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
103
+ throw error;
104
+ }
105
+
106
+ a();
107
+ ```
108
+
109
+ #### Parameters
110
+
111
+ | Parameter | Type |
112
+ | ----------------- | ---------- |
113
+ | `targetObject` | `object` |
114
+ | `constructorOpt?` | `Function` |
115
+
116
+ #### Returns
117
+
118
+ `void`
119
+
120
+ #### Inherited from
121
+
122
+ [`BaseError`](BaseError.md).[`captureStackTrace`](BaseError.md#capturestacktrace)
123
+
124
+ ---
125
+
126
+ ### isError()
127
+
128
+ ```ts
129
+ static isError(error): error is Error;
130
+ ```
131
+
132
+ Defined in: `typescript`
133
+
134
+ Indicates whether the argument provided is a built-in Error instance or not.
135
+
136
+ #### Parameters
137
+
138
+ | Parameter | Type |
139
+ | --------- | --------- |
140
+ | `error` | `unknown` |
141
+
142
+ #### Returns
143
+
144
+ `error is Error`
145
+
146
+ #### Inherited from
147
+
148
+ [`BaseError`](BaseError.md).[`isError`](BaseError.md#iserror)
149
+
150
+ ---
151
+
152
+ ### prepareStackTrace()
153
+
154
+ ```ts
155
+ static prepareStackTrace(err, stackTraces): any;
156
+ ```
157
+
158
+ Defined in: `@types/node`
159
+
160
+ #### Parameters
161
+
162
+ | Parameter | Type |
163
+ | ------------- | ------------ |
164
+ | `err` | `Error` |
165
+ | `stackTraces` | `CallSite`[] |
166
+
167
+ #### Returns
168
+
169
+ `any`
170
+
171
+ #### See
172
+
173
+ https://v8.dev/docs/stack-trace-api#customizing-stack-traces
174
+
175
+ #### Inherited from
176
+
177
+ [`BaseError`](BaseError.md).[`prepareStackTrace`](BaseError.md#preparestacktrace)
@@ -0,0 +1,33 @@
1
+ [API](../../../README.md) / [@xmachines/core](../README.md) / utils
2
+
3
+ # utils
4
+
5
+ Small shared utilities of the XMachines packages
6
+
7
+ The `utils` subpath of `@xmachines/core` holds code that more than one `@xmachines/*`
8
+ package needs, and that belongs to no layer of the Play Architecture: the release
9
+ protocol, and small helpers for values and errors. The cache is on the `cache` subpath,
10
+ and the error base is on the `errors` subpath. The subpath keeps no module state, so
11
+ `DISPOSE` resolves to the same symbol in each copy.
12
+
13
+ ## Type Aliases
14
+
15
+ - [DisposeKey](type-aliases/DisposeKey.md)
16
+ - [DisposeMember](type-aliases/DisposeMember.md)
17
+
18
+ ## Variables
19
+
20
+ - [DISPOSE](variables/DISPOSE.md)
21
+
22
+ ## Functions
23
+
24
+ - [asDisposable](functions/asDisposable.md)
25
+ - [createNullRecord](functions/createNullRecord.md)
26
+ - [createWarnOnce](functions/createWarnOnce.md)
27
+ - [describeValue](functions/describeValue.md)
28
+ - [isError](functions/isError.md)
29
+ - [isThenable](functions/isThenable.md)
30
+ - [releaseQuietly](functions/releaseQuietly.md)
31
+ - [rethrowLater](functions/rethrowLater.md)
32
+ - [safeString](functions/safeString.md)
33
+ - [shallowEqualExcept](functions/shallowEqualExcept.md)
@@ -0,0 +1,139 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / asDisposable
2
+
3
+ # Function: asDisposable()
4
+
5
+ ## Call Signature
6
+
7
+ ```ts
8
+ function asDisposable<F>(release): F & DisposeMember;
9
+ ```
10
+
11
+ Defined in: [packages/core/src/utils/disposable.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L126)
12
+
13
+ Makes one release function a `Disposable`. The function is its own release.
14
+
15
+ The function comes back as itself, with [DISPOSE](../variables/DISPOSE.md) added. Nothing wraps it, so
16
+ the identity of the release holds: a caller that compares two releases, or that puts
17
+ one in a `Set`, sees what it saw before. A caller that runs the release keeps that
18
+ code, and a caller inside one scope writes `using`:
19
+
20
+ ```ts
21
+ // The explicit form.
22
+ const stop = watchAtom(count, render);
23
+ stop();
24
+
25
+ // The scoped form. The scope releases it, and an exception releases it too.
26
+ {
27
+ using stop = asDisposable(watchAtom(count, render));
28
+ render(count.get());
29
+ }
30
+ ```
31
+
32
+ A value that is a `Disposable` already comes back unchanged. The function adds the key
33
+ only where it is absent, so a second call changes nothing. The one exception is a
34
+ well-known key that a late polyfill installed: the second call stores the release there.
35
+
36
+ The release must be idempotent. A scope releases the value one time, but a caller that
37
+ runs the function AND lets the scope end runs it two times. Every release of this
38
+ workspace accepts that.
39
+
40
+ The release must be synchronous. `Disposable` and not `AsyncDisposable`: a
41
+ `Disposable` serves `using` AND `await using`, because `await using` falls back to
42
+ `Symbol.dispose`, while an `AsyncDisposable` raises a TypeError under a plain `using`
43
+ and forces every holder into an async function. The `void | undefined` bound rejects
44
+ an async release: a plain `() => void` bound accepts `async () => {}`, because
45
+ TypeScript lets a function that returns a value stand where one that returns `void`
46
+ is wanted. The scope would then ignore the promise, and nothing could await the work.
47
+
48
+ The bound holds where the compiler knows the return type. It cannot hold where the
49
+ caller erased it: a release typed `any`, such as a bare `vi.fn()`, satisfies every
50
+ constraint. Write the release inline, or type it, and the bound applies.
51
+
52
+ `using` needs Node 24 or a browser with Explicit Resource Management, and it needs
53
+ `"lib": ["ESNext"]` of the consumer. See [DisposeKey](../type-aliases/DisposeKey.md) for a consumer without it.
54
+
55
+ ### Type Parameters
56
+
57
+ | Type Parameter |
58
+ | ----------------------------------------- |
59
+ | `F` _extends_ () => `void` \| `undefined` |
60
+
61
+ ### Parameters
62
+
63
+ | Parameter | Type | Description |
64
+ | --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
65
+ | `release` | `F` | The release to publish. It must return nothing. The function is changed in place, so pass a function that this caller owns: a shared or module-level function becomes a `Disposable` for every other holder of it. |
66
+
67
+ ### Returns
68
+
69
+ `F` & [`DisposeMember`](../type-aliases/DisposeMember.md)
70
+
71
+ The same function, now also a `Disposable`.
72
+
73
+ ### Throws
74
+
75
+ TypeError - When the function is frozen or is otherwise not extensible, and a
76
+ dispose key holds no member yet.
77
+
78
+ ### See
79
+
80
+ [Play RFC](../../../../../rfc/play.md)
81
+
82
+ ## Call Signature
83
+
84
+ ```ts
85
+ function asDisposable<T, R>(target, release): T & DisposeMember;
86
+ ```
87
+
88
+ Defined in: [packages/core/src/utils/disposable.ts:157](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L157)
89
+
90
+ Makes one object a `Disposable`, with a release that the caller names.
91
+
92
+ The object comes back as itself, with [DISPOSE](../variables/DISPOSE.md) added, so a caller that compares
93
+ two objects sees what it saw before.
94
+
95
+ An object that is a `Disposable` already, with a dispose member own or inherited,
96
+ makes the call throw. The scope would run that member and never the release that the
97
+ caller names, so a teardown would go missing without a sign. A second call with the
98
+ SAME release is not a conflict: it returns the object, and it writes only a well-known
99
+ key that a late polyfill left empty.
100
+
101
+ The rules of the function form apply to the release: it must be idempotent, and it
102
+ must be synchronous.
103
+
104
+ ### Type Parameters
105
+
106
+ | Type Parameter |
107
+ | ----------------------------------- |
108
+ | `T` _extends_ `object` |
109
+ | `R` _extends_ `void` \| `undefined` |
110
+
111
+ ### Parameters
112
+
113
+ | Parameter | Type | Description |
114
+ | --------- | --------- | ---------------------------------------------------------------------------------------- |
115
+ | `target` | `T` | The object to publish. It is changed in place, so pass an object that this release owns. |
116
+ | `release` | () => `R` | The release that the scope runs. It must return nothing. |
117
+
118
+ ### Returns
119
+
120
+ `T` & [`DisposeMember`](../type-aliases/DisposeMember.md)
121
+
122
+ The same object, now also a `Disposable`.
123
+
124
+ ### Throws
125
+
126
+ [DisposeConflictError](../../errors/classes/DisposeConflictError.md) - When
127
+ the object has a dispose member already, and that member is not the named release.
128
+
129
+ ### Throws
130
+
131
+ TypeError - When the object is frozen or is otherwise not extensible, and a
132
+ dispose key does not hold the release yet.
133
+
134
+ ### Example
135
+
136
+ ```ts
137
+ const subscription = selection.subscribe(render);
138
+ using disposable = asDisposable(subscription, () => subscription.unsubscribe());
139
+ ```
@@ -0,0 +1,39 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / createNullRecord
2
+
3
+ # Function: createNullRecord()
4
+
5
+ ```ts
6
+ function createNullRecord<V>(): Record<string, V>;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/null-record.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/null-record.ts#L21)
10
+
11
+ Builds an empty record with no prototype.
12
+
13
+ A record that collects keys from outside the program — the params of a URL, the query
14
+ of a location — takes any key that the outside sends. An ordinary `{}` inherits from
15
+ `Object.prototype`, so a key such as `__proto__` writes the prototype and not an
16
+ entry, and a key such as `constructor` reads a function that nobody stored. A record
17
+ with no prototype holds each key as an own entry, and it reads nothing it did not
18
+ store.
19
+
20
+ ## Type Parameters
21
+
22
+ | Type Parameter |
23
+ | -------------- |
24
+ | `V` |
25
+
26
+ ## Returns
27
+
28
+ `Record`\<`string`, `V`\>
29
+
30
+ A new, empty record. Each call builds one.
31
+
32
+ ## Example
33
+
34
+ ```ts
35
+ import { createNullRecord } from "@xmachines/core/utils";
36
+
37
+ const params = createNullRecord<string>();
38
+ params["__proto__"] = "x"; // an own entry, and the prototype stays null
39
+ ```
@@ -0,0 +1,39 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / createWarnOnce
2
+
3
+ # Function: createWarnOnce()
4
+
5
+ ```ts
6
+ function createWarnOnce(): (anchor, message) => void;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/warn-once.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/warn-once.ts#L27)
10
+
11
+ Builds a function that writes one warning for each anchor object, and no more.
12
+
13
+ A diagnostic that a hot path finds — a stale field of a static config, read on every
14
+ event — floods the console at the rate of that path. The key of this function is the
15
+ identity of an object that stays the same between two calls, such as the config
16
+ itself. Each anchor therefore reports one time, and a new object reports again.
17
+
18
+ The function is a factory, and it keeps its memory in a `WeakSet` of its own. A module
19
+ that calls it one time holds one memory for its diagnostics, and an anchor that nothing
20
+ else holds is free for the garbage collector.
21
+
22
+ ## Returns
23
+
24
+ A function of `(anchor, message)`. It calls `console.warn(message)` for the
25
+ first call with an anchor, and it does nothing for every later call with that anchor.
26
+
27
+ (`anchor`, `message`) => `void`
28
+
29
+ ## Example
30
+
31
+ ```ts
32
+ import { createWarnOnce } from "@xmachines/core/utils";
33
+
34
+ const warnOnce = createWarnOnce();
35
+
36
+ function derive(config: Config): void {
37
+ if (config.legacy) warnOnce(config, "config.legacy has no effect");
38
+ }
39
+ ```
@@ -0,0 +1,39 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / describeValue
2
+
3
+ # Function: describeValue()
4
+
5
+ ```ts
6
+ function describeValue(value): string;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/describe-value.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/describe-value.ts#L53)
10
+
11
+ Describes an unknown value for the message of an error, and throws nothing itself.
12
+
13
+ `JSON.stringify` alone is not enough for a value that arrives from the config of a
14
+ user. It returns the VALUE `undefined` for a function, for a symbol, and for
15
+ `undefined`, which puts the text "undefined" in a field that is declared `string`. It
16
+ also THROWS a `TypeError` for a circular object, and an error constructor that throws
17
+ hides the error that it was built to report. The fallback names the type instead, for
18
+ example `[function]`.
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Type | Description |
23
+ | --------- | --------- | ---------------------- |
24
+ | `value` | `unknown` | The value to describe. |
25
+
26
+ ## Returns
27
+
28
+ `string`
29
+
30
+ The JSON text of the value, or its type in brackets.
31
+
32
+ ## Example
33
+
34
+ ```ts
35
+ import { describeValue } from "@xmachines/core/utils";
36
+
37
+ describeValue({ path: 1 }); // '{"path":1}'
38
+ describeValue(() => {}); // "[function]"
39
+ ```
@@ -0,0 +1,46 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / isError
2
+
3
+ # Function: isError()
4
+
5
+ ```ts
6
+ function isError(value): value is Error;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/is-error.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/is-error.ts#L29)
10
+
11
+ Tells if a value is an `Error`, by its identity or by its brand.
12
+
13
+ The function tries `instanceof` first. It therefore answers `true` for every object
14
+ that inherits from `Error.prototype` of this realm, also one that no `Error`
15
+ constructor built, such as `Object.create(Error.prototype)`.
16
+
17
+ `instanceof` misses an error from another realm, such as an iframe or `node:vm`. For
18
+ such a value the function uses `Error.isError` where the runtime has it (Node 24 and a
19
+ Baseline 2025 browser), because that function refuses a false `Symbol.toStringTag`. In
20
+ every other runtime the function tests the brand. The type of `Error.isError` is
21
+ structural here, because the lib target of a consumer can be older than the API.
22
+
23
+ The function can throw for a hostile value: a revoked Proxy traps `instanceof`, and it
24
+ traps the inspection of the brand too. A caller in an error path therefore wraps the
25
+ call in `try`.
26
+
27
+ ## Parameters
28
+
29
+ | Parameter | Type | Description |
30
+ | --------- | --------- | ------------------ |
31
+ | `value` | `unknown` | The value to test. |
32
+
33
+ ## Returns
34
+
35
+ `value is Error`
36
+
37
+ `true` when the value is an `Error` of any realm.
38
+
39
+ ## Example
40
+
41
+ ```ts
42
+ import { isError } from "@xmachines/core/utils";
43
+
44
+ isError(new TypeError("x")); // true
45
+ isError({ message: "x" }); // false
46
+ ```
@@ -0,0 +1,43 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / isThenable
2
+
3
+ # Function: isThenable()
4
+
5
+ ```ts
6
+ function isThenable<T>(value): value is PromiseLike<T>;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/is-thenable.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/is-thenable.ts#L20)
10
+
11
+ Tells if a value is a thenable, so that the caller can wait for it.
12
+
13
+ A declared type such as `void | Promise<void>` says nothing at run time: a real
14
+ implementation returns a promise, and a test double returns nothing. The function
15
+ therefore probes the value for a callable `then`, which is the test that `await`
16
+ applies too.
17
+
18
+ ## Type Parameters
19
+
20
+ | Type Parameter | Default type |
21
+ | -------------- | ------------ |
22
+ | `T` | `unknown` |
23
+
24
+ ## Parameters
25
+
26
+ | Parameter | Type | Description |
27
+ | --------- | --------- | ------------------ |
28
+ | `value` | `unknown` | The value to test. |
29
+
30
+ ## Returns
31
+
32
+ `value is PromiseLike<T>`
33
+
34
+ `true` when the value has a callable `then` method.
35
+
36
+ ## Example
37
+
38
+ ```ts
39
+ import { isThenable } from "@xmachines/core/utils";
40
+
41
+ const result = router.load();
42
+ if (isThenable(result)) await result;
43
+ ```
@@ -0,0 +1,37 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / releaseQuietly
2
+
3
+ # Function: releaseQuietly()
4
+
5
+ ```ts
6
+ function releaseQuietly(release, onFailure): void;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/release-quietly.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/release-quietly.ts#L23)
10
+
11
+ Runs one release, and it contains a failure of that release.
12
+
13
+ A teardown often runs several releases in a row, and each one can be code of a caller
14
+ that throws. A throw from the first release then skips every release after it, and the
15
+ owner holds a half teardown that no caller can complete. Run each release through this
16
+ function, and each one stands alone: a failure goes to `onFailure`, and the next
17
+ release runs.
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Description |
22
+ | ----------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
23
+ | `release` | (() => `void`) \| `null` \| `undefined` | The release to run. `null` and `undefined` do nothing, so a field that holds no release yet needs no check at the call. |
24
+ | `onFailure` | (`failure`) => `void` | Receives the value that the release threw. It reports the failure, for example with `console.error`, and it must not throw itself. |
25
+
26
+ ## Returns
27
+
28
+ `void`
29
+
30
+ ## Example
31
+
32
+ ```ts
33
+ import { releaseQuietly } from "@xmachines/core/utils";
34
+
35
+ const report = (failure: unknown) => console.error("a release threw", failure);
36
+ for (const release of releases) releaseQuietly(release, report);
37
+ ```
@@ -0,0 +1,43 @@
1
+ [API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / rethrowLater
2
+
3
+ # Function: rethrowLater()
4
+
5
+ ```ts
6
+ function rethrowLater(error): void;
7
+ ```
8
+
9
+ Defined in: [packages/core/src/utils/rethrow-later.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/rethrow-later.ts#L28)
10
+
11
+ Throws an error again from a microtask of its own, and returns at once.
12
+
13
+ A throw from a microtask reaches the global handler of the runtime — the `error` event
14
+ and `window.onerror` in a page, `uncaughtException` in Node — and it touches the
15
+ current stack not. It is not a rejection, so `unhandledrejection` does not see it.
16
+
17
+ Use it where a throw must not leave the current code: an error handler that a renderer
18
+ contains, or a callback that runs from a microtask already, so that a throw from it
19
+ reaches no caller.
20
+
21
+ ## Parameters
22
+
23
+ | Parameter | Type | Description |
24
+ | --------- | --------- | ------------------------------------------------------------------------------------------------ |
25
+ | `error` | `unknown` | The value to throw again. It is thrown as it is, so an `Error` keeps its identity and its stack. |
26
+
27
+ ## Returns
28
+
29
+ `void`
30
+
31
+ ## Example
32
+
33
+ ```tsx
34
+ import { rethrowLater } from "@xmachines/core/utils";
35
+
36
+ <ActorProvider
37
+ actor={actor}
38
+ registryResult={registryResult}
39
+ onError={(error) => rethrowLater(error)}
40
+ >
41
+ <PlayRenderer />
42
+ </ActorProvider>;
43
+ ```