@xmachines/docs 3.0.0 → 5.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 (567) hide show
  1. package/README.md +14 -20
  2. package/api/@xmachines/play/README.md +29 -118
  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 +36 -10
  6. package/api/@xmachines/play/index/README.md +75 -0
  7. package/api/@xmachines/play/index/functions/asCleanup.md +77 -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/{type-aliases → index/type-aliases}/Cleanup.md +5 -5
  11. package/api/@xmachines/play/{type-aliases → index/type-aliases}/DisposeKey.md +2 -2
  12. package/api/@xmachines/play/{type-aliases → index/type-aliases}/PlayEvent.md +4 -4
  13. package/api/@xmachines/play/{variables → index/variables}/DISPOSE.md +2 -2
  14. package/api/@xmachines/play-actor/README.md +80 -231
  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-atom/README.md +281 -0
  18. package/api/@xmachines/play-atom/functions/watchAtom.md +79 -0
  19. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +16 -0
  20. package/api/@xmachines/play-atom/interfaces/Atom.md +149 -0
  21. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +25 -0
  22. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +33 -0
  23. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +23 -0
  24. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +97 -0
  25. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +91 -0
  26. package/api/@xmachines/play-atom/interfaces/Readable.md +93 -0
  27. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +108 -0
  28. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +13 -0
  29. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +32 -0
  30. package/api/@xmachines/{play-signals → play-atom}/type-aliases/Cleanup.md +5 -5
  31. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +42 -0
  32. package/api/@xmachines/play-atom/variables/createAtom.md +18 -0
  33. package/api/@xmachines/play-atom/variables/createWritableAtom.md +70 -0
  34. package/api/@xmachines/play-dom/README.md +44 -52
  35. package/api/@xmachines/play-dom/classes/PlayRenderer.md +17 -16
  36. package/api/@xmachines/play-dom/functions/asCleanup.md +77 -0
  37. package/api/@xmachines/play-dom/functions/createPlayUI.md +4 -4
  38. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  39. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +3 -3
  40. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  41. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
  42. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +4 -4
  43. package/api/@xmachines/play-dom/type-aliases/MountFn.md +29 -12
  44. package/api/@xmachines/play-dom-router/README.md +83 -83
  45. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +24 -23
  46. package/api/@xmachines/play-dom-router/{interfaces → classes}/RouteMap.md +42 -7
  47. package/api/@xmachines/{play → play-dom-router}/functions/asCleanup.md +5 -6
  48. package/api/@xmachines/play-dom-router/functions/connectRouter.md +3 -8
  49. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +9 -3
  50. package/api/@xmachines/play-dom-router/functions/createRouter.md +8 -14
  51. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -9
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +70 -26
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  54. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +11 -9
  55. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -14
  56. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +24 -21
  57. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +10 -4
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  60. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +15 -17
  61. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  62. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +36 -23
  63. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +4 -4
  64. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +2 -2
  65. package/api/@xmachines/play-pattern/README.md +115 -0
  66. package/api/@xmachines/play-pattern/functions/buildPath.md +46 -0
  67. package/api/@xmachines/play-pattern/functions/createPatternCache.md +47 -0
  68. package/api/@xmachines/play-pattern/functions/getIndexKey.md +30 -0
  69. package/api/@xmachines/play-pattern/functions/isDotSegment.md +40 -0
  70. package/api/@xmachines/play-pattern/functions/parsePattern.md +28 -0
  71. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +15 -0
  72. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +14 -0
  73. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +21 -0
  74. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +19 -0
  75. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +23 -0
  76. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +65 -0
  77. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +15 -0
  78. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +74 -0
  79. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +15 -0
  80. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +11 -0
  81. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +9 -0
  82. package/api/@xmachines/play-react/README.md +46 -58
  83. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +14 -10
  84. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  85. package/api/@xmachines/play-react/functions/useAtomEffect.md +103 -0
  86. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  87. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  88. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  89. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  90. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  91. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
  92. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -3
  93. package/api/@xmachines/play-react/variables/ActorProvider.md +2 -2
  94. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  95. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  96. package/api/@xmachines/play-react/variables/schema.md +52 -0
  97. package/api/@xmachines/play-react-router/README.md +23 -51
  98. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -23
  99. package/api/@xmachines/play-react-router/classes/RouteMap.md +18 -12
  100. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +11 -8
  101. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +16 -9
  102. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -14
  103. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -12
  104. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +72 -0
  105. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +10 -4
  106. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  107. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +15 -17
  108. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
  109. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  110. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  111. package/api/@xmachines/play-router/README.md +116 -197
  112. package/api/@xmachines/play-router/errors/README.md +15 -0
  113. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +191 -0
  114. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +175 -0
  115. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +175 -0
  116. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +200 -0
  117. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +203 -0
  118. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +175 -0
  119. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +199 -0
  120. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +192 -0
  121. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +182 -0
  122. package/api/@xmachines/play-router/index/README.md +83 -0
  123. package/api/@xmachines/play-router/{classes → index/classes}/RouteMap.md +19 -13
  124. package/api/@xmachines/play-router/{classes → index/classes}/RouterBridgeBase.md +22 -20
  125. package/api/@xmachines/play-router/{functions → index/functions}/buildPlayRouteEvent.md +2 -2
  126. package/api/@xmachines/play-router/{functions → index/functions}/buildRouteTree.md +14 -4
  127. package/api/@xmachines/play-router/{functions → index/functions}/cleanFrameworkParams.md +3 -4
  128. package/api/@xmachines/play-router/index/functions/createPatternCache.md +47 -0
  129. package/api/@xmachines/play-router/{functions → index/functions}/createRouteMapFromTree.md +17 -10
  130. package/api/@xmachines/play-router/{functions → index/functions}/createRouterConnection.md +2 -2
  131. package/api/@xmachines/play-router/{functions → index/functions}/detectDuplicateRoutes.md +2 -2
  132. package/api/@xmachines/play-router/{functions → index/functions}/extractQuery.md +2 -2
  133. package/api/@xmachines/play-router/{functions → index/functions}/extractRouteParams.md +9 -8
  134. package/api/@xmachines/play-router/{functions → index/functions}/findRouteById.md +2 -2
  135. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +48 -0
  136. package/api/@xmachines/play-router/{functions → index/functions}/isMountableBridge.md +2 -2
  137. package/api/@xmachines/play-router/index/functions/joinBasePath.md +38 -0
  138. package/api/@xmachines/play-router/{functions → index/functions}/mountKey.md +2 -2
  139. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +43 -0
  140. package/api/@xmachines/play-router/{functions → index/functions}/openProviderBridge.md +14 -14
  141. package/api/@xmachines/play-router/index/functions/parsePattern.md +28 -0
  142. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +41 -0
  143. package/api/@xmachines/play-router/{functions → index/functions}/repointProviderBridge.md +2 -2
  144. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +51 -0
  145. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +49 -0
  146. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +27 -0
  147. package/api/@xmachines/play-router/index/functions/splitLocation.md +37 -0
  148. package/api/@xmachines/play-router/index/functions/stripBasePath.md +44 -0
  149. package/api/@xmachines/play-router/{functions → index/functions}/validateRouteFormat.md +2 -2
  150. package/api/@xmachines/play-router/{functions → index/functions}/validateStateExists.md +2 -2
  151. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +32 -0
  152. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +13 -0
  153. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +35 -0
  154. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +52 -0
  155. package/api/@xmachines/play-router/{interfaces → index/interfaces}/LocationLike.md +6 -6
  156. package/api/@xmachines/play-router/{interfaces → index/interfaces}/MountableRouterBridge.md +12 -12
  157. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +30 -0
  158. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +24 -0
  159. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +23 -0
  160. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +65 -0
  161. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +130 -0
  162. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +39 -0
  163. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +14 -0
  164. package/api/@xmachines/play-router/{interfaces → index/interfaces}/ResolvedRoutePath.md +6 -6
  165. package/api/@xmachines/play-router/index/interfaces/Routable.md +26 -0
  166. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +72 -0
  167. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteInfo.md +11 -11
  168. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +19 -0
  169. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  170. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +12 -0
  171. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteNode.md +13 -13
  172. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +34 -0
  173. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +27 -0
  174. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +55 -0
  175. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
  176. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +31 -0
  177. package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterConnection.md +10 -10
  178. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +16 -0
  179. package/api/@xmachines/play-router/{interfaces → index/interfaces}/WindowLike.md +4 -4
  180. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +53 -0
  181. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +12 -0
  182. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +31 -0
  183. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +11 -0
  184. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +68 -0
  185. package/api/@xmachines/{play-xstate → play-router/index}/variables/DISPOSE.md +3 -3
  186. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +18 -0
  187. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +18 -0
  188. package/api/@xmachines/play-router/xstate/README.md +53 -0
  189. package/api/@xmachines/play-router/{functions → xstate/functions}/createRouteMap.md +11 -9
  190. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +30 -0
  191. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +35 -0
  192. package/api/@xmachines/play-router/{functions → xstate/functions}/getRoutableRoutes.md +6 -6
  193. package/api/@xmachines/play-router/{functions → xstate/functions}/getRouteMappings.md +7 -7
  194. package/api/@xmachines/play-router/{functions → xstate/functions}/getTransitionReachableRoutes.md +2 -2
  195. package/api/@xmachines/play-router/{functions → xstate/functions}/isRouteReachable.md +2 -2
  196. package/api/@xmachines/play-router/{functions → xstate/functions}/machineToGraph.md +2 -2
  197. package/api/@xmachines/play-router/xstate/functions/routeExists.md +26 -0
  198. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +15 -0
  199. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +17 -0
  200. package/api/@xmachines/play-router/{type-aliases → xstate/type-aliases}/MachineGraph.md +2 -2
  201. package/api/@xmachines/play-solid/README.md +21 -34
  202. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  203. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  204. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +11 -11
  205. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  206. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +8 -8
  207. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -3
  208. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  209. package/api/@xmachines/play-solid/variables/ActorProvider.md +2 -2
  210. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  211. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  212. package/api/@xmachines/play-solid/variables/schema.md +71 -0
  213. package/api/@xmachines/play-solid-router/README.md +34 -55
  214. package/api/@xmachines/play-solid-router/classes/RouteMap.md +18 -12
  215. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +33 -56
  216. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +9 -8
  217. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +38 -35
  218. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -14
  219. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
  220. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +72 -0
  221. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +10 -4
  222. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  223. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +15 -17
  224. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
  225. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  226. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  227. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  228. package/api/@xmachines/play-svelte/README.md +18 -29
  229. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  230. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  231. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  232. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  233. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  234. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  235. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  236. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +8 -8
  237. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -3
  238. package/api/@xmachines/play-svelte/variables/schema.md +16 -0
  239. package/api/@xmachines/play-svelte-spa-router/README.md +25 -44
  240. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +18 -12
  241. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +24 -23
  242. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -2
  243. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -9
  244. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +11 -9
  245. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -14
  246. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +72 -0
  247. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +10 -4
  248. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  249. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +15 -17
  250. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  251. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  252. package/api/@xmachines/play-sveltekit-router/README.md +32 -50
  253. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +18 -12
  254. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +24 -23
  255. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -2
  256. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -9
  257. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +15 -23
  258. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  259. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -14
  260. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +72 -0
  261. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +10 -4
  262. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  263. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +15 -17
  264. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  265. package/api/@xmachines/play-tanstack-react-router/README.md +25 -49
  266. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +18 -12
  267. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +22 -21
  268. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +11 -8
  269. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +16 -9
  270. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -14
  271. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -12
  272. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +72 -0
  273. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +10 -4
  274. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  275. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +15 -17
  276. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
  277. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  278. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  279. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  280. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  281. package/api/@xmachines/play-tanstack-router/README.md +6 -4
  282. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +26 -29
  283. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  284. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  285. package/api/@xmachines/play-tanstack-solid-router/README.md +29 -55
  286. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +18 -12
  287. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +52 -48
  288. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +9 -8
  289. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -14
  290. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
  291. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +72 -0
  292. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +10 -4
  293. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  294. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +15 -17
  295. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
  296. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  297. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  298. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  299. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  300. package/api/@xmachines/play-url/README.md +75 -0
  301. package/api/@xmachines/play-url/errors/README.md +17 -0
  302. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +200 -0
  303. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +203 -0
  304. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +199 -0
  305. package/api/@xmachines/play-url/index/README.md +72 -0
  306. package/api/@xmachines/play-url/index/functions/buildPath.md +46 -0
  307. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +39 -0
  308. package/api/@xmachines/play-url/index/functions/createPatternCache.md +47 -0
  309. package/api/@xmachines/play-url/index/functions/getCandidates.md +29 -0
  310. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +32 -0
  311. package/api/@xmachines/play-url/index/functions/getIndexKey.md +30 -0
  312. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +36 -0
  313. package/api/@xmachines/play-url/index/functions/isDotSegment.md +40 -0
  314. package/api/@xmachines/{play-router → play-url/index}/functions/joinBasePath.md +3 -2
  315. package/api/@xmachines/{play-router → play-url/index}/functions/normalizeBasePath.md +2 -2
  316. package/api/@xmachines/play-url/index/functions/parsePattern.md +28 -0
  317. package/api/@xmachines/{play-router → play-url/index}/functions/pickOwnParams.md +4 -4
  318. package/api/@xmachines/{play-router → play-url/index}/functions/resolveBasePath.md +2 -2
  319. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +49 -0
  320. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +27 -0
  321. package/api/@xmachines/play-url/index/functions/splitLocation.md +37 -0
  322. package/api/@xmachines/{play-router → play-url/index}/functions/stripBasePath.md +2 -2
  323. package/api/@xmachines/{play-router → play-url/index}/interfaces/BasePathOptions.md +6 -10
  324. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +21 -0
  325. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +52 -0
  326. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +15 -0
  327. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +14 -0
  328. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +21 -0
  329. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +24 -0
  330. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +23 -0
  331. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +65 -0
  332. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +15 -0
  333. package/api/@xmachines/{play-router → play-url/index}/interfaces/ResolvedBasePath.md +6 -6
  334. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +16 -0
  335. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +74 -0
  336. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +15 -0
  337. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +11 -0
  338. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +9 -0
  339. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +22 -0
  340. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +68 -0
  341. package/api/@xmachines/{play-router → play-url/index}/variables/NO_BASE_PATH.md +2 -2
  342. package/api/@xmachines/play-url/index/variables/URLPattern.md +21 -0
  343. package/api/@xmachines/play-view/README.md +176 -0
  344. package/api/@xmachines/play-view/errors/README.md +17 -0
  345. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +192 -0
  346. package/api/@xmachines/play-view/index/README.md +55 -0
  347. package/api/@xmachines/{play-actor → play-view/index}/functions/attachRenderErrorHandler.md +6 -6
  348. package/api/@xmachines/{play-actor → play-view/index}/functions/composePlayState.md +2 -2
  349. package/api/@xmachines/{play-actor → play-view/index}/functions/createFailureLatch.md +2 -2
  350. package/api/@xmachines/{play-actor → play-view/index}/functions/createReportGuard.md +2 -2
  351. package/api/@xmachines/{play-actor → play-view/index}/functions/createViewStoreLifecycle.md +2 -2
  352. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +19 -0
  353. package/api/@xmachines/{play-actor → play-view/index}/functions/refreshContextSubtree.md +2 -2
  354. package/api/@xmachines/{play-actor → play-view/index}/functions/reuseComposedState.md +3 -3
  355. package/api/@xmachines/{play-actor → play-view/index}/functions/sameViewInputs.md +2 -2
  356. package/api/@xmachines/{play-actor → play-view/index}/functions/toAtomState.md +2 -2
  357. package/api/@xmachines/{play-actor → play-view/index}/functions/typedSpec.md +2 -2
  358. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +49 -0
  359. package/api/@xmachines/{play-actor → play-view/index}/interfaces/BaseViewContextValue.md +12 -12
  360. package/api/@xmachines/{play-actor → play-view/index}/interfaces/FailureLatch.md +6 -5
  361. package/api/@xmachines/{play-actor → play-view/index}/interfaces/PlaySpec.md +8 -8
  362. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuard.md +6 -6
  363. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuardMessages.md +6 -6
  364. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ResolveViewStoreOptions.md +5 -5
  365. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewInputs.md +7 -7
  366. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreLifecycle.md +6 -5
  367. package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreResolution.md +7 -7
  368. package/api/@xmachines/play-view/index/interfaces/Viewable.md +18 -0
  369. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +26 -0
  370. package/api/@xmachines/{play-actor → play-view/index}/variables/CONTEXT_STATE_KEY.md +2 -2
  371. package/api/@xmachines/play-vue/README.md +26 -40
  372. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  373. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  374. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  375. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +9 -9
  376. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  377. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +8 -8
  378. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -3
  379. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  380. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  381. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  382. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  383. package/api/@xmachines/play-vue/variables/schema.md +71 -0
  384. package/api/@xmachines/play-vue-router/README.md +42 -84
  385. package/api/@xmachines/play-vue-router/errors/README.md +8 -0
  386. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +193 -0
  387. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +177 -0
  388. package/api/@xmachines/play-vue-router/index/README.md +20 -0
  389. package/api/@xmachines/play-vue-router/{classes → index/classes}/RouteMap.md +19 -13
  390. package/api/@xmachines/play-vue-router/{classes → index/classes}/VueRouterBridge.md +26 -45
  391. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +130 -0
  392. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +72 -0
  393. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +19 -0
  394. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
  395. package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
  396. package/api/@xmachines/play-vue-router/{variables → index/variables}/PlayRouterProvider.md +26 -4
  397. package/api/@xmachines/play-xstate/README.md +195 -116
  398. package/api/@xmachines/play-xstate/errors/README.md +14 -0
  399. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +199 -0
  400. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +198 -0
  401. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +169 -0
  402. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +197 -0
  403. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +176 -0
  404. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +207 -0
  405. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +199 -0
  406. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +203 -0
  407. package/api/@xmachines/play-xstate/index/README.md +38 -0
  408. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +583 -0
  409. package/api/@xmachines/play-xstate/index/functions/compose.md +224 -0
  410. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +158 -0
  411. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +22 -0
  412. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerFactoryResumeOptions.md +3 -3
  413. package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerOptions.md +10 -10
  414. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +33 -0
  415. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +39 -0
  416. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +27 -0
  417. package/api/@xmachines/{play-router → play-xstate/index}/variables/DISPOSE.md +3 -3
  418. package/api/@xmachines/play-xstate/with-routing/README.md +46 -0
  419. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +57 -0
  420. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/deriveRoute.md +4 -4
  421. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/formatPlayRouteTransitions.md +2 -2
  422. package/api/@xmachines/play-xstate/{functions → with-routing/functions}/isAbsoluteRoute.md +3 -3
  423. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +36 -0
  424. package/api/@xmachines/play-xstate/{interfaces → with-routing/interfaces}/RouteContext.md +6 -6
  425. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +34 -0
  426. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +12 -0
  427. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +31 -0
  428. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteMachineConfig.md +5 -5
  429. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +11 -0
  430. package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteStateNode.md +21 -7
  431. package/api/@xmachines/play-xstate/with-view/README.md +31 -0
  432. package/api/@xmachines/play-xstate/with-view/functions/withView.md +33 -0
  433. package/api/@xmachines/shared/README.md +10 -32
  434. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  435. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  436. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  437. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  438. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  439. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  440. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +2 -1
  441. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  442. package/api/README.md +4 -1
  443. package/api/llms.txt +18 -12
  444. package/contributing/architecture.md +157 -148
  445. package/contributing/configuration.md +100 -41
  446. package/contributing/deployment.md +112 -34
  447. package/contributing/development.md +103 -34
  448. package/contributing/migrating-to-play-atom.md +209 -0
  449. package/contributing/testing.md +136 -80
  450. package/examples/README.md +11 -9
  451. package/examples/basic-state-machine.md +4 -4
  452. package/examples/form-validation.md +4 -3
  453. package/examples/multi-router-integration.md +81 -59
  454. package/examples/routing-patterns.md +20 -19
  455. package/examples/traffic-light.md +17 -11
  456. package/guides/README.md +2 -1
  457. package/guides/actor-model.md +50 -32
  458. package/guides/atoms.md +264 -0
  459. package/guides/getting-started.md +91 -53
  460. package/guides/inspector.md +7 -7
  461. package/guides/routing.md +265 -0
  462. package/guides/state-machines.md +20 -21
  463. package/package.json +10 -9
  464. package/rfc/play.md +104 -60
  465. package/api/@xmachines/play-actor/classes/AbstractActor.md +0 -505
  466. package/api/@xmachines/play-actor/functions/guardContextWrites.md +0 -43
  467. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +0 -48
  468. package/api/@xmachines/play-actor/interfaces/Routable.md +0 -14
  469. package/api/@xmachines/play-actor/interfaces/Viewable.md +0 -18
  470. package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +0 -36
  471. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +0 -40
  472. package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +0 -262
  473. package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +0 -80
  474. package/api/@xmachines/play-react/functions/useSignalEffect.md +0 -77
  475. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +0 -13
  476. package/api/@xmachines/play-react-router/functions/createRouteMap.md +0 -40
  477. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +0 -70
  478. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +0 -29
  479. package/api/@xmachines/play-router/functions/findRouteByPath.md +0 -41
  480. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +0 -35
  481. package/api/@xmachines/play-router/functions/getPatternParamNames.md +0 -24
  482. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +0 -36
  483. package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +0 -51
  484. package/api/@xmachines/play-router/functions/routeExists.md +0 -26
  485. package/api/@xmachines/play-router/functions/sanitizePathname.md +0 -42
  486. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +0 -13
  487. package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +0 -47
  488. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +0 -15
  489. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +0 -17
  490. package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +0 -28
  491. package/api/@xmachines/play-router/interfaces/PlayActor.md +0 -70
  492. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +0 -135
  493. package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +0 -33
  494. package/api/@xmachines/play-router/interfaces/RoutableActor.md +0 -65
  495. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +0 -13
  496. package/api/@xmachines/play-router/interfaces/RouteMatch.md +0 -12
  497. package/api/@xmachines/play-router/interfaces/RouteObject.md +0 -21
  498. package/api/@xmachines/play-router/interfaces/RouteTree.md +0 -21
  499. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +0 -55
  500. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +0 -13
  501. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +0 -36
  502. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +0 -11
  503. package/api/@xmachines/play-signals/README.md +0 -231
  504. package/api/@xmachines/play-signals/functions/watchSignal.md +0 -65
  505. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +0 -36
  506. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +0 -49
  507. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +0 -37
  508. package/api/@xmachines/play-signals/interfaces/SignalState.md +0 -68
  509. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +0 -97
  510. package/api/@xmachines/play-signals/namespaces/Signal/README.md +0 -22
  511. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -52
  512. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -72
  513. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -19
  514. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +0 -21
  515. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -85
  516. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -13
  517. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -19
  518. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -19
  519. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -19
  520. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -19
  521. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -25
  522. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -9
  523. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -9
  524. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -19
  525. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -19
  526. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -19
  527. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +0 -33
  528. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +0 -40
  529. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +0 -471
  530. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +0 -13
  531. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +0 -40
  532. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +0 -9
  533. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +0 -40
  534. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +0 -9
  535. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +0 -40
  536. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +0 -29
  537. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +0 -70
  538. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +0 -31
  539. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +0 -40
  540. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +0 -70
  541. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +0 -13
  542. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +0 -9
  543. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +0 -39
  544. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +0 -40
  545. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +0 -70
  546. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +0 -135
  547. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +0 -13
  548. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +0 -13
  549. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +0 -13
  550. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +0 -13
  551. package/api/@xmachines/play-xstate/classes/PlayerActor.md +0 -568
  552. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +0 -50
  553. package/api/@xmachines/play-xstate/functions/composeGuards.md +0 -86
  554. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +0 -72
  555. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +0 -43
  556. package/api/@xmachines/play-xstate/functions/definePlayer.md +0 -78
  557. package/api/@xmachines/play-xstate/functions/eventMatches.md +0 -45
  558. package/api/@xmachines/play-xstate/functions/hasContext.md +0 -45
  559. package/api/@xmachines/play-xstate/functions/negateGuard.md +0 -67
  560. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +0 -20
  561. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +0 -17
  562. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +0 -19
  563. package/api/@xmachines/play-xstate/type-aliases/Guard.md +0 -36
  564. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +0 -23
  565. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +0 -26
  566. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +0 -9
  567. package/guides/signals.md +0 -209
