@xmachines/docs 1.0.0-beta.9 → 1.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 (544) hide show
  1. package/README.md +137 -7
  2. package/api/@xmachines/play/README.md +160 -38
  3. package/api/@xmachines/play/classes/NonNullableError.md +189 -0
  4. package/api/@xmachines/play/classes/PlayError.md +251 -0
  5. package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
  7. package/api/@xmachines/play-actor/README.md +141 -160
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +91 -122
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
  10. package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
  11. package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
  12. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
  13. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
  14. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
  15. package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
  16. package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
  17. package/api/@xmachines/play-dom/README.md +384 -0
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
  19. package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
  20. package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
  21. package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
  22. package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
  23. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
  30. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
  31. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
  32. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
  33. package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
  34. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
  35. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
  36. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
  37. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
  38. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
  39. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
  40. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
  41. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
  42. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
  43. package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
  44. package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
  45. package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
  46. package/api/@xmachines/play-dom/variables/schema.md +62 -0
  47. package/api/@xmachines/play-dom-router/README.md +271 -0
  48. package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
  49. package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
  50. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
  51. package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
  54. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
  55. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
  56. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
  57. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
  60. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  61. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  62. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +28 -0
  63. package/api/@xmachines/play-react/README.md +185 -334
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
  65. package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
  66. package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
  67. package/api/@xmachines/play-react/functions/Renderer.md +21 -0
  68. package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
  69. package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
  70. package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
  71. package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
  72. package/api/@xmachines/play-react/functions/useActor.md +13 -0
  73. package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
  74. package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
  76. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
  77. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
  78. package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
  79. package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
  80. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
  81. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  82. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
  83. package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
  84. package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
  85. package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
  86. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
  87. package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
  88. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
  89. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
  90. package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
  91. package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
  92. package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
  93. package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
  94. package/api/@xmachines/play-react-router/README.md +130 -114
  95. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
  96. package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
  97. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
  98. package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
  99. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
  100. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
  102. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  103. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  104. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
  105. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
  106. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
  107. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  108. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
  109. package/api/@xmachines/play-router/README.md +275 -353
  110. package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
  111. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
  112. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
  113. package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
  114. package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
  115. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
  116. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
  117. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
  118. package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
  119. package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
  120. package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
  121. package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
  122. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
  123. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
  124. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
  125. package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
  126. package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
  127. package/api/@xmachines/play-router/functions/routeExists.md +2 -2
  128. package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
  129. package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
  130. package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
  131. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
  132. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  133. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +15 -0
  134. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
  135. package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
  136. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
  137. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
  138. package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
  139. package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
  140. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
  141. package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
  142. package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
  143. package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
  144. package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
  145. package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
  146. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
  147. package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  149. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
  150. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
  151. package/api/@xmachines/play-signals/README.md +116 -65
  152. package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
  153. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
  154. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
  155. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
  156. package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
  157. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
  158. package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
  159. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
  160. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
  161. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
  162. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
  163. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
  164. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
  165. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
  166. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
  167. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
  168. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
  169. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
  170. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
  171. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
  172. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
  173. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
  174. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
  175. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
  176. package/api/@xmachines/play-solid/README.md +196 -234
  177. package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
  178. package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
  179. package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
  180. package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
  181. package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
  182. package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
  183. package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
  184. package/api/@xmachines/play-solid/functions/useAction.md +24 -0
  185. package/api/@xmachines/play-solid/functions/useActions.md +13 -0
  186. package/api/@xmachines/play-solid/functions/useActor.md +13 -0
  187. package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
  188. package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
  189. package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
  190. package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
  191. package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
  192. package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
  193. package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
  194. package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
  195. package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
  196. package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
  197. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
  198. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
  199. package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
  200. package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
  201. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
  202. package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
  203. package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
  204. package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
  205. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
  206. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
  207. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
  208. package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
  209. package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
  210. package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
  211. package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
  212. package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
  213. package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
  214. package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
  215. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
  216. package/api/@xmachines/play-solid-router/README.md +151 -560
  217. package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
  218. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
  219. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
  220. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
  221. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +84 -115
  222. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
  224. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
  225. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
  227. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
  228. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
  230. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
  231. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
  232. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
  233. package/api/@xmachines/play-svelte/README.md +269 -0
  234. package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
  235. package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
  236. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
  237. package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
  238. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
  239. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  240. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  241. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
  242. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
  243. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
  244. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
  245. package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
  246. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
  247. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  248. package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
  249. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  250. package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
  251. package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
  252. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  253. package/api/@xmachines/play-svelte-spa-router/README.md +199 -0
  254. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
  255. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  256. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
  257. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  258. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
  259. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
  260. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  261. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  262. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  263. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  264. package/api/@xmachines/play-sveltekit-router/README.md +211 -0
  265. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
  266. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  267. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
  268. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  269. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  270. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
  271. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
  272. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  273. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  274. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  275. package/api/@xmachines/play-tanstack-react-router/README.md +155 -126
  276. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
  277. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
  278. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
  279. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
  280. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
  281. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
  282. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
  283. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
  284. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  285. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  286. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
  287. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
  288. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
  289. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
  290. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  291. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
  292. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
  293. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
  294. package/api/@xmachines/play-tanstack-router/README.md +58 -0
  295. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
  296. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
  297. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
  298. package/api/@xmachines/play-tanstack-solid-router/README.md +215 -175
  299. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
  300. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
  301. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
  302. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
  303. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
  304. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
  305. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
  306. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
  307. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
  308. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
  309. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
  310. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  311. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
  312. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
  313. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
  314. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
  315. package/api/@xmachines/play-vue/README.md +192 -210
  316. package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
  317. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
  318. package/api/@xmachines/play-vue/functions/useActor.md +13 -0
  319. package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
  320. package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
  321. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
  322. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
  323. package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
  324. package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
  325. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
  326. package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
  327. package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
  328. package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
  329. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
  330. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
  331. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
  332. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
  333. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
  334. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
  335. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
  336. package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
  337. package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
  338. package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
  339. package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
  340. package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
  341. package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
  342. package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
  343. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
  344. package/api/@xmachines/play-vue-router/README.md +173 -487
  345. package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
  346. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
  347. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
  348. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
  349. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
  350. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
  351. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
  352. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
  353. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
  354. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
  355. package/api/@xmachines/play-xstate/README.md +178 -347
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +161 -191
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +2 -2
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +2 -2
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -0
  361. package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
  362. package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
  363. package/api/@xmachines/play-xstate/functions/eventMatches.md +2 -2
  364. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
  365. package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
  366. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/negateGuard.md +2 -2
  368. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
  369. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
  370. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +12 -13
  371. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
  372. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
  373. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +2 -2
  374. package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
  375. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
  376. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
  377. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
  378. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
  379. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
  380. package/api/@xmachines/shared/README.md +95 -295
  381. package/api/@xmachines/shared/vite-aliases/README.md +11 -0
  382. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
  383. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  384. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
  385. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
  386. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  387. package/api/@xmachines/shared/vitest/README.md +12 -0
  388. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  389. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  390. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  391. package/api/README.md +6 -7
  392. package/api/llms.txt +72 -23
  393. package/contributing/README.md +10 -0
  394. package/contributing/architecture.md +599 -0
  395. package/contributing/configuration.md +368 -0
  396. package/contributing/deployment.md +312 -0
  397. package/contributing/development.md +464 -0
  398. package/contributing/testing.md +453 -0
  399. package/examples/@xmachines/play-dom-demo/README.md +181 -0
  400. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
  401. package/examples/@xmachines/play-dom-demo/functions/initShell.md +24 -0
  402. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  403. package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
  404. package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
  405. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
  406. package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
  407. package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
  408. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
  409. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
  410. package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
  411. package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
  412. package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
  413. package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
  414. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
  415. package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
  416. package/examples/@xmachines/play-react-demo/README.md +187 -0
  417. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  418. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  419. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  420. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  421. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  422. package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
  423. package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
  424. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
  425. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +15 -0
  426. package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
  427. package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
  428. package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
  429. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
  430. package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
  431. package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
  432. package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
  433. package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
  434. package/examples/@xmachines/play-react-demo/variables/Shell.md +18 -0
  435. package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
  436. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  437. package/examples/@xmachines/play-react-router-demo/README.md +151 -0
  438. package/examples/@xmachines/play-solid-demo/README.md +187 -0
  439. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  440. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  441. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  442. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  443. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  444. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  445. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  446. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  447. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +15 -0
  448. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  449. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  450. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  451. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
  452. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  453. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  454. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  455. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  456. package/examples/@xmachines/play-solid-demo/variables/Shell.md +17 -0
  457. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  458. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  459. package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
  460. package/examples/@xmachines/play-svelte-demo/README.md +143 -0
  461. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  462. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  463. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  464. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  465. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
  466. package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
  467. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
  468. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
  469. package/examples/@xmachines/play-vue-demo/README.md +183 -0
  470. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  471. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  472. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  473. package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
  474. package/examples/README.md +78 -30
  475. package/examples/basic-state-machine.md +75 -31
  476. package/examples/form-validation.md +261 -118
  477. package/examples/multi-router-integration.md +314 -194
  478. package/examples/routing-patterns.md +230 -189
  479. package/examples/traffic-light.md +114 -65
  480. package/guides/README.md +9 -21
  481. package/guides/actor-model.md +180 -0
  482. package/guides/getting-started.md +619 -137
  483. package/guides/signals.md +166 -0
  484. package/guides/state-machines.md +284 -0
  485. package/package.json +18 -7
  486. package/rfc/broker.md +100 -0
  487. package/rfc/browser.md +44 -0
  488. package/rfc/cli.md +118 -0
  489. package/rfc/git.md +61 -0
  490. package/rfc/mcp.md +43 -0
  491. package/rfc/node.md +36 -0
  492. package/rfc/play.md +472 -0
  493. package/rfc/rest.md +102 -0
  494. package/rfc/run.md +159 -0
  495. package/rfc/streams.md +168 -0
  496. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
  497. package/api/@xmachines/play-catalog/README.md +0 -331
  498. package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
  499. package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
  500. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
  501. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
  502. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
  503. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
  504. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
  505. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
  506. package/api/@xmachines/play-react-router-demo/README.md +0 -137
  507. package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
  508. package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
  509. package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
  510. package/api/@xmachines/play-router/functions/createRouter.md +0 -76
  511. package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
  512. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
  513. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
  514. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
  515. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
  516. package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
  517. package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
  518. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
  519. package/api/@xmachines/play-router-demo/README.md +0 -137
  520. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
  521. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
  522. package/api/@xmachines/play-solid-router-demo/README.md +0 -127
  523. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
  524. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  525. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
  526. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
  527. package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
  528. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
  529. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
  530. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
  531. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
  532. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
  533. package/api/@xmachines/play-vue-router-demo/README.md +0 -133
  534. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
  535. package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
  536. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
  537. package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
  538. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
  539. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
  540. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
  541. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
  542. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
  543. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  544. package/guides/installation.md +0 -323
