@xmachines/docs 2.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +8 -16
  2. package/api/@xmachines/play/README.md +75 -97
  3. package/api/@xmachines/play/errors/README.md +8 -0
  4. package/api/@xmachines/play/{classes → errors/classes}/NonNullableError.md +6 -6
  5. package/api/@xmachines/play/{classes → errors/classes}/PlayError.md +35 -10
  6. package/api/@xmachines/play/index/README.md +75 -0
  7. package/api/@xmachines/play/index/functions/asCleanup.md +78 -0
  8. package/api/@xmachines/play/{functions → index/functions}/assertNonNullable.md +2 -2
  9. package/api/@xmachines/{play-actor → play/index}/functions/shallowEqualExcept.md +3 -3
  10. package/api/@xmachines/play/index/type-aliases/Cleanup.md +38 -0
  11. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +32 -0
  12. package/api/@xmachines/play/{type-aliases → index/type-aliases}/PlayEvent.md +4 -4
  13. package/api/@xmachines/play/index/variables/DISPOSE.md +34 -0
  14. package/api/@xmachines/play-actor/README.md +78 -222
  15. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +18 -0
  16. package/api/@xmachines/play-actor/interfaces/PlayActor.md +73 -0
  17. package/api/@xmachines/play-dom/README.md +99 -43
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -11
  19. package/api/@xmachines/play-dom/functions/asCleanup.md +78 -0
  20. package/api/@xmachines/play-dom/functions/createPlayUI.md +6 -6
  21. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  22. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -11
  23. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -4
  24. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -12
  25. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +38 -0
  26. package/api/@xmachines/play-dom/type-aliases/MountFn.md +30 -8
  27. package/api/@xmachines/play-dom-router/README.md +99 -73
  28. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +22 -21
  29. package/api/@xmachines/{play-vue-router → play-dom-router}/classes/RouteMap.md +12 -6
  30. package/api/@xmachines/play-dom-router/functions/asCleanup.md +78 -0
  31. package/api/@xmachines/play-dom-router/functions/connectRouter.md +3 -8
  32. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +7 -1
  33. package/api/@xmachines/play-dom-router/functions/createRouter.md +12 -6
  34. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  35. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +73 -19
  36. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  37. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +8 -8
  38. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -14
  39. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +24 -21
  40. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  41. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  42. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  43. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  44. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +36 -7
  45. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +40 -6
  46. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +38 -0
  47. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +34 -0
  48. package/api/@xmachines/play-react/README.md +18 -40
  49. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +50 -11
  50. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  51. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  52. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  53. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  54. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -6
  55. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -5
  56. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  57. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
  58. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -3
  59. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  60. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  61. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  62. package/api/@xmachines/play-react/variables/schema.md +52 -0
  63. package/api/@xmachines/play-react-router/README.md +22 -50
  64. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +17 -16
  65. package/api/@xmachines/play-react-router/classes/RouteMap.md +11 -5
  66. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +11 -8
  67. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +16 -9
  68. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -14
  69. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +10 -10
  70. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +72 -0
  71. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  72. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  73. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  74. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  75. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  76. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  77. package/api/@xmachines/play-router/README.md +108 -189
  78. package/api/@xmachines/play-router/errors/README.md +15 -0
  79. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +191 -0
  80. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +175 -0
  81. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +175 -0
  82. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +200 -0
  83. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +203 -0
  84. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +175 -0
  85. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +199 -0
  86. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +192 -0
  87. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +182 -0
  88. package/api/@xmachines/play-router/index/README.md +75 -0
  89. package/api/@xmachines/play-router/{classes → index/classes}/RouteMap.md +12 -6
  90. package/api/@xmachines/play-router/{classes → index/classes}/RouterBridgeBase.md +19 -17
  91. package/api/@xmachines/play-router/{functions → index/functions}/buildPlayRouteEvent.md +2 -2
  92. package/api/@xmachines/play-router/{functions → index/functions}/buildRouteTree.md +14 -4
  93. package/api/@xmachines/play-router/{functions → index/functions}/cleanFrameworkParams.md +3 -4
  94. package/api/@xmachines/play-router/{functions → index/functions}/createRouteMapFromTree.md +13 -6
  95. package/api/@xmachines/play-router/{functions → index/functions}/createRouterConnection.md +2 -2
  96. package/api/@xmachines/play-router/{functions → index/functions}/detectDuplicateRoutes.md +2 -2
  97. package/api/@xmachines/play-router/{functions → index/functions}/extractQuery.md +2 -2
  98. package/api/@xmachines/play-router/{functions → index/functions}/extractRouteParams.md +3 -3
  99. package/api/@xmachines/play-router/{functions → index/functions}/findRouteById.md +2 -2
  100. package/api/@xmachines/play-router/{functions → index/functions}/findRouteByPath.md +2 -2
  101. package/api/@xmachines/play-router/index/functions/getPatternParamNames.md +29 -0
  102. package/api/@xmachines/play-router/index/functions/getRequiredPatternParamNames.md +39 -0
  103. package/api/@xmachines/play-router/{functions → index/functions}/isMountableBridge.md +2 -2
  104. package/api/@xmachines/play-router/index/functions/joinBasePath.md +37 -0
  105. package/api/@xmachines/play-router/{functions → index/functions}/mountKey.md +2 -2
  106. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +43 -0
  107. package/api/@xmachines/play-router/{functions → index/functions}/openProviderBridge.md +14 -14
  108. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +41 -0
  109. package/api/@xmachines/play-router/{functions → index/functions}/repointProviderBridge.md +2 -2
  110. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +51 -0
  111. package/api/@xmachines/play-router/{functions → index/functions}/resolveFrameworkParams.md +11 -13
  112. package/api/@xmachines/play-router/{functions → index/functions}/sanitizePathname.md +2 -2
  113. package/api/@xmachines/play-router/index/functions/stripBasePath.md +44 -0
  114. package/api/@xmachines/play-router/{functions → index/functions}/validateRouteFormat.md +2 -2
  115. package/api/@xmachines/play-router/{functions → index/functions}/validateStateExists.md +2 -2
  116. package/api/@xmachines/play-router/{interfaces → index/interfaces}/BasePathOptions.md +6 -6
  117. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +13 -0
  118. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +47 -0
  119. package/api/@xmachines/play-router/{interfaces → index/interfaces}/LocationLike.md +6 -6
  120. package/api/@xmachines/play-router/{interfaces → index/interfaces}/MountableRouterBridge.md +9 -9
  121. package/api/@xmachines/play-router/{interfaces → index/interfaces}/OpenProviderBridgeArgs.md +13 -13
  122. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +130 -0
  123. package/api/@xmachines/play-router/{interfaces → index/interfaces}/PlayRouterProviderBaseProps.md +15 -15
  124. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +14 -0
  125. package/api/@xmachines/play-router/{interfaces → index/interfaces}/ResolvedRoutePath.md +6 -6
  126. package/api/@xmachines/play-router/index/interfaces/Routable.md +26 -0
  127. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +72 -0
  128. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteInfo.md +11 -11
  129. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapOptions.md +5 -5
  130. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  131. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +12 -0
  132. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteNode.md +13 -13
  133. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +34 -0
  134. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +27 -0
  135. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteWatcherHandle.md +7 -7
  136. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterBridge.md +5 -5
  137. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterConnection.md +38 -9
  138. package/api/@xmachines/play-router/{interfaces → index/interfaces}/WindowLike.md +4 -4
  139. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +46 -0
  140. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +12 -0
  141. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +31 -0
  142. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +11 -0
  143. package/api/@xmachines/play-router/index/variables/DISPOSE.md +34 -0
  144. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +18 -0
  145. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +18 -0
  146. package/api/@xmachines/play-router/xstate/README.md +53 -0
  147. package/api/@xmachines/{play-dom-router → play-router/xstate}/functions/createRouteMap.md +8 -6
  148. package/api/@xmachines/play-router/{functions → xstate/functions}/extractMachineRoutes.md +4 -4
  149. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +35 -0
  150. package/api/@xmachines/play-router/{functions → xstate/functions}/getRoutableRoutes.md +6 -6
  151. package/api/@xmachines/play-router/{functions → xstate/functions}/getRouteMappings.md +7 -7
  152. package/api/@xmachines/play-router/{functions → xstate/functions}/getTransitionReachableRoutes.md +2 -2
  153. package/api/@xmachines/play-router/{functions → xstate/functions}/isRouteReachable.md +2 -2
  154. package/api/@xmachines/play-router/{functions → xstate/functions}/machineToGraph.md +2 -2
  155. package/api/@xmachines/play-router/xstate/functions/routeExists.md +26 -0
  156. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +15 -0
  157. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +17 -0
  158. package/api/@xmachines/play-router/{type-aliases → xstate/type-aliases}/MachineGraph.md +2 -2
  159. package/api/@xmachines/play-signals/README.md +5 -25
  160. package/api/@xmachines/play-signals/functions/watchSignal.md +27 -4
  161. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  162. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  163. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  164. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  165. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  166. package/api/@xmachines/play-signals/type-aliases/Cleanup.md +38 -0
  167. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  168. package/api/@xmachines/play-solid/README.md +36 -35
  169. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  170. package/api/@xmachines/play-solid/functions/usePlayView.md +14 -1
  171. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +11 -11
  172. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  173. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +16 -8
  174. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -3
  175. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  176. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  177. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  178. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  179. package/api/@xmachines/play-solid/variables/schema.md +71 -0
  180. package/api/@xmachines/play-solid-router/README.md +31 -52
  181. package/api/@xmachines/play-solid-router/classes/RouteMap.md +11 -5
  182. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +30 -53
  183. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +9 -8
  184. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +38 -35
  185. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -14
  186. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +12 -12
  187. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +72 -0
  188. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  189. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  190. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  191. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  192. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  193. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  194. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  195. package/api/@xmachines/play-svelte/README.md +13 -28
  196. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  197. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  198. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +7 -1
  199. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  200. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  201. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  202. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  203. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +8 -8
  204. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -3
  205. package/api/@xmachines/play-svelte/variables/schema.md +16 -0
  206. package/api/@xmachines/play-svelte-spa-router/README.md +22 -41
  207. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +11 -5
  208. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +22 -21
  209. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -2
  210. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  211. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +8 -8
  212. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -14
  213. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +72 -0
  214. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  215. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  216. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  217. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +36 -7
  218. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  219. package/api/@xmachines/play-sveltekit-router/README.md +17 -35
  220. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +11 -5
  221. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +22 -21
  222. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -2
  223. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  224. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +8 -8
  225. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  226. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -14
  227. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +72 -0
  228. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  229. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  230. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  231. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +36 -7
  232. package/api/@xmachines/play-tanstack-react-router/README.md +19 -43
  233. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +11 -5
  234. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +18 -17
  235. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +11 -8
  236. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +16 -9
  237. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -14
  238. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +10 -10
  239. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +72 -0
  240. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  241. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  242. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  243. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  244. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  245. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  246. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  247. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  248. package/api/@xmachines/play-tanstack-router/README.md +6 -4
  249. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +17 -20
  250. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  251. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  252. package/api/@xmachines/play-tanstack-solid-router/README.md +26 -52
  253. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +11 -5
  254. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +49 -45
  255. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +9 -8
  256. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -14
  257. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +10 -10
  258. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +72 -0
  259. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  260. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  261. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  262. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +17 -7
  263. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  264. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  265. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  266. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  267. package/api/@xmachines/play-url/README.md +69 -0
  268. package/api/@xmachines/play-url/errors/README.md +17 -0
  269. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +200 -0
  270. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +203 -0
  271. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +199 -0
  272. package/api/@xmachines/play-url/index/README.md +65 -0
  273. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +39 -0
  274. package/api/@xmachines/play-url/index/functions/getCandidates.md +29 -0
  275. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +31 -0
  276. package/api/@xmachines/play-url/index/functions/getIndexKey.md +30 -0
  277. package/api/@xmachines/play-url/index/functions/getNormalizedParamNameMap.md +32 -0
  278. package/api/@xmachines/play-url/index/functions/getPatternParamNames.md +29 -0
  279. package/api/@xmachines/play-url/index/functions/getRequiredPatternParamNames.md +39 -0
  280. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +36 -0
  281. package/api/@xmachines/play-url/index/functions/isParameterizedPattern.md +36 -0
  282. package/api/@xmachines/{play-router → play-url/index}/functions/joinBasePath.md +2 -2
  283. package/api/@xmachines/{play-router → play-url/index}/functions/normalizeBasePath.md +2 -2
  284. package/api/@xmachines/play-url/index/functions/normalizeParamNames.md +36 -0
  285. package/api/@xmachines/play-url/index/functions/parsePattern.md +27 -0
  286. package/api/@xmachines/{play-router → play-url/index}/functions/pickOwnParams.md +4 -4
  287. package/api/@xmachines/{play-router → play-url/index}/functions/resolveBasePath.md +2 -2
  288. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +49 -0
  289. package/api/@xmachines/{play-router → play-url/index}/functions/stripBasePath.md +2 -2
  290. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +28 -0
  291. package/api/@xmachines/{play-router → play-url/index}/interfaces/FrameworkParamsSource.md +9 -9
  292. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +15 -0
  293. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +14 -0
  294. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +21 -0
  295. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +23 -0
  296. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +15 -0
  297. package/api/@xmachines/{play-router → play-url/index}/interfaces/ResolvedBasePath.md +6 -6
  298. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +11 -0
  299. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +9 -0
  300. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +22 -0
  301. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +68 -0
  302. package/api/@xmachines/{play-router → play-url/index}/variables/NO_BASE_PATH.md +2 -2
  303. package/api/@xmachines/play-url/index/variables/URLPattern.md +21 -0
  304. package/api/@xmachines/play-view/README.md +165 -0
  305. package/api/@xmachines/play-view/errors/README.md +17 -0
  306. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +192 -0
  307. package/api/@xmachines/play-view/index/README.md +55 -0
  308. package/api/@xmachines/{play-actor → play-view/index}/functions/attachRenderErrorHandler.md +6 -6
  309. package/api/@xmachines/{play-actor → play-view/index}/functions/composePlayState.md +2 -2
  310. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +20 -0
  311. package/api/@xmachines/play-view/index/functions/createReportGuard.md +26 -0
  312. package/api/@xmachines/{play-actor → play-view/index}/functions/createViewStoreLifecycle.md +2 -2
  313. package/api/@xmachines/{play-actor → play-view/index}/functions/guardContextWrites.md +2 -2
  314. package/api/@xmachines/{play-actor → play-view/index}/functions/refreshContextSubtree.md +2 -2
  315. package/api/@xmachines/{play-actor → play-view/index}/functions/reuseComposedState.md +3 -3
  316. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +25 -0
  317. package/api/@xmachines/{play-actor → play-view/index}/functions/toAtomState.md +2 -2
  318. package/api/@xmachines/{play-actor → play-view/index}/functions/typedSpec.md +2 -2
  319. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +49 -0
  320. package/api/@xmachines/{play-actor → play-view/index}/interfaces/BaseViewContextValue.md +12 -12
  321. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +60 -0
  322. package/api/@xmachines/{play-actor → play-view/index}/interfaces/PlaySpec.md +8 -8
  323. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +92 -0
  324. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +18 -0
  325. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ResolveViewStoreOptions.md +5 -5
  326. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +19 -0
  327. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreLifecycle.md +6 -5
  328. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreResolution.md +7 -7
  329. package/api/@xmachines/{play-actor → play-view/index}/interfaces/Viewable.md +5 -5
  330. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +26 -0
  331. package/api/@xmachines/{play-actor → play-view/index}/variables/CONTEXT_STATE_KEY.md +2 -2
  332. package/api/@xmachines/play-vue/README.md +46 -42
  333. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  334. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  335. package/api/@xmachines/play-vue/functions/usePlayView.md +6 -1
  336. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +13 -8
  337. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +15 -10
  338. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +8 -8
  339. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -3
  340. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  341. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  342. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  343. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  344. package/api/@xmachines/play-vue/variables/schema.md +71 -0
  345. package/api/@xmachines/play-vue-router/README.md +34 -77
  346. package/api/@xmachines/play-vue-router/errors/README.md +8 -0
  347. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +193 -0
  348. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +177 -0
  349. package/api/@xmachines/play-vue-router/index/README.md +20 -0
  350. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +157 -0
  351. package/api/@xmachines/play-vue-router/{classes → index/classes}/VueRouterBridge.md +24 -43
  352. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +130 -0
  353. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +72 -0
  354. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapOptions.md +5 -5
  355. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  356. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouterBridge.md +5 -5
  357. package/api/@xmachines/play-vue-router/{variables → index/variables}/PlayRouterProvider.md +4 -4
  358. package/api/@xmachines/play-xstate/README.md +163 -98
  359. package/api/@xmachines/play-xstate/errors/README.md +13 -0
  360. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +199 -0
  361. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +198 -0
  362. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +169 -0
  363. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +197 -0
  364. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +176 -0
  365. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +199 -0
  366. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +203 -0
  367. package/api/@xmachines/play-xstate/index/README.md +38 -0
  368. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +584 -0
  369. package/api/@xmachines/play-xstate/index/functions/compose.md +224 -0
  370. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +158 -0
  371. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +22 -0
  372. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerFactoryResumeOptions.md +3 -3
  373. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerOptions.md +8 -8
  374. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +33 -0
  375. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +39 -0
  376. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +27 -0
  377. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +34 -0
  378. package/api/@xmachines/play-xstate/with-routing/README.md +46 -0
  379. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/buildRouteUrl.md +2 -2
  380. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/deriveRoute.md +4 -4
  381. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/formatPlayRouteTransitions.md +2 -2
  382. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/isAbsoluteRoute.md +3 -3
  383. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +36 -0
  384. package/api/@xmachines/play-xstate/{interfaces → with-routing/interfaces}/RouteContext.md +6 -6
  385. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +34 -0
  386. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +12 -0
  387. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +31 -0
  388. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteMachineConfig.md +5 -5
  389. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +11 -0
  390. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteStateNode.md +21 -7
  391. package/api/@xmachines/play-xstate/with-view/README.md +31 -0
  392. package/api/@xmachines/play-xstate/with-view/functions/withView.md +32 -0
  393. package/api/@xmachines/shared/README.md +10 -32
  394. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  395. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  396. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  397. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  398. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  399. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  400. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +2 -1
  401. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  402. package/api/README.md +2 -0
  403. package/api/llms.txt +15 -10
  404. package/contributing/architecture.md +97 -65
  405. package/contributing/configuration.md +142 -41
  406. package/contributing/deployment.md +30 -28
  407. package/contributing/development.md +94 -31
  408. package/contributing/testing.md +90 -31
  409. package/examples/README.md +9 -7
  410. package/examples/form-validation.md +3 -2
  411. package/examples/multi-router-integration.md +61 -39
  412. package/examples/routing-patterns.md +15 -14
  413. package/examples/traffic-light.md +11 -5
  414. package/guides/README.md +1 -0
  415. package/guides/actor-model.md +35 -26
  416. package/guides/getting-started.md +47 -44
  417. package/guides/inspector.md +4 -4
  418. package/guides/routing.md +245 -0
  419. package/guides/signals.md +43 -0
  420. package/guides/state-machines.md +16 -17
  421. package/package.json +10 -9
  422. package/rfc/play.md +35 -22
  423. package/api/@xmachines/play-actor/classes/AbstractActor.md +0 -505
  424. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +0 -48
  425. package/api/@xmachines/play-actor/interfaces/Routable.md +0 -14
  426. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +0 -122
  427. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +0 -13
  428. package/api/@xmachines/play-react-router/functions/createRouteMap.md +0 -40
  429. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +0 -70
  430. package/api/@xmachines/play-router/functions/createRouteMap.md +0 -40
  431. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +0 -35
  432. package/api/@xmachines/play-router/functions/getPatternParamNames.md +0 -24
  433. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +0 -36
  434. package/api/@xmachines/play-router/functions/routeExists.md +0 -26
  435. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +0 -13
  436. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +0 -15
  437. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +0 -17
  438. package/api/@xmachines/play-router/interfaces/PlayActor.md +0 -70
  439. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +0 -135
  440. package/api/@xmachines/play-router/interfaces/RoutableActor.md +0 -65
  441. package/api/@xmachines/play-router/interfaces/RouteMatch.md +0 -12
  442. package/api/@xmachines/play-router/interfaces/RouteObject.md +0 -21
  443. package/api/@xmachines/play-router/interfaces/RouteTree.md +0 -21
  444. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +0 -13
  445. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +0 -36
  446. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +0 -11
  447. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +0 -40
  448. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +0 -471
  449. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +0 -13
  450. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +0 -40
  451. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +0 -9
  452. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +0 -40
  453. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +0 -9
  454. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +0 -40
  455. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +0 -29
  456. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +0 -70
  457. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +0 -31
  458. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +0 -40
  459. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +0 -70
  460. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +0 -13
  461. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +0 -9
  462. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +0 -34
  463. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +0 -40
  464. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +0 -70
  465. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +0 -135
  466. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +0 -13
  467. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +0 -13
  468. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +0 -13
  469. package/api/@xmachines/play-xstate/classes/PlayerActor.md +0 -532
  470. package/api/@xmachines/play-xstate/functions/composeGuards.md +0 -86
  471. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +0 -72
  472. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +0 -43
  473. package/api/@xmachines/play-xstate/functions/definePlayer.md +0 -78
  474. package/api/@xmachines/play-xstate/functions/eventMatches.md +0 -45
  475. package/api/@xmachines/play-xstate/functions/hasContext.md +0 -45
  476. package/api/@xmachines/play-xstate/functions/negateGuard.md +0 -67
  477. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +0 -20
  478. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +0 -17
  479. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +0 -19
  480. package/api/@xmachines/play-xstate/type-aliases/Guard.md +0 -36
  481. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +0 -23
  482. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +0 -26
  483. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +0 -9