@@ -1,46 +1,59 @@
1
1
  [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / VanillaRouter
2
2
 
3
- # Interface: VanillaRouter\<History\>
3
+ # Interface: VanillaRouter
4
4
 
5
- Defined in: [play-dom-router/src/create-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L17)
5
+ Defined in: [play-dom-router/src/create-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L24)
6
6
 
7
- The router that [createRouter](../functions/createRouter.md) builds.
7
+ The router that [createRouter](../functions/createRouter.md) builds and returns.
8
8
 
9
- The type parameter carries the history of the CALLER. `createBrowserHistory` gives a
10
- `DisposableBrowserHistory` back, and a bare `VanillaRouter` would widen it to
11
- `BrowserHistory` — so `using stop = router.history.subscribe(fn)` would refuse to
12
- compile through the very path the README documents. A test double that hands a plain
13
- function back stays a plain `BrowserHistory`, because the parameter says what it says.
9
+ The router wraps a [BrowserHistory](BrowserHistory.md) and a `RouteTree`, and it does nothing more.
10
+ It OWNS the history, and the history patches `window.history.pushState`, so a scope
11
+ that drops the router without releasing it leaves the global patched. The dispose key
12
+ lets a scope do that work:
14
13
 
15
- The default keeps `VanillaRouter` usable with no argument, which is what
16
- `connect-router.ts` writes.
17
-
18
- ## Extended by
19
-
20
- - [`DisposableVanillaRouter`](DisposableVanillaRouter.md)
14
+ ```ts
15
+ using router = createRouter({ routeTree, history });
16
+ ```
21
17
 
22
- ## Type Parameters
18
+ The release covers the HISTORY alone, exactly as `destroy()` always did.
19
+ `connectRouter` hands back its own `RouterConnection`, and a scope that ends releases
20
+ no connection for the caller: release the connection first, then the router.
23
21
 
24
- | Type Parameter | Default type |
25
- | --------------------------------------------------------- | ------------------------------------- |
26
- | `History` _extends_ [`BrowserHistory`](BrowserHistory.md) | [`BrowserHistory`](BrowserHistory.md) |
22
+ A caller that keeps `destroy()` keeps it: the two release the same work, and the
23
+ release is idempotent because [BrowserHistory.destroy](BrowserHistory.md#destroy) is.
27
24
 
28
25
  ## Properties
29
26
 
30
- | Property | Modifier | Type | Description | Defined in |
31
- | ------------------------------------------- | ---------- | -------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
32
- | <a id="property-history"></a> `history` | `readonly` | `History` | The history instance | [play-dom-router/src/create-router.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L21) |
33
- | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L26) |
27
+ | Property | Modifier | Type | Description | Defined in |
28
+ | ------------------------------------------- | ---------- | -------------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
29
+ | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | The history instance | [play-dom-router/src/create-router.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L28) |
30
+ | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/index/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L33) |
34
31
 