@@ -1,311 +1,273 @@
1
- [Documentation](../../README.md) / @xmachines/play-solid
1
+ [API](../../README.md) / @xmachines/play-solid
2
2
 
3
- # @xmachines/play-solid
4
-
5
- **SolidJS renderer consuming signals and UI schema with provider pattern**
6
-
7
- Signal-driven SolidJS rendering layer observing actor state with zero SolidJS state for business logic.
8
-
9
- ## Overview
3
+ <!-- generated-by: gsd-doc-writer -->
10
4
 
11
- `@xmachines/play-solid` provides `PlayRenderer` for building SolidJS UIs that passively observe actor signals. This package enables framework-swappable architecture where SolidJS is just a rendering target subscribing to signal changes — business logic lives entirely in the actor.
12
-
13
- Per [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md), this package implements:
5
+ # @xmachines/play-solid
14
6
 
15
- - **Signal-Only Reactivity (INV-05):** No createSignal/createStore for business logic, TC39 signals only
16
- - **Passive Infrastructure (INV-04):** Components observe signals, send events to actor
7
+ > Solid renderer for XMachines Play architecture
17
8
 
18
- **Key Principle:** SolidJS state is never used for business logic. Signals are the source of truth.
9
+ SolidJS rendering layer that passively observes actor signals and renders UI components via `@xmachines/json-render-solid`. SolidJS reactivity is used solely to trigger re-renders — TC39 Signals are the source of truth.
19
10
 