@@ -1,4 +1,4 @@
1
- [API](../../../README.md) / [@xmachines/play-vue-router](../README.md) / PlayRouterProvider
1
+ [API](../../../../README.md) / [@xmachines/play-vue-router](../../README.md) / [index](../README.md) / PlayRouterProvider
2
2
 
3
3
  # Variable: PlayRouterProvider
4
4
 
@@ -7,7 +7,7 @@ const PlayRouterProvider: DefineComponent<
7
7
  ExtractPropTypes<{
8
8
  actor: {
9
9
  required: true;
10
- type: PropType<PlayActor>;
10
+ type: PropType<RoutableActor>;
11
11
  };
12
12
  basePath: {
13
13
  default: undefined;
@@ -45,7 +45,7 @@ const PlayRouterProvider: DefineComponent<
45
45
  ExtractPropTypes<{
46
46
  actor: {
47
47
  required: true;
48
- type: PropType<PlayActor>;
48
+ type: PropType<RoutableActor>;
49
49
  };
50
50
  basePath: {
51
51
  default: undefined;
@@ -87,7 +87,7 @@ const PlayRouterProvider: DefineComponent<
87
87
  >;
88
88
  ```
89
89
 
90
- Defined in: [play-vue-router/src/play-router-provider.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-vue-router/src/play-router-provider.ts#L20)
90
+ Defined in: [packages/play-vue-router/src/play-router-provider.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-vue-router/src/play-router-provider.ts#L17)
91
91
 
92
92
  PlayRouterProvider — the Vue wrapper of VueRouterBridge.
93
93
 
@@ -4,17 +4,21 @@
4
4
 
5
5
  > XState v5 adapter for the XMachines Play Architecture. It binds a state machine to the actor base, with signal-driven reactivity and a router integration.
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-2.2.0-blue)](https://www.npmjs.com/package/@xmachines/play-xstate)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-4.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-xstate)
8
8
 
9
9
  ---
10
10
 
11
+ > **Browser floor: Chrome 110, Firefox 115, Safari 16.4.** This package calls the ES2023
12
+ > change-by-copy array methods, so a browser below that floor throws
13
+ > `TypeError: ... is not a function`. The root README carries the table.
14
+
11
15
  ## Installation
12
16
 
13
17
  ```bash
14
18
  pnpm add @xmachines/play-xstate xstate
15
19
  ```
16
20
 
17
- `xstate ^5.31.0` is a peer dependency. Install it with this package.
21
+ `xstate ^5.33.0` is a peer dependency. Install it with this package.
18
22
 
19
23
  ---
20
24
 
@@ -22,7 +26,8 @@ pnpm add @xmachines/play-xstate xstate
22
26
 
23
27
  ```typescript
24
28
  import { setup } from "xstate";
25
- import { definePlayer } from "@xmachines/play-xstate";
29
+ import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
30
+ import { withRouting } from "@xmachines/play-xstate/routing";
26
31
 
27
32
  // 1. Define your XState v5 machine
28
33
  const machine = setup({}).createMachine({
@@ -34,7 +39,7 @@ const machine = setup({}).createMachine({
34
39
  });
35
40
 
36
41
  // 2. Create a player factory
37
- const createPlayer = definePlayer({ machine });
42
+ const createPlayer = definePlayer({ machine, actor: compose(PlayerActor, withRouting) });
38
43
 
39
44
  // 3. Instantiate and start an actor
40
45
  const actor = createPlayer();
@@ -129,16 +134,75 @@ console.log(restored.currentRoute.get()); // same route as when saved
129
134
 
130
135
  ### `PlayerActor<TMachine>`
131
136
 
132
- This concrete actor class is an XState v5 actor that also exposes reactive TC39 Signals. It implements both the `Routable` interface and the `Viewable` interface from `@xmachines/play-actor`.
137
+ This concrete actor class is an XState v5 actor that exposes reactive TC39 Signals. It holds the protocol of `PlayActor` and nothing else: `state` and `send`.
133
138
 
134
139
  #### Signals
135
140
 
136
- | Signal | Type | Description |
137
- | -------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
138
- | `state` | `Signal.State<SnapshotFrom<TMachine>>` | The current XState snapshot. The actor updates it on every active transition |
139
- | `currentRoute` | `Signal.Computed<string \| null>` | The URL that comes from the `meta.route` template of the active state and from the context |
140
- | `currentView` | `Signal.State<PlaySpec \| null>` | The view spec from the `meta.view` metadata of the active state, with the context params added |
141
- | `initialRoute` | `readonly string \| null` | The route of the initial state of the machine. The constructor fixes it, and a router bridge uses it to detect a deep link or a restore |
141
+ | Signal | Type | Description |
142
+ | ------- | -------------------------------------- | ---------------------------------------------------------------------------- |
143
+ | `state` | `Signal.State<SnapshotFrom<TMachine>>` | The current XState snapshot. The actor updates it on every active transition |
144
+
145
+ ### The capabilities
146
+
147
+ Routing and the view are OPTIONAL, and each one is a mixin behind its own entry point. An application that declares no route loads no routing code, and an application that renders no view loads no view code and installs no json-render.
148
+
149
+ Each capability package is an OPTIONAL peer dependency. Install the one that you compose:
150
+
151
+ ```bash
152
+ pnpm add @xmachines/play-router # for @xmachines/play-xstate/routing
153
+ pnpm add @xmachines/play-view # for @xmachines/play-xstate/view
154
+ ```
155
+
156
+ The main entry point of this package names neither. `@xmachines/play-xstate/routing` also
157
+ carries the route utilities — `deriveRoute`, `isAbsoluteRoute`, `buildRouteUrl`,
158
+ `formatPlayRouteTransitions` and the route types — because each one names
159
+ `@xmachines/play-router` in its own types.
160
+
161
+ | Capability | Entry point | Adds | Interface |
162
+ | ---------- | -------------------------------- | ------------------------------ | -------------------------------------- |
163
+ | Routing | `@xmachines/play-xstate/routing` | `currentRoute`, `initialRoute` | `Routable` of `@xmachines/play-router` |
164
+ | View | `@xmachines/play-xstate/view` | `currentView` | `Viewable` of `@xmachines/play-view` |
165
+
166
+ `compose` applies each capability from left to right:
167
+
168
+ ```typescript
169
+ import { definePlayer, PlayerActor, compose } from "@xmachines/play-xstate";
170
+ import { withRouting } from "@xmachines/play-xstate/routing";
171
+ import { withView } from "@xmachines/play-xstate/view";
172
+
173
+ // Both capabilities
174
+ const createPlayer = definePlayer({
175
+ machine,
176
+ actor: compose(PlayerActor, withRouting, withView),
177
+ });
178
+
179
+ // Routing alone: `currentView` is a compile error on this actor
180
+ const createRouted = definePlayer({ machine, actor: compose(PlayerActor, withRouting) });
181
+
182
+ // Neither: `state` and `send`
183
+ const createBare = definePlayer({ machine });
184
+ ```
185
+
186
+ **Compose `withView` after `withRouting`.** An override calls `super.onSnapshot()` first, so the composition order decides the derivation order: the route holds its new value before the view derives from the same transition. A router bridge therefore sees a guard redirect before a renderer sees the view of the state that the guard refused.
187
+
188
+ **A lifecycle hook receives the bare actor.** `PlayerOptions` is typed before the class is composed, so it cannot name the capabilities, and a narrower hook parameter is refused under `strictFunctionTypes`. A hook that reads `currentRoute` or `currentView` reads them through a binding of the composed type:
189
+
190
+ ```typescript
191
+ let composed: PlayerActor<typeof machine> & Routable & Viewable;
192
+
193
+ const actor = definePlayer({
194
+ machine,
195
+ options: { onStateChange: () => console.log(composed.currentRoute.get()) },
196
+ actor: compose(PlayerActor, withRouting, withView),
197
+ })();
198
+ composed = actor;
199
+ ```
200
+
201
+ | Signal | Type | Capability | Description |
202
+ | -------------- | --------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
203
+ | `currentRoute` | `Signal.Computed<string \| null>` | routing | The URL that comes from the `meta.route` template of the active state and from the context |
204
+ | `initialRoute` | `readonly string \| null` | routing | The route of the initial state of the machine. The construction fixes it, and a router bridge uses it to detect a deep link or a restore |
205
+ | `currentView` | `Signal.State<PlaySpec \| null>` | view | The view spec from the `meta.view` metadata of the active state, with the context params added |
142
206
 
143
207
  #### Methods
144
208
 
@@ -149,7 +213,7 @@ This concrete actor class is an XState v5 actor that also exposes reactive TC39
149
213
  | `send(event)` | Sends a typed event to the machine and calls the `onTransition` hook |
150
214
  | `can(event)` | Returns `true` when the current state accepts the given event |
151
215
  | `getSnapshot()` | Returns the current XState snapshot |
152
- | `dispose()` | The alias of `stop()` |
216
+ | `[DISPOSE]()` | Stops the actor at the end of a `using` scope. The release is `stop()` |
153
217
 
154
218
  #### Signal usage example
155
219
 
@@ -168,39 +232,26 @@ actor.start();
168
232
 
169
233
  ---
170
234
 
171
- ### Guard utilities
172
-
173
- > **Deprecated:** these guard helpers wrap the `and()`, `or()`, and `not()`
174
- > combinators of XState, but they do not compose with a guard slot that
175
- > `setup()` types. Use the combinators of XState directly. The next major
176
- > version removes this module.
235
+ ### Guards
177
236
 
178
- These composable guard helpers wrap the `and()`, `or()`, and `not()` functions of XState. Use them in a machine `setup({ guards })` definition.
237
+ This package gives no guard utility. Compose a guard with the `and()`, `or()` and `not()` combinators of XState:
179
238
 
180
239
  ```typescript
181
- import { setup } from "xstate";
182
- import {
183
- composeGuards, // AND logic: all guards must pass
184
- composeGuardsOr, // OR logic: at least one guard must pass
185
- negateGuard, // NOT logic: inverts a guard
186
- hasContext, // guard: context field is present and non-null
187
- eventMatches, // guard: event type matches a string
188
- contextFieldMatches, // guard: context field equals a value
189
- } from "@xmachines/play-xstate";
240
+ import { and, not, setup } from "xstate";
190
241
 
191
242
  const machine = setup({
192
243
  guards: {
193
- isLoggedIn: ({ context }) => !!context.userId,
244
+ isLoggedIn: ({ context }) => context.userId !== "",
194
245
  hasAdminRole: ({ context }) => context.role === "admin",
195
246
  },
196
247
  }).createMachine({
197
248
  on: {
198
249
  accessAdmin: {
199
- guard: composeGuards(["isLoggedIn", "hasAdminRole"]),
250
+ guard: and(["isLoggedIn", "hasAdminRole"]),
200
251
  target: "adminPanel",
201
252
  },
202
253
  accessLogin: {
203
- guard: negateGuard("isLoggedIn"),
254
+ guard: not("isLoggedIn"),
204
255
  target: "login",
205
256
  },
206
257
  },
@@ -208,6 +259,10 @@ const machine = setup({
208
259
  });
209
260
  ```
210
261
 
262
+ A combinator resolves each name against the `guards` of `setup()`. A name that the map does not hold therefore fails to compile, and it names the fault: `Type '"typoGuardName"' is not assignable to type '"isLoggedIn"'`.
263
+
264
+ `composeGuards`, `composeGuardsOr`, `negateGuard`, `hasContext`, `eventMatches` and `contextFieldMatches` stood here before. They closed two gaps of the types of XState 5.28. The peer floor of this package is `^5.33.0`, and 5.33 holds neither gap. The helpers also fitted a guard slot that `setup()` types never: the example of this package reached them through an `as never` cast. Write the combinator instead, and write a plain predicate in place of each helper.
265
+
211
266
  ---
212
267
 
213
268
  ### Routing utilities
@@ -220,7 +275,7 @@ This function reads each machine state that has a `meta.route` field. It then ge
220
275
 
221
276
  ```typescript
222
277
  import { setup } from "xstate";
223
- import { formatPlayRouteTransitions } from "@xmachines/play-xstate";
278
+ import { formatPlayRouteTransitions } from "@xmachines/play-xstate/routing";
224
279
 
225
280
  const config = formatPlayRouteTransitions({
226
281
  id: "app",
@@ -251,6 +306,12 @@ const machine = setup({}).createMachine(config);
251
306
  | `isAbsoluteRoute(route)` | Returns `true` when the route string is an absolute URL path |
252
307
  | `buildRouteUrl(template, context)` | Replaces each `:param` placeholder of a route template with a context value |
253
308
 
309
+ #### The release protocol
310
+
311
+ `DISPOSE` comes from [`@xmachines/play`](../play/README.md), and this package re-exports
312
+ it, because `PlayerActor` carries `[DISPOSE]`: a scope releases an actor with `using` and
313
+ writes no teardown.
314
+
254
315
  ---
255
316
 
256
317
  ## Inspection
@@ -298,17 +359,75 @@ import type {
298
359
  PlayerOptions, // Lifecycle hooks (onStart, onStop, onTransition, onStateChange, onError) + inspect
299
360
  PlayerFactory, // Factory function returned by definePlayer()
300
361
  PlayerFactoryResumeOptions, // { snapshot? } for restoring actor state
301
- Guard, // deprecated with the guard utilities — removed in the next major
302
- GuardArray, // deprecated with the guard utilities — removed in the next major
303
- ComposedGuard, // deprecated with the guard utilities — removed in the next major
362
+ } from "@xmachines/play-xstate";
363
+
364
+ import type {
304
365
  RouteMachineConfig, // Minimal machine config accepted by formatPlayRouteTransitions
305
366
  RouteStateNode, // Single state node shape used during route crawling
306
367
  RouteContext, // Context shape expected by buildRouteUrl ({ params?, query?, basePath?, hash? })
307
- RouteObject, // Route metadata object shape: { path: string }
368
+ RouteObject, // Route metadata object shape: { path, reenter?, handler?, data? }
308
369
  RouteMetadata, // Union: string | RouteObject
309
- } from "@xmachines/play-xstate";
370
+ RouteData, // The resolved extra data of a route: Record<string, unknown>
371
+ RouteDataResolver, // The function form of RouteObject.data
372
+ } from "@xmachines/play-xstate/routing";
373
+ ```
374
+
375
+ `RouteObject`, `RouteMetadata`, `RouteData`, and `RouteDataResolver` have one
376
+ definition, and it lives in `@xmachines/play-router`. `@xmachines/play-xstate/routing`
377
+ re-exports them, so either import path gives you the same type. The MAIN entry point of
378
+ this package re-exports them no longer: it would name an optional peer in the types of
379
+ every consumer, including one that composes no routing.
380
+
381
+ ### The object form of `meta.route`
382
+
383
+ The string form declares the path only. The object form declares the path and the
384
+ behaviour of the generated `play.route` transition:
385
+
386
+ ```typescript
387
+ meta: {
388
+ route: {
389
+ path: "/doc/:docId",
390
+ // Where the generated transition sits. The default is "root", which is what
391
+ // XState does: every route transition sits on the root of the machine.
392
+ // "root" — one transition on the root. A route from any state arrives.
393
+ // "local" — one transition on the PARENT. The parent keeps its entry action,
394
+ // and a route from outside the parent arrives NOWHERE.
395
+ // "both" — one in each place. The parent keeps its entry action, and a route
396
+ // from outside the parent still arrives.
397
+ handler: "both",
398
+ // Whether the transition re-enters its OWN DOMAIN. The default is false, which
399
+ // is the default of XState. Under `handler: "root"` the domain is the root of
400
+ // the machine, so `false` spares the root alone: each ancestor between the root
401
+ // and the target still runs its exit and its entry actions. `handler` is the
402
+ // field that spares those intermediate ancestors.
403
+ reenter: false,
404
+ // The extra data of the route. The generated transition assigns it to
405
+ // `context.data`. A literal value, or a function of { context, event }.
406
+ data: { titleKey: "doc.view" },
407
+ },
408
+ }
310
409
  ```
311
410
 
411
+ An unknown `handler` value throws `InvalidRouteHandlerError` at the format time.
412
+
413
+ > **Upgrading from 3.x: the `reenter` default changed, and a machine that relies on it
414
+ > goes quiet.** An earlier release wrote `reenter: true` on EVERY generated transition,
415
+ > so every routed state re-entered its own domain on each navigation and ran its `entry`
416
+ > actions again. The flag is now what `meta.route` declares, and the default is `false` —
417
+ > which is the default of XState. A state whose `entry` action must run on each
418
+ > navigation has to declare `reenter: true` for itself. Nothing throws, and the action
419
+ > simply stops running.
420
+
421
+ The `data` field follows the `WithDynamicParams` shape of XState, so the function form
422
+ reads the context and the event:
423
+
424
+ ```typescript
425
+ data: ({ context, event }) => ({ title: `Document ${event.params?.docId}` });
426
+ ```
427
+
428
+ A function does not survive `JSON.stringify`. Use the literal form for a machine that
429
+ Stately Studio reads, or that a process sends over a wire.
430
+
312
431
  ---
313
432
 
314
433
  ## Error Classes
@@ -318,31 +437,16 @@ The `@xmachines/play-xstate/errors` subpath exports the error classes. The main
318
437
  ```typescript
319
438
  import {
320
439
  MissingRouteParamError, // Required :param absent from context when resolving currentRoute
321
- MissingQueryContextError, // deprecated: no longer thrown
322
440
  MissingStateIdError, // meta.route declared without a state id field
323
441
  InvalidMachineError, // PlayerActor constructed with a non-object machine
324
442
  InvalidEventError, // actor.send() called with null/undefined/non-object
325
443
  ActorThrewNonErrorError, // actor failed with a thrown value that is not an Error
326
444
  InvalidRouteMetadataError, // meta.route is neither a string nor { path: string }
327
- EmptyGuardArrayError, // composeGuards/composeGuardsOr called with empty array
445
+ InvalidRouteHandlerError, // meta.route.handler is not "root", "local", or "both"
328
446
  } from "@xmachines/play-xstate/errors";
329
447
  ```
330
448
 
331
- Every error class extends `PlayError` from `@xmachines/play`. Each class also carries typed detail fields, such as `param`, `template`, and `combinator`. Your code therefore reads the details of an error, and it does not parse the message.
332
-
333
- ---
334
-
335
- ## Testing
336
-
337
- ```bash
338
- # Run tests for this package in isolation
339
- pnpm --filter @xmachines/play-xstate test
340
-
341
- # Watch mode
342
- pnpm --filter @xmachines/play-xstate run test:watch
343
- ```
344
-
345
- The tests use [Vitest](https://vitest.dev/). They are in `packages/play-xstate/test/`.
449
+ Every error class extends `PlayError` from `@xmachines/play/errors`. Each class also carries typed detail fields, such as `param`, `template`, and `handler`. Your code therefore reads the details of an error, and it does not parse the message.
346
450
 
347
451
  ---
348
452
 
@@ -350,48 +454,9 @@ The tests use [Vitest](https://vitest.dev/). They are in `packages/play-xstate/t
350
454
 
351
455
  MIT — see [LICENSE](LICENSE) for details.
352
456
 
353
- @xmachines/play-xstate - the XState v5 adapter of the Play Architecture
354
-
355
- This package gives you the definePlayer() API. That function binds an XState state
356
- machine to the actor base, with the signal lifecycle and the DevTools
357
- integration.
358
-
359
- The Play RFC gives this package as the adapter of the logic layer. It converts a
360
- declarative machine definition into a live actor with a signal-driven
361
- reactivity.
362
-
363
- ## Classes
364
-
365
- - [PlayerActor](classes/PlayerActor.md)
366
-
367
- ## Interfaces
368
-
369
- - [PlayerConfig](interfaces/PlayerConfig.md)
370
- - [PlayerFactoryResumeOptions](interfaces/PlayerFactoryResumeOptions.md)
371
- - [PlayerOptions](interfaces/PlayerOptions.md)
372
- - [RouteContext](interfaces/RouteContext.md)
373
- - [RouteObject](interfaces/RouteObject.md)
374
-
375
- ## Type Aliases
376
-
377
- - [~~ComposedGuard~~](type-aliases/ComposedGuard.md)
378
- - [~~Guard~~](type-aliases/Guard.md)
379
- - [~~GuardArray~~](type-aliases/GuardArray.md)
380
- - [PlayerFactory](type-aliases/PlayerFactory.md)
381
- - [RouteMachineConfig](type-aliases/RouteMachineConfig.md)
382
- - [RouteMetadata](type-aliases/RouteMetadata.md)
383
- - [RouteStateNode](type-aliases/RouteStateNode.md)
384
-
385
- ## Functions
457
+ ## Modules
386
458
 
387
- - [buildRouteUrl](functions/buildRouteUrl.md)
388
- - [~~composeGuards~~](functions/composeGuards.md)
389
- - [~~composeGuardsOr~~](functions/composeGuardsOr.md)
390
- - [~~contextFieldMatches~~](functions/contextFieldMatches.md)
391
- - [definePlayer](functions/definePlayer.md)
392
- - [deriveRoute](functions/deriveRoute.md)
393
- - [~~eventMatches~~](functions/eventMatches.md)
394
- - [formatPlayRouteTransitions](functions/formatPlayRouteTransitions.md)
395
- - [~~hasContext~~](functions/hasContext.md)
396
- - [isAbsoluteRoute](functions/isAbsoluteRoute.md)
397
- - [~~negateGuard~~](functions/negateGuard.md)
459
+ - [errors](errors/README.md)
460
+ - [index](index/README.md)
461
+ - [with-routing](with-routing/README.md)
462
+ - [with-view](with-view/README.md)
@@ -0,0 +1,13 @@
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / errors
2
+
3
+ # errors
4
+
5
+ ## Classes
6
+
7
+ - [ActorThrewNonErrorError](classes/ActorThrewNonErrorError.md)
8
+ - [InvalidEventError](classes/InvalidEventError.md)
9
+ - [InvalidMachineError](classes/InvalidMachineError.md)
10
+ - [InvalidRouteHandlerError](classes/InvalidRouteHandlerError.md)
11
+ - [InvalidRouteMetadataError](classes/InvalidRouteMetadataError.md)
12
+ - [MissingRouteParamError](classes/MissingRouteParamError.md)
13
+ - [MissingStateIdError](classes/MissingStateIdError.md)
@@ -0,0 +1,199 @@
1
+ [API](../../../../README.md) / [@xmachines/play-xstate](../../README.md) / [errors](../README.md) / ActorThrewNonErrorError
2
+
3
+ # Class: ActorThrewNonErrorError
4
+
5
+ Defined in: [packages/play-xstate/src/errors.ts:295](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-xstate/src/errors.ts#L295)
6
+
7
+ The actor gives this error to `PlayerOptions.onError` when it failed with a value
8
+ that is not an `Error`, for example after a machine action ran
9
+ `throw { code: 42 }`.
10
+
11
+ An actor error that _is_ an `Error` reaches `onError` without a change, and it
12
+ keeps the identity of the machine. This case alone builds a new error. The new
13
+ error therefore carries a code that your code can match, and not a
14
+ `String(value)` message such as `"[object Object]"`. The `cause` field holds the
15
+ value from the throw.
16
+
17
+ **Error code:** `PLAY_XSTATE_NON_ERROR_THROWN`
18
+
19
+ ## Example
20
+
21
+ ```typescript
22
+ import { ActorThrewNonErrorError } from "@xmachines/play-xstate/errors";
23
+
24
+ definePlayer({
25
+ machine,
26
+ options: {
27
+ onError: (actor, err) => {
28
+ if (err instanceof ActorThrewNonErrorError) {
29
+ // err.cause is the value that the machine threw
30
+ console.error("Machine threw a non-Error:", err.cause);
31
+ }
32
+ },
33
+ },
34
+ });
35
+ ```
36
+
37
+ ## Extends
38
+
39
+ - [`PlayError`](../../../play/errors/classes/PlayError.md)
40
+
41
+ ## Constructors
42
+
43
+ ### Constructor
44
+
45
+ ```ts
46
+ new ActorThrewNonErrorError(value): ActorThrewNonErrorError;
47
+ ```
48
+
49
+ Defined in: [packages/play-xstate/src/errors.ts:296](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play-xstate/src/errors.ts#L296)
50
+
51
+ #### Parameters
52
+
53
+ | Parameter | Type |
54
+ | --------- | --------- |
55
+ | `value` | `unknown` |
56
+
57
+ #### Returns
58
+
59
+ `ActorThrewNonErrorError`
60
+
61
+ #### Overrides
62
+
63
+ [`PlayError`](../../../play/errors/classes/PlayError.md).[`constructor`](../../../play/errors/classes/PlayError.md#constructor)
64
+
65
+ ## Properties
66
+
67
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
68
+ | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
69
+ | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](../../../play/errors/classes/PlayError.md).[`cause`](../../../play/errors/classes/PlayError.md#property-cause) | - |
70
+ | <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`](../../../play/errors/classes/PlayError.md).[`code`](../../../play/errors/classes/PlayError.md#property-code) | [packages/play/src/errors.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play/src/errors.ts#L76) |
71
+ | <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](../../../play/errors/classes/PlayError.md).[`message`](../../../play/errors/classes/PlayError.md#property-message) | - |
72
+ | <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](../../../play/errors/classes/PlayError.md).[`name`](../../../play/errors/classes/PlayError.md#property-name) | - |
73
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"RouterBridgeBase"`. | [`PlayError`](../../../play/errors/classes/PlayError.md).[`scope`](../../../play/errors/classes/PlayError.md#property-scope) | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v4.0.0/packages/play/src/errors.ts#L66) |
74
+ | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](../../../play/errors/classes/PlayError.md).[`stack`](../../../play/errors/classes/PlayError.md#property-stack) | - |
75
+ | <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`](../../../play/errors/classes/PlayError.md).[`stackTraceLimit`](../../../play/errors/classes/PlayError.md#property-stacktracelimit) | - |
76
+
77
+ ## Methods
78
+
79
+ ### captureStackTrace()
80
+
81
+ ```ts
82
+ static captureStackTrace(targetObject, constructorOpt?): void;
83
+ ```
84
+
85
+ Defined in: `@types/node`
86
+
87
+ Creates a `.stack` property on `targetObject`, which when accessed returns
88
+ a string representing the location in the code at which
89
+ `Error.captureStackTrace()` was called.
90
+
91
+ ```js
92
+ const myObject = {};
93
+ Error.captureStackTrace(myObject);
94
+ myObject.stack; // Similar to `new Error().stack`
95
+ ```
96
+
97
+ The first line of the trace will be prefixed with
98
+ `${myObject.name}: ${myObject.message}`.
99
+
100
+ The optional `constructorOpt` argument accepts a function. If given, all frames
101
+ above `constructorOpt`, including `constructorOpt`, will be omitted from the
102
+ generated stack trace.
103
+
104
+ The `constructorOpt` argument is useful for hiding implementation
105
+ details of error generation from the user. For instance:
106
+
107
+ ```js
108
+ function a() {
109
+ b();
110
+ }
111
+
112
+ function b() {
113
+ c();
114
+ }
115
+
116
+ function c() {
117
+ // Create an error without stack trace to avoid calculating the stack trace twice.
118
+ const { stackTraceLimit } = Error;
119
+ Error.stackTraceLimit = 0;
120
+ const error = new Error();
121
+ Error.stackTraceLimit = stackTraceLimit;
122
+
123
+ // Capture the stack trace above function b
124
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
125
+ throw error;
126
+ }
127
+
128
+ a();
129
+ ```
130
+
131
+ #### Parameters
132
+
133
+ | Parameter | Type |
134
+ | ----------------- | ---------- |
135
+ | `targetObject` | `object` |
136
+ | `constructorOpt?` | `Function` |
137
+
138
+ #### Returns
139
+
140
+ `void`
141
+
142
+ #### Inherited from
143
+
144
+ [`PlayError`](../../../play/errors/classes/PlayError.md).[`captureStackTrace`](../../../play/errors/classes/PlayError.md#capturestacktrace)
145
+
146
+ ---
147
+
148
+ ### isError()
149
+
150
+ ```ts
151
+ static isError(error): error is Error;
152
+ ```
153
+
154
+ Defined in: `typescript`
155
+
156
+ Indicates whether the argument provided is a built-in Error instance or not.
157
+
158
+ #### Parameters
159
+
160
+ | Parameter | Type |
161
+ | --------- | --------- |
162
+ | `error` | `unknown` |
163
+
164
+ #### Returns
165
+
166
+ `error is Error`
167
+
168
+ #### Inherited from
169
+
170
+ [`PlayError`](../../../play/errors/classes/PlayError.md).[`isError`](../../../play/errors/classes/PlayError.md#iserror)
171
+
172
+ ---
173
+
174
+ ### prepareStackTrace()
175
+
176
+ ```ts
177
+ static prepareStackTrace(err, stackTraces): any;
178
+ ```
179
+
180
+ Defined in: `@types/node`
181
+
182
+ #### Parameters
183
+
184
+ | Parameter | Type |
185
+ | ------------- | ------------ |
186
+ | `err` | `Error` |
187
+ | `stackTraces` | `CallSite`[] |
188
+
189
+ #### Returns
190
+
191
+ `any`
192
+
193
+ #### See
194
+
195
+ https://v8.dev/docs/stack-trace-api#customizing-stack-traces
196
+
197
+ #### Inherited from
198
+
199
+ [`PlayError`](../../../play/errors/classes/PlayError.md).[`prepareStackTrace`](../../../play/errors/classes/PlayError.md#preparestacktrace)