35
32
  ## Methods
36
33
 
34
+ ### \[dispose\]()
35
+
36
+ ```ts
37
+ dispose: void;
38
+ ```
39
+
40
+ Defined in: [play-dom-router/src/create-router.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L41)
41
+
42
+ Releases the history with [VanillaRouter.destroy](#destroy). It is idempotent.
43
+
44
+ #### Returns
45
+
46
+ `void`
47
+
48
+ ---
49
+
37
50
  ### destroy()
38
51
 
39
52
  ```ts
40
53
  destroy(): void;
41
54
  ```
42
55
 
43
- Defined in: [play-dom-router/src/create-router.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L31)
56
+ Defined in: [play-dom-router/src/create-router.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L38)
44
57
 
45
58
  Cleans up
46
59
 
@@ -6,7 +6,7 @@
6
6
  type Cleanup = () => void & { [Key in DisposeKey]: () => void };
7
7
  ```
8
8
 
9
- Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L66)
9
+ Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play/src/disposable.ts#L66)
10
10
 
11
11
  The release of a subscription. A caller runs it, or a scope releases it.
12
12
 
@@ -16,12 +16,12 @@ caller inside one scope writes `using` and writes no teardown at all:
16
16
 
17
17
  ```ts
18
18
  // The explicit form. It stays correct.
19
- const stop = watchSignal(count, render);
19
+ const stop = watchAtom(count, render);
20
20
  stop();
21
21
 
22
22
  // The scoped form. The scope releases it, and an exception releases it too.
23
23
  {
24
- using stop = watchSignal(count, render);
24
+ using stop = watchAtom(count, render);
25
25
  render(count.get());
26
26
  }
27
27
  ```
@@ -31,7 +31,7 @@ stop();
31
31
  `target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
32
32
  how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
33
33
  still calls it as a function, and a consumer that declares a lower `lib` still reads
34
- the type. See [DisposeKey](../../play/type-aliases/DisposeKey.md) for the second half of that.
34
+ the type. See [DisposeKey](../../play/index/type-aliases/DisposeKey.md) for the second half of that.
35
35
 
36
36
  ## See
37
37
 
@@ -6,7 +6,7 @@
6
6
  const DISPOSE: DisposeKey;
7
7
  ```
8
8
 
9
- Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L94)
9
+ Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play/src/disposable.ts#L94)
10
10
 
11
11
  The key that a release is stored under.
12
12
 
@@ -25,7 +25,7 @@ The type assertion states what the fallback IS. `Symbol.for` returns a plain `sy
25
25
  TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
26
26
  a `unique symbol` other than the declaration itself.
27
27
 
28
- This binding resolves ONE time, when the module evaluates. [asCleanup](../../play/functions/asCleanup.md) therefore
28
+ This binding resolves ONE time, when the module evaluates. [asCleanup](../functions/asCleanup.md) therefore
29
29
  reads `Symbol.dispose` again at each call and stores the release under both keys, so a
30
30
  polyfill that installs the well-known symbol after this module evaluates still finds
31
31
  the release. A class or an object literal that writes `[DISPOSE]()` has no such second
@@ -0,0 +1,115 @@
1
+ [API](../../README.md) / @xmachines/play-pattern
2
+
3
+ # @xmachines/play-pattern
4
+
5
+ The route pattern language of the XMachines Play Architecture.
6
+
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-5.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-pattern)
8
+
9
+ One parse of the URLPattern pathname grammar, and the path that it builds back.
10
+
11
+ ## What this package is
12
+
13
+ `URLPattern` is the pattern language of XMachines. This package reads a route pattern ONE time and answers every question that a router asks about it, and it writes a path back from the same parse.
14
+
15
+ - **`parsePattern(pattern)`** — the parts, the params, which of them a path must fill, whether the pattern needs a match, the bucket key, the bare form, and the literal path.
16
+ - **`buildPath(pattern, params)`** — the path that the pattern describes, with each param filled. It reports a fault through its return value, and it throws never: `reason: "missing"` for a param that needs a value and has none, and `reason: "unresolvable"` for a param that carries a value no path can hold, such as a dot segment.
17
+ - **`getIndexKey(path)`** — the bucket key of a concrete path.
18
+ - **`isDotSegment(segment)`** — whether a URL resolves the segment away. `buildPath` reads it, and [`@xmachines/play-url`](../play-url/README.md) reads it for a base path, so ONE definition answers for both.
19
+
20
+ Both directions read the same parts, so a route that the match reads derives a URL that the match reads back.
21
+
22
+ ## What this package is NOT
23
+
24
+ It holds no `URLPattern` API. A parse is string work and it needs no constructor, so this package carries no polyfill. [`@xmachines/play-url`](../play-url/README.md) holds the API, the base path and the params of a framework router, and it reads this package for the language.
25
+
26
+ That line is why the package exists. [`@xmachines/play-xstate`](../play-xstate/README.md) BUILDS a URL and matches none, so it reads the grammar and installs no matching machinery for it.
27
+
28
+ ## Install
29
+
30
+ ```bash
31
+ pnpm add @xmachines/play-pattern
32
+ ```
33
+
34
+ Most applications install it through [`@xmachines/play-url`](../play-url/README.md), which re-exports the language whole. [`@xmachines/play-router`](../play-router/README.md) re-exports the part that a router needs: `parsePattern` and `createPatternCache`.
35
+
36
+ ## Usage
37
+
38
+ ```typescript
39
+ import { buildPath, parsePattern } from "@xmachines/play-pattern";
40
+
41
+ parsePattern("/settings/:section?").requiredNames; // []
42
+ parsePattern("/docs/:cat-id").names; // ["cat-id"]
43
+
44
+ buildPath("/profile/:userId", { userId: "alice" }); // { ok: true, path: "/profile/alice" }
45
+ buildPath("/settings/:section?", {}); // { ok: true, path: "/settings" }
46
+ buildPath("/profile/:userId", {}); // { ok: false, reason: "missing", missing: "userId" }
47
+ buildPath("/files/:name", { name: ".." }); // { ok: false, reason: "unresolvable", param: "name", value: ".." }
48
+ buildPath("/files/v:version", { version: ".." }); // { ok: true, path: "/files/v.." } — the value shares the segment
49
+ ```
50
+
51
+ ## The grammar
52
+
53
+ | form | meaning |
54
+ | ------------ | --------------------------------------------------------- |
55
+ | `/users` | a literal |
56
+ | `:name` | a named param, one path segment |
57
+ | `:name(\d+)` | a named param with a regular expression constraint |
58
+ | `(\d+)` | an anonymous param, numbered from `0` |
59
+ | `*` | an anonymous param that matches every remaining character |
60
+ | `{…}` | a group, which carries its own literals and params |
61
+ | `?` `+` `*` | the modifier of the part before it |
62
+ | `\:` | an escape, which makes the next character a literal |
63
+
64
+ A param name of this library holds a hyphen, which URLPattern does not: `/docs/:cat-id` is ONE param named `cat-id`, and `ParsedPattern.normalized` carries the form that URLPattern compiles. The [routing guide](../../../guides/routing.md) states the divergence and which forms each direction reads.
65
+
66
+ ## License
67
+
68
+ MIT
69
+
70
+ The route pattern language of XMachines.
71
+
72
+ `URLPattern` is that language, and this package reads it ONE time for each pattern.
73
+ `parsePattern` answers every question that a router asks about a route — which params
74
+ the pattern declares, which of them a path must fill, whether the pattern needs a match
75
+ at all, which bucket it belongs to, and which path it matches when every optional part
76
+ is absent. `buildPath` walks the SAME parts back into a path, so a route that the match
77
+ reads derives a URL that the match reads back.
78
+
79
+ ## What this package does NOT hold
80
+
81
+ The URLPattern API. A parse is string work, and it needs no constructor: this package
82
+ therefore carries no polyfill. `@xmachines/play-url` holds the API, the base path and
83
+ the params of a framework router, and it reads this package for the language.
84
+
85
+ That line is the reason the package exists. `@xmachines/play-xstate` BUILDS a URL and
86
+ it matches none, so it reads the grammar and it installs no matching machinery for it.
87
+
88
+ ## See
89
+
90
+ [Routing guide](../../../guides/routing.md)
91
+
92
+ ## Interfaces
93
+
94
+ - [GroupPart](interfaces/GroupPart.md)
95
+ - [LiteralPart](interfaces/LiteralPart.md)
96
+ - [ParamPart](interfaces/ParamPart.md)
97
+ - [ParsedPattern](interfaces/ParsedPattern.md)
98
+ - [ParseOptions](interfaces/ParseOptions.md)
99
+ - [PatternCache](interfaces/PatternCache.md)
100
+ - [PatternParam](interfaces/PatternParam.md)
101
+
102
+ ## Type Aliases
103
+
104
+ - [PathBuildResult](type-aliases/PathBuildResult.md)
105
+ - [PathParams](type-aliases/PathParams.md)
106
+ - [PatternModifier](type-aliases/PatternModifier.md)
107
+ - [PatternPart](type-aliases/PatternPart.md)
108
+
109
+ ## Functions
110
+
111
+ - [buildPath](functions/buildPath.md)
112
+ - [createPatternCache](functions/createPatternCache.md)
113
+ - [getIndexKey](functions/getIndexKey.md)
114
+ - [isDotSegment](functions/isDotSegment.md)
115
+ - [parsePattern](functions/parsePattern.md)
@@ -0,0 +1,46 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / buildPath
2
+
3
+ # Function: buildPath()
4
+
5
+ ```ts
6
+ function buildPath(pattern, params?, options?): PathBuildResult;
7
+ ```
8
+
9
+ Defined in: [pattern-grammar.ts:713](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L713)
10
+
11
+ Builds the path that a pattern describes, with each param filled from `params`.
12
+
13
+ This is the OUTBOUND half of the language, and it reads the same parse as the match.
14
+ The walk drops an optional part that has no value TOGETHER with the `/` that the part
15
+ absorbed, which is the prefix rule of the module comment: `/settings/:section?` builds
16
+ `/settings`, and not `/settings/`.
17
+
18
+ The function reports a fault through its return value, and it throws never. The
19
+ `reason` field names the fault: `missing` for a param that needs a value and has none,
20
+ and `unresolvable` for a param that carries a value no path can hold. A caller raises
21
+ the error of its own layer — `@xmachines/play-xstate` raises `MissingRouteParamError`
22
+ for the first one and `InvalidRouteParamError` for the second.
23
+
24
+ ## Parameters
25
+
26
+ | Parameter | Type | Description |
27
+ | ---------- | ----------------------------------------------- | --------------------------------------------------------------------- |
28
+ | `pattern` | `string` | The route pattern, for example `/profile/:userId`. |
29
+ | `params` | [`PathParams`](../type-aliases/PathParams.md) | The value of each param, keyed by the name that the pattern declares. |
30
+ | `options?` | [`ParseOptions`](../interfaces/ParseOptions.md) | - |
31
+
32
+ ## Returns
33
+
34
+ [`PathBuildResult`](../type-aliases/PathBuildResult.md)
35
+
36
+ The path, or the reason that stopped the walk with the param that carries it.
37
+
38
+ ## Example
39
+
40
+ ```typescript
41
+ buildPath("/profile/:userId", { userId: "alice" }); // { ok: true, path: "/profile/alice" }
42
+ buildPath("/settings/:section?", {}); // { ok: true, path: "/settings" }
43
+ buildPath("/tags/c\\+\\+", {}); // { ok: true, path: "/tags/c++" }
44
+ buildPath("/profile/:userId", {}); // { ok: false, reason: "missing", missing: "userId" }
45
+ buildPath("/files/:name", { name: ".." }); // { ok: false, reason: "unresolvable", … }
46
+ ```
@@ -0,0 +1,47 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / createPatternCache
2
+
3
+ # Function: createPatternCache()
4
+
5
+ ```ts
6
+ function createPatternCache<V>(maxSize?): PatternCache<V>;
7
+ ```
8
+
9
+ Defined in: [cache.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/cache.ts#L85)
10
+
11
+ Builds a cache that forgets its least recently used entries.
12
+
13
+ ## The algorithm
14
+
15
+ Two maps, and no list. `recent` takes every write. When a write fills `recent`, it
16
+ becomes `old` and a new `recent` opens, which drops the previous `old` whole. A read of
17
+ a key of `old` moves the entry into `recent`, and THAT is what makes the eviction an
18
+ LRU one rather than a FIFO one: an entry that every lookup reads moves forward, and an
19
+ entry that nothing reads falls out with the map that holds it.
20
+
21
+ The cache therefore holds between `maxSize` and `2 * maxSize` entries, and it does no
22
+ bookkeeping for a read that hits `recent`.
23
+
24
+ ## Type Parameters
25
+
26
+ | Type Parameter |
27
+ | -------------- |
28
+ | `V` |
29
+
30
+ ## Parameters
31
+
32
+ | Parameter | Type | Default value | Description |
33
+ | --------- | -------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34
+ | `maxSize` | `number` | `500` | The number of entries that `recent` holds. It is `1` at the least, and the default is `500`. A value that is not a finite number reads as the default, so a cache with no eviction at all cannot happen by accident. |
35
+
36
+ ## Returns
37
+
38
+ [`PatternCache`](../interfaces/PatternCache.md)\<`V`\>
39
+
40
+ A cache. It is not shared: each call builds one.
41
+
42
+ ## Example
43
+
44
+ ```typescript
45
+ const cache = createPatternCache<ParsedPattern>(50);
46
+ parsePattern("/profile/:userId", { patternCache: cache });
47
+ ```
@@ -0,0 +1,30 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / getIndexKey
2
+
3
+ # Function: getIndexKey()
4
+
5
+ ```ts
6
+ function getIndexKey(path): string;
7
+ ```
8
+
9
+ Defined in: [pattern-grammar.ts:201](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L201)
10
+
11
+ Computes the key of the bucket index of a concrete PATH.
12
+
13
+ The key is the first path segment, for example `"settings"` of `"/settings/billing"`.
14
+ The root path `"/"` gives the key `"/"`, and a path whose first segment is EMPTY —
15
+ `"//docs"` — gives the key `""`. The two are different keys, so a pattern that matches
16
+ both asks [ParsedPattern.indexKey](../interfaces/ParsedPattern.md#property-indexkey) for the wildcard key instead.
17
+
18
+ [ParsedPattern.indexKey](../interfaces/ParsedPattern.md#property-indexkey) computes the key of a PATTERN, and it calls this
19
+ function for every pattern whose first segment is a literal. One function therefore
20
+ answers both sides, and a pattern in the wrong bucket cannot happen.
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | --------- | -------- | ------------------------- |
26
+ | `path` | `string` | The string of a URL path. |
27
+
28
+ ## Returns
29
+
30
+ `string`
@@ -0,0 +1,40 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / isDotSegment
2
+
3
+ # Function: isDotSegment()
4
+
5
+ ```ts
6
+ function isDotSegment(segment): boolean;
7
+ ```
8
+
9
+ Defined in: [pattern-grammar.ts:872](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L872)
10
+
11
+ Answers whether one segment resolves away in a URL, rather than naming itself.
12
+
13
+ A URL parser reads the dot segments BEFORE it decodes the percent escapes, and it counts
14
+ `%2e` as the dot. The WHATWG URL standard names six forms, and a browser resolves every
15
+ one of them out of a location: `.` and `%2e` for the single dot, and `..`, `.%2e`, `%2e.`
16
+ and `%2e%2e` for the double dot. Each percent test is case-insensitive.
17
+
18
+ NO encoding of `.` or `..` therefore survives. A param that carries one describes a path
19
+ that its own pattern matches back never, so [buildPath](buildPath.md) refuses it, and
20
+ `normalizeBasePath` of `@xmachines/play-url` refuses the same value in a base path.
21
+
22
+ Give the segment in the form that the URL carries, and encode nothing here. The two
23
+ callers reach that form by two roads, and both are correct. [buildPath](buildPath.md) encodes a
24
+ param value first, so a value that HOLDS a percent sign arrives with that sign escaped:
25
+ the string `"%2e"` encodes to `"%252e"`, which names itself and stays. `normalizeBasePath`
26
+ of `@xmachines/play-url` reads a path that an author wrote, which is encoded already, so
27
+ it passes the segment RAW and `"%2e"` there is the dot. A caller that encodes an
28
+ already-encoded segment a second time hides every `%2e` from this test.
29
+
30
+ ## Parameters
31
+
32
+ | Parameter | Type | Description |
33
+ | --------- | -------- | ----------------------------------------------------------------------------------- |
34
+ | `segment` | `string` | ONE path segment, with no separator around it, in the form that the URL carries it. |
35
+
36
+ ## Returns
37
+
38
+ `boolean`
39
+
40
+ `true` when a URL resolves the segment away.
@@ -0,0 +1,28 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / parsePattern
2
+
3
+ # Function: parsePattern()
4
+
5
+ ```ts
6
+ function parsePattern(pattern, options?): ParsedPattern;
7
+ ```
8
+
9
+ Defined in: [pattern-grammar.ts:264](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L264)
10
+
11
+ Reads a route pattern, one time for each distinct pattern.
12
+
13
+ The parser reports a fault never. A pattern that it cannot read reports
14
+ `parameterized: true` and `bareForm: null`, which sends it to the URLPattern
15
+ constructor and keeps every derived answer on the safe side.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Description |
20
+ | ---------- | ----------------------------------------------- | -------------------------------------------------- |
21
+ | `pattern` | `string` | The route pattern, for example `/profile/:userId`. |
22
+ | `options?` | [`ParseOptions`](../interfaces/ParseOptions.md) | - |
23
+
24
+ ## Returns
25
+
26
+ [`ParsedPattern`](../interfaces/ParsedPattern.md)
27
+
28
+ The parse. The caller treats it as read-only: the cache holds this object.
@@ -0,0 +1,15 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / GroupPart
2
+
3
+ # Interface: GroupPart
4
+
5
+ Defined in: [pattern-grammar.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L92)
6
+
7
+ A `{…}` group, which carries its own parts and its own modifier.
8
+
9
+ ## Properties
10
+
11
+ | Property | Modifier | Type | Defined in |
12
+ | ----------------------------------------- | ---------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
13
+ | <a id="property-kind"></a> `kind` | `readonly` | `"group"` | [pattern-grammar.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L93) |
14
+ | <a id="property-modifier"></a> `modifier` | `readonly` | [`PatternModifier`](../type-aliases/PatternModifier.md) | [pattern-grammar.ts:95](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L95) |
15
+ | <a id="property-parts"></a> `parts` | `readonly` | readonly [`PatternPart`](../type-aliases/PatternPart.md)[] | [pattern-grammar.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L94) |
@@ -0,0 +1,14 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / LiteralPart
2
+
3
+ # Interface: LiteralPart
4
+
5
+ Defined in: [pattern-grammar.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L59)
6
+
7
+ A run of literal characters, with every escape already resolved.
8
+
9
+ ## Properties
10
+
11
+ | Property | Modifier | Type | Description | Defined in |
12
+ | --------------------------------- | ---------- | ----------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
13
+ | <a id="property-kind"></a> `kind` | `readonly` | `"literal"` | - | [pattern-grammar.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L60) |
14
+ | <a id="property-text"></a> `text` | `readonly` | `string` | The characters that a path must carry, for example `/settings`. | [pattern-grammar.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L62) |
@@ -0,0 +1,21 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / ParamPart
2
+
3
+ # Interface: ParamPart
4
+
5
+ Defined in: [pattern-grammar.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L71)
6
+
7
+ A param: `:name`, `(\d+)`, or `*`.
8
+
9
+ An anonymous param carries no `name`. URLPattern numbers such a group from `0`, and
10
+ this library reports it to no machine — see [ParsedPattern.params](ParsedPattern.md#property-params).
11
+
12
+ ## Properties
13
+
14
+ | Property | Modifier | Type | Description | Defined in |
15
+ | ------------------------------------------- | ---------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
16
+ | <a id="property-groupname"></a> `groupName` | `readonly` | `string` \| `null` | The name that URLPattern compiles, with each hyphen rewritten to an underscore, or `null` for an anonymous param. The rewrite happens ONE time, here, and [ParsedPattern.normalized](ParsedPattern.md#property-normalized) carries the same characters. A caller that needs the group name of a param reads this field, and it rewrites nothing of its own. | [pattern-grammar.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L83) |
17
+ | <a id="property-kind"></a> `kind` | `readonly` | `"param"` | - | [pattern-grammar.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L72) |
18
+ | <a id="property-modifier"></a> `modifier` | `readonly` | [`PatternModifier`](../type-aliases/PatternModifier.md) | - | [pattern-grammar.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L88) |
19
+ | <a id="property-name"></a> `name` | `readonly` | `string` \| `null` | The declared name, with each hyphen kept, or `null` for an anonymous param. | [pattern-grammar.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L74) |
20
+ | <a id="property-prefix"></a> `prefix` | `readonly` | `string` | The `/` that the param absorbed from the literal before it, or `""`. | [pattern-grammar.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L87) |
21
+ | <a id="property-regexp"></a> `regexp` | `readonly` | `string` \| `null` | The source of the constraint of `:id(\d+)`, or `null` when the param declares none. | [pattern-grammar.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L85) |
@@ -0,0 +1,19 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / ParseOptions
2
+
3
+ # Interface: ParseOptions
4
+
5
+ Defined in: [cache.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/cache.ts#L34)
6
+
7
+ The options that every read of the pattern language takes.
8
+
9
+ It is ONE field today, and it is an object rather than a positional argument so that a
10
+ caller holds one object and hands it to every call — `parsePattern`, `buildPath`,
11
+ `getCompiledPattern`, `findRouteByPath`, a route map and a bridge all take it, and
12
+ `CompileOptions` and `RouteMapOptions` extend it with the caches of their own layer. A
13
+ positional argument gave each layer a different position to remember.
14
+
15
+ ## Properties
16
+
17
+ | Property | Modifier | Type | Description | Defined in |
18
+ | -------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
19
+ | <a id="property-patterncache"></a> `patternCache?` | `readonly` | [`PatternCache`](PatternCache.md)\<[`ParsedPattern`](ParsedPattern.md)\> | The cache of the PARSE of a pattern. The default is the cache that this package shares with every caller of the process. | [cache.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/cache.ts#L40) |
@@ -0,0 +1,23 @@
1
+ [API](../../../README.md) / [@xmachines/play-pattern](../README.md) / ParsedPattern
2
+
3
+ # Interface: ParsedPattern
4
+
5
+ Defined in: [pattern-grammar.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L117)
6
+
7
+ Everything that this library reads from one route pattern.
8
+
9
+ ## Properties
10
+
11
+ | Property | Modifier | Type | Description | Defined in |
12
+ | --------------------------------------------------- | ---------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
13
+ | <a id="property-bareform"></a> `bareForm` | `readonly` | `string` \| `null` | The path that the pattern matches when every optional part is absent, or `null` when the pattern holds a part that a path must fill. `/settings/:section?` gives `/settings`, `/a/{b}?/c` gives `/a//c`, and `/profile/:userId` gives `null`. | [pattern-grammar.ts:154](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L154) |
14
+ | <a id="property-declarednames"></a> `declaredNames` | `readonly` | `ReadonlyMap`\<`string`, `string`\> | The map from each rewritten group name back to the name that the pattern declares, for example `cat_id` to `cat-id`. The map holds an entry only for a name that the rewrite changed. It is empty for most patterns, and a caller that reads a group name falls back to the name itself. | [pattern-grammar.ts:184](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L184) |
15
+ | <a id="property-indexkey"></a> `indexKey` | `readonly` | `string` | The key of the bucket index: the first path segment, or `"*"` when a param can stand in the first segment. | [pattern-grammar.ts:171](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L171) |
16
+ | <a id="property-literalpath"></a> `literalPath` | `readonly` | `string` \| `null` | The ONE path that the pattern matches, with each escape resolved, or `null` when the pattern describes a SET of paths. `/users` gives `/users`, `/tags/c\+\+` gives `/tags/c++`, `/x{y}z` gives `/xyz`, and `/profile/:userId` gives `null`. A bridge writes a real browser URL from this field. The SOURCE of the pattern is no substitute for it: `/tags/c\+\+` carries two backslashes that the address bar must not hold, and a location that carries them matches the route never. | [pattern-grammar.ts:166](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L166) |
17
+ | <a id="property-names"></a> `names` | `readonly` | readonly `string`[] | The name of every param of [params](#property-params), in the same order. `resolveFrameworkParams` runs on EVERY navigation and it needs this list each time. The parse holds it, so a navigation allocates none. A caller that hands the array to somebody else copies it: the cache holds this one. | [pattern-grammar.ts:131](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L131) |
18
+ | <a id="property-normalized"></a> `normalized` | `readonly` | `string` | The pattern in the form that URLPattern compiles: each param name that holds a hyphen carries an underscore instead. | [pattern-grammar.ts:176](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L176) |
19
+ | <a id="property-parameterized"></a> `parameterized` | `readonly` | `boolean` | True when the pattern needs a URLPattern match, and false when it is a literal path. A malformed pattern reports `true`, so that it reaches the URLPattern constructor and fails there with the error of the API. A parser that called it static would send it to the exact-match map instead, where it matches nothing and reports no fault. | [pattern-grammar.ts:146](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L146) |
20
+ | <a id="property-params"></a> `params` | `readonly` | readonly [`PatternParam`](PatternParam.md)[] | The NAMED params, in the order that the pattern declares them. | [pattern-grammar.ts:123](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L123) |
21
+ | <a id="property-parts"></a> `parts` | `readonly` | readonly [`PatternPart`](../type-aliases/PatternPart.md)[] | The parts, in the order that the pattern declares them. | [pattern-grammar.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L121) |
22
+ | <a id="property-requirednames"></a> `requiredNames` | `readonly` | readonly `string`[] | The name of every param that a path must fill, in the order of [params](#property-params). The same rule as [names](#property-names): the parse holds the array, and a navigation reads it. | [pattern-grammar.ts:137](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L137) |
23
+ | <a id="property-source"></a> `source` | `readonly` | `string` | The pattern as the caller wrote it. | [pattern-grammar.ts:119](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/pattern-grammar.ts#L119) |