20
- Renderer receives actor via props (provider pattern), not children.
11
+ Part of the [xmachines-js monorepo](../../README.md).
21
12
 
22
13
  ## Installation
23
14
 
24
15
  ```bash
25
- npm install solid-js@^1.8.0
26
- npm install @xmachines/play-solid
16
+ pnpm add @xmachines/play-solid
27
17
  ```
28
18
 
29
- ## Current Exports
30
-
31
- - `PlayRenderer`
32
- - `PlayRendererProps` (type)
19
+ **Peer dependencies** — install alongside the package:
33
20
 
34
- **Peer dependencies:**
35
-
36
- - `solid-js` ^1.8.0 - SolidJS runtime
21
+ ```bash
22
+ pnpm add solid-js xstate @xstate/store @xmachines/json-render-solid @xmachines/json-render-core @xmachines/json-render-xstate
23
+ ```
37
24
 
38
25
  ## Quick Start
39
26
 
40
27
  ```tsx
41
- import { render } from "solid-js/web";
28
+ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-solid";
42
29
  import { definePlayer } from "@xmachines/play-xstate";
43
- import { defineCatalog } from "@xmachines/play-catalog";
44
- import { PlayRenderer } from "@xmachines/play-solid";
45
- import { z } from "zod";
46
-
47
- // 1. Define catalog (business logic layer)
48
- const catalog = defineCatalog({
49
- LoginForm: z.object({ error: z.string().optional() }),
50
- Dashboard: z.object({
51
- userId: z.string(),
52
- username: z.string(),
53
- }),
30
+ import { defineCatalog } from "@xmachines/json-render-core";
31
+ import { schema } from "@xmachines/json-render-solid/schema";
32
+
33
+ // 1. Define a catalog (authCatalogDef is a plain object describing components/actions)
34
+ const catalog = defineCatalog(schema, authCatalogDef);
35
+
36
+ // 2. Build a component registry
37
+ const registryResult = defineRegistry(catalog, {
38
+ components: {
39
+ Home: () => <div>Welcome home!</div>,
40
+ Login: (ctx) => <div>Login {ctx.props.error && <span>{ctx.props.error}</span>}</div>,
41
+ },
42
+ actions: {
43
+ login: async (args) => actor.send({ type: "auth.login", username: args.username }),
44
+ logout: async () => actor.send({ type: "auth.logout" }),
45
+ },
54
46
  });
55
47
 
56
- // 2. Create SolidJS components (view layer)
57
- const components = {
58
- LoginForm: (props) => (
59
- <form
60
- onSubmit={(e) => {
61
- e.preventDefault();
62
- const data = new FormData(e.currentTarget);
63
- props.send({
64
- type: "auth.login",
65
- username: data.get("username"),
66
- });
67
- }}
68
- >
69
- {props.error && <p style={{ color: "red" }}>{props.error}</p>}
70
- <input name="username" required placeholder="Username" />
71
- <button type="submit">Log In</button>
72
- </form>
73
- ),
74
- Dashboard: (props) => (
75
- <div>
76
- <h1>Welcome, {props.username}!</h1>
77
- <p>User ID: {props.userId}</p>
78
- <button onClick={() => props.send({ type: "auth.logout" })}>Log Out</button>
79
- </div>
80
- ),
81
- };
82
-
83
- // 3. Create player actor (business logic runtime)
84
- const createPlayer = definePlayer({ machine: authMachine, catalog });
48
+ // 3. Create and start an actor
49
+ const createPlayer = definePlayer({ machine: myMachine });
85
50
  const actor = createPlayer();
86
51
  actor.start();
87
52
 
88
- // 4. Render UI (actor via props)
89
- render(
90
- () => <PlayRenderer actor={actor} components={components} />,
91
- document.getElementById("app")!,
92
- );
93
- ```
94
-
95
- ## API Reference
96
-
97
- ### PlayRenderer
98
-
99
- Main renderer component subscribing to actor signals and dynamically rendering catalog components:
100
-
101
- ```typescript
102
- interface PlayRendererProps {
103
- actor: AbstractActor<any>;
104
- components: Record<string, Component<any>>;
105
- fallback?: JSX.Element;
53
+ // 4. Render
54
+ function App() {
55
+ return (
56
+ <PlayUIProvider actor={actor} registryResult={registryResult}>
57
+ <PlayRenderer />
58
+ </PlayUIProvider>
59
+ );
106
60
  }
107
61
  ```
108
62
 
109
- **Props:**
63
+ ## Usage
110
64
 
111
- - `actor` - Actor instance with `currentView` signal
112
- - `components` - Map of component names to SolidJS components
113
- - `fallback` - Component shown when `currentView` is null
65
+ ### `PlayUIProvider` + `PlayRenderer` (recommended)
114
66
 
115
- **Behavior:**
116
-
117
- 1. Subscribes to `actor.currentView` signal using a `Signal.subtle.Watcher` inside the component
118
- 2. Looks up component from `components` map using `view.component` string
119
- 3. Renders component with props from `view.props` + `send` function using Solid's `<Dynamic />`
120
-
121
- **Example:**
67
+ `PlayUIProvider` is the batteries-included entry point. It wraps `ActorProvider` and `JSONUIProvider` into a single composite provider. `PlayRenderer` is a zero-prop leaf component that reads view context and renders the current spec.
122
68
 
123
69
  ```tsx
124
- <PlayRenderer
70
+ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-solid";
71
+
72
+ <PlayUIProvider
125
73
  actor={actor}
126
- components={{
127
- HomePage: (props) => <div>Home</div>,
128
- AboutPage: (props) => <div>About</div>,
129
- }}
130
- fallback={<div>Loading...</div>}
131
- />
74
+ registryResult={registryResult}
75
+ fallback={<div>Loading…</div>}
76
+ onError={(err) => console.error(err)}
77
+ navigate={navigateFn} // optional: passed to JSONUIProvider
78
+ validationFunctions={valFns} // optional: form validation helpers
79
+ >
80
+ <PlayRenderer />
81
+ </PlayUIProvider>;
132
82
  ```
133
83
 
134
- ## Examples
84
+ ### `ActorProvider` (escape hatch)
135
85
 
136
- ### Component Receiving Props from Catalog
86
+ For library authors who need direct control over provider composition:
137
87
 
138
88
  ```tsx
139
- import { PlayRenderer } from "@xmachines/play-solid";
140
- import { defineCatalog } from "@xmachines/play-catalog";
141
- import { z } from "zod";
142
-
143
- // Define schema in catalog
144
- const catalog = defineCatalog({
145
- UserProfile: z.object({
146
- userId: z.string(),
147
- name: z.string(),
148
- avatar: z.string().url().optional(),
149
- stats: z.object({
150
- posts: z.number(),
151
- followers: z.number(),
152
- }),
153
- }),
154
- });
155
-
156
- // Component receives type-safe props + send
157
- const components = {
158
- UserProfile: (props) => (
159
- <div>
160
- {props.avatar && <img src={props.avatar} alt={props.name} />}
161
- <h1>{props.name}</h1>
162
- <p>ID: {props.userId}</p>
163
- <div>
164
- <span>{props.stats.posts} posts</span>
165
- <span>{props.stats.followers} followers</span>
166
- </div>
167
- <button
168
- onClick={() =>
169
- props.send({
170
- type: "profile.edit",
171
- userId: props.userId,
172
- })
173
- }
174
- >
175
- Edit Profile
176
- </button>
177
- </div>
178
- ),
179
- };
89
+ import { ActorProvider, PlayRenderer } from "@xmachines/play-solid";
180
90
 
181
- <PlayRenderer actor={actor} components={components} />;
91
+ <ActorProvider actor={actor} registryResult={registryResult}>
92
+ <PlayRenderer />
93
+ </ActorProvider>;
182
94
  ```
183
95
 
184
- ### Provider Pattern
96
+ ### `useActor` hook
97
+
98
+ Access the raw actor instance anywhere inside an `ActorProvider` or `PlayUIProvider` tree:
185
99
 
186
100
  ```tsx
187
- import { PlayTanStackRouterProvider } from "@xmachines/play-tanstack-solid-router";
188
- import { PlayRenderer } from "@xmachines/play-solid";
189
- import { createSignal, onCleanup } from "solid-js";
101
+ import { useActor } from "@xmachines/play-solid";
190
102
 
191
- // Renderer receives actor via props (not children)
192
- function App() {
193
- return (
194
- <PlayTanStackRouterProvider
195
- actor={actor}
196
- router={router}
197
- routeMap={routeMap}
198
- renderer={(currentActor, currentRouter) => {
199
- return (
200
- <div>
201
- <Header actor={currentActor} />
202
- <PlayRenderer actor={currentActor} components={components} />
203
- <Footer />
204
- </div>
205
- );
206
- }}
207
- />
208
- );
103
+ function SubmitButton() {
104
+ const actor = useActor();
105
+ return <button onClick={() => actor.send({ type: "SUBMIT" })}>Submit</button>;
209
106
  }
107
+ ```
210
108
 
211
- // Header component also receives actor
212
- function Header(props) {
213
- const [route, setRoute] = createSignal<string | null>(null);
109
+ ### `usePlayView` hook
214
110
 
215
- // Manual watcher setup for custom component reading signals
216
- let watcher: Signal.subtle.Watcher;
111
+ Access the resolved view context (spec, handlers, registry, store) from within the provider tree:
217
112
 
218
- // ... setup watcher to update route signal ...
113
+ ```tsx
114
+ import { usePlayView } from "@xmachines/play-solid";
115
+ import { Renderer } from "@xmachines/json-render-solid";
219
116
 
220
- return (
221
- <header>
222
- <nav>Current: {route()}</nav>
223
- </header>
224
- );
225
- }
117
+ const MyRenderer = () => {
118
+ const view = usePlayView();
119
+ return <Renderer spec={view.spec} registry={view.registry} />;
120
+ };
226
121
  ```
227
122
 
228
- ## Architecture
123
+ ## API Summary
229
124
 
230
- This package implements **Signal-Only Reactivity (INV-05)** and **Passive Infrastructure (INV-04)**:
125
+ ### Components
231
126
 
232
- 1. **No Business Logic in SolidJS:**
233
- - No createSignal/createStore for business state
234
- - No createEffect for business side effects
235
- - SolidJS only triggers renders, doesn't control state
127
+ | Export | Description |
128
+ | ---------------- | ------------------------------------------------------------------------------ |
129
+ | `PlayUIProvider` | Batteries-included composite provider (recommended entry point) |
130
+ | `PlayRenderer` | Zero-prop leaf component; renders the current view spec inside a provider tree |
131
+ | `ActorProvider` | Lower-level smart provider for escape-hatch composition |
236
132
 
237
- 2. **Signals as Source of Truth:**
238
- - `actor.currentView.get()` provides UI structure
239
- - `actor.currentRoute.get()` provides navigation state
240
- - Components observe signals via explicit watcher patterns
133
+ ### Hooks
241
134
 
242
- 3. **Event Forwarding:**
243
- - Components receive `send` function via props
244
- - User actions send events to actor (e.g., `{ type: "auth.login" }`)
245
- - Actor guards validate and process events
135
+ | Export | Description |
136
+ | --------------- | --------------------------------------------------------------------------------------------- |
137
+ | `useActor()` | Returns the raw `AnyPlayActor` instance from context; throws outside a provider tree |
138
+ | `usePlayView()` | Returns the current `ViewContextValue` (spec, handlers, registry, store); throws outside tree |
246
139
 
247
- 4. **Microtask Batching:**
248
- - `Signal.subtle.Watcher` coalesces rapid signal changes
249
- - Prevents SolidJS thrashing from multiple signal updates
250
- - Single SolidJS render per microtask batch
140
+ ### Context
251
141
 
252
- 5. **Explicit Disposal Contract:**
253
- - Component teardown calls watcher `unwatch` in `onCleanup`
254
- - Do not rely on GC-only cleanup
142
+ | Export | Description |
143
+ | -------------- | -------------------------------------------------------------------------------------- |
144
+ | `ActorContext` | SolidJS context for the actor; use `ActorContext.Provider` directly as an escape hatch |
255
145
 
256
- **Pattern:**
146
+ ### Re-exports from `@xmachines/json-render-solid`
257
147
 
258
- - Renderer receives actor via props (provider pattern)
259
- - Enables composition with navigation, headers, footers
260
- - Supports multiple renderers in same app
148
+ This package re-exports the full `@xmachines/json-render-solid` public API so consumers do not need a direct dependency:
261
149
 
262
- **Architectural Invariants:**
263
-
264
- - **Signal-Only Reactivity (INV-05):** No SolidJS state for business logic
265
- - **Passive Infrastructure (INV-04):** Components reflect, never decide
150
+ ```tsx
151
+ import {
152
+ // Providers
153
+ JSONUIProvider,
154
+ StateProvider,
155
+ ActionProvider,
156
+ VisibilityProvider,
157
+ ValidationProvider,
158
+ // Renderer
159
+ Renderer,
160
+ // Registry factory + hooks
161
+ defineRegistry,
162
+ useBoundProp,
163
+ useStateBinding,
164
+ useStateValue,
165
+ useStateStore,
166
+ useActions,
167
+ useAction,
168
+ useIsVisible,
169
+ useFieldValidation,
170
+ useOptionalValidation,
171
+ useVisibility,
172
+ } from "@xmachines/play-solid";
173
+ ```
266
174
 
267
- ## Canonical Watcher Lifecycle
175
+ ### Key Types
268
176
 
269
- If you write your own custom integration, use the same watcher flow as `PlayRenderer`:
177
+ | Type | Description |
178
+ | --------------------- | ------------------------------------------------------------------------------ |
179
+ | `PlayUIProviderProps` | Props for `PlayUIProvider` |
180
+ | `ActorProviderProps` | Props for `ActorProvider` |
181
+ | `ViewContextValue` | Shape of the context value from `usePlayView()` |
182
+ | `AnyPlayActor` | `AbstractActor<AnyActorLogic>` — bare actor type accepted by context providers |
270
183
 
271
- 1. `notify` callback runs
272
- 2. Schedule work with `queueMicrotask`
273
- 3. Drain `watcher.getPending()`
274
- 4. Read actor signals and update SolidJS-local signal state (`setSignal()`)
275
- 5. Re-arm with `watch(...)` or `watch()`
184
+ ## Testing
276
185
 
277
- Watcher notify is one-shot. Re-arm is required for continuous observation.
186
+ Run tests for this package in isolation:
278
187
 
279
- ## Benefits
188
+ ```bash
189
+ pnpm --filter @xmachines/play-solid test
190
+ ```
280
191
 
281
- - **Framework Swappable:** Business logic has zero SolidJS imports
282
- - **Type Safety:** Props validated against catalog schemas
283
- - **Simple Testing:** Test actors without SolidJS renderer
284
- - **Performance:** Microtask batching reduces unnecessary renders
285
- - **Composability:** Renderer prop enables complex layouts
192
+ Or from within the package directory:
286
193
 
287
- ## Related Packages
194
+ ```bash
195
+ pnpm test # single run (jsdom environment)
196
+ pnpm run test:watch # watch mode
197
+ pnpm run test:ui # interactive Vitest UI
198
+ ```
288
199
 
289
- - **[@xmachines/play-xstate](../play-xstate/README.md)** - XState adapter providing actors
290
- - **[@xmachines/play-catalog](../play-catalog/README.md)** - UI schema validation
291
- - **[@xmachines/play-solid-router](../play-solid-router/README.md)** - Solid Router integration
292
- - **[@xmachines/play-tanstack-solid-router](../play-tanstack-solid-router/README.md)** - TanStack Solid Router integration
293
- - **[@xmachines/play-actor](../play-actor/README.md)** - Actor base
294
- - **[@xmachines/play-signals](../play-signals/README.md)** - TC39 Signals primitives
200
+ Coverage is collected with v8 (80% threshold for lines, functions, branches, and statements). Browser-specific tests live in `test/browser/` and are excluded from the default jsdom run.
295
201
 
296
202
  ## License
297
203
 
298
- Copyright (c) 2016 [Mikael Karon](mailto:mikael@karon.se). All rights reserved.
204
+ MIT
205
+
206
+ @xmachines/play-solid - SolidJS renderer for XMachines Play architecture
207
+
208
+ Provides a SolidJS rendering layer that passively observes actor signals and
209
+ renders UI components via @xmachines/json-render-solid. SolidJS reactivity is only used
210
+ to trigger re-renders — signals are the source of truth.
299
211
 
300
- This work is licensed under the terms of the MIT license.
301
- For a copy, see <https://opensource.org/licenses/MIT>.
212
+ Primary entry point:
302
213
 
303
- SolidJS renderer for XMachines Play architecture
214
+ ```tsx
215
+ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-solid";
216
+ ```
217
+
218
+ For escape-hatch provider composition:
219
+
220
+ ```tsx
221
+ import { ActorProvider, ActorContext, usePlayView } from "@xmachines/play-solid";
222
+ ```
304
223
 
305
224
  ## Interfaces
306
225
 
307
- - [PlayRendererProps](interfaces/PlayRendererProps.md)
226
+ - [ActionProviderProps](interfaces/ActionProviderProps.md)
227
+ - [ActorProviderProps](interfaces/ActorProviderProps.md)
228
+ - [ComponentContext](interfaces/ComponentContext.md)
229
+ - [DefineRegistryResult](interfaces/DefineRegistryResult.md)
230
+ - [JSONUIProviderProps](interfaces/JSONUIProviderProps.md)
231
+ - [PlayUIProviderProps](interfaces/PlayUIProviderProps.md)
232
+ - [RendererProps](interfaces/RendererProps.md)
233
+ - [StateProviderProps](interfaces/StateProviderProps.md)
234
+ - [ValidationProviderProps](interfaces/ValidationProviderProps.md)
235
+ - [ViewContextValue](interfaces/ViewContextValue.md)
236
+
237
+ ## Type Aliases
238
+
239
+ - [AnyPlayActor](type-aliases/AnyPlayActor.md)
240
+ - [ComponentFn](type-aliases/ComponentFn.md)
241
+ - [ComponentRegistry](type-aliases/ComponentRegistry.md)
242
+ - [RenderErrorHandler](type-aliases/RenderErrorHandler.md)
243
+ - [SetState](type-aliases/SetState.md)
244
+ - [VisibilityProviderProps](type-aliases/VisibilityProviderProps.md)
308
245
 
309
246
  ## Variables
310
247
 
248
+ - [ActorContext](variables/ActorContext.md)
249
+ - [ActorProvider](variables/ActorProvider.md)
311
250
  - [PlayRenderer](variables/PlayRenderer.md)
251
+ - [PlayUIProvider](variables/PlayUIProvider.md)
252
+
253
+ ## Functions
254
+
255
+ - [ActionProvider](functions/ActionProvider.md)
256
+ - [defineRegistry](functions/defineRegistry.md)
257
+ - [JSONUIProvider](functions/JSONUIProvider.md)
258
+ - [Renderer](functions/Renderer.md)
259
+ - [StateProvider](functions/StateProvider.md)
260
+ - [useAction](functions/useAction.md)
261
+ - [useActions](functions/useActions.md)
262
+ - [useActor](functions/useActor.md)
263
+ - [useBoundProp](functions/useBoundProp.md)
264
+ - [useFieldValidation](functions/useFieldValidation.md)
265
+ - [useIsVisible](functions/useIsVisible.md)
266
+ - [useOptionalValidation](functions/useOptionalValidation.md)
267
+ - [usePlayView](functions/usePlayView.md)
268
+ - [useStateBinding](functions/useStateBinding.md)
269
+ - [useStateStore](functions/useStateStore.md)
270
+ - [useStateValue](functions/useStateValue.md)
271
+ - [useVisibility](functions/useVisibility.md)
272
+ - [ValidationProvider](functions/ValidationProvider.md)
273
+ - [VisibilityProvider](functions/VisibilityProvider.md)
@@ -0,0 +1,19 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / ActionProvider
2
+
3
+ # Function: ActionProvider()
4
+
5
+ ```ts
6
+ function ActionProvider(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | ------------------------------------------------------------------------------ |
15
+ | `props` | `ParentProps`\<[`ActionProviderProps`](../interfaces/ActionProviderProps.md)\> |
16
+
17
+ ## Returns
18
+
19
+ `any`
@@ -0,0 +1,21 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / JSONUIProvider
2
+
3
+ # Function: JSONUIProvider()
4
+
5
+ ```ts
6
+ function JSONUIProvider(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ Combined provider for all JSONUI contexts
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type |
16
+ | --------- | ------------------------------------------------------------- |
17
+ | `props` | [`JSONUIProviderProps`](../interfaces/JSONUIProviderProps.md) |
18
+
19
+ ## Returns
20
+
21
+ `any`
@@ -0,0 +1,21 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / Renderer
2
+
3
+ # Function: Renderer()
4
+
5
+ ```ts
6
+ function Renderer(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ Main renderer component
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type |
16
+ | --------- | ------------------------------------------------- |
17
+ | `props` | [`RendererProps`](../interfaces/RendererProps.md) |
18
+
19
+ ## Returns
20
+
21
+ `any`
@@ -0,0 +1,19 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / StateProvider
2
+
3
+ # Function: StateProvider()
4
+
5
+ ```ts
6
+ function StateProvider(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | ---------------------------------------------------------------------------- |
15
+ | `props` | `ParentProps`\<[`StateProviderProps`](../interfaces/StateProviderProps.md)\> |
16
+
17
+ ## Returns
18
+
19
+ `any`
@@ -0,0 +1,19 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / ValidationProvider
2
+
3
+ # Function: ValidationProvider()
4
+
5
+ ```ts
6
+ function ValidationProvider(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | -------------------------------------------------------------------------------------- |
15
+ | `props` | `ParentProps`\<[`ValidationProviderProps`](../interfaces/ValidationProviderProps.md)\> |
16
+
17
+ ## Returns
18
+
19
+ `any`
@@ -0,0 +1,20 @@
1
+ [API](../../../README.md) / [@xmachines/play-solid](../README.md) / VisibilityProvider
2
+
3
+ # Function: VisibilityProvider()
4
+
5
+ ```ts
6
+ function VisibilityProvider(props): any;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-solid`
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | ----------------- | ------------------------- |
15
+ | `props` | \{ `children?`: `any`; \} |
16
+ | `props.children?` | `any` |
17
+
18
+ ## Returns
19
+
20
+ `any`