@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.
- package/README.md +14 -20
- package/api/@xmachines/play/README.md +29 -118
- package/api/@xmachines/play/errors/README.md +8 -0
- package/api/@xmachines/play/{classes → errors/classes}/NonNullableError.md +6 -6
- package/api/@xmachines/play/{classes → errors/classes}/PlayError.md +36 -10
- package/api/@xmachines/play/index/README.md +75 -0
- package/api/@xmachines/play/index/functions/asCleanup.md +77 -0
- package/api/@xmachines/play/{functions → index/functions}/assertNonNullable.md +2 -2
- package/api/@xmachines/{play-actor → play/index}/functions/shallowEqualExcept.md +3 -3
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/Cleanup.md +5 -5
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/DisposeKey.md +2 -2
- package/api/@xmachines/play/{type-aliases → index/type-aliases}/PlayEvent.md +4 -4
- package/api/@xmachines/play/{variables → index/variables}/DISPOSE.md +2 -2
- package/api/@xmachines/play-actor/README.md +80 -231
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +18 -0
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +73 -0
- package/api/@xmachines/play-atom/README.md +281 -0
- package/api/@xmachines/play-atom/functions/watchAtom.md +79 -0
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +16 -0
- package/api/@xmachines/play-atom/interfaces/Atom.md +149 -0
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +25 -0
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +33 -0
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +23 -0
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +97 -0
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +91 -0
- package/api/@xmachines/play-atom/interfaces/Readable.md +93 -0
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +108 -0
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +13 -0
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +32 -0
- package/api/@xmachines/{play-signals → play-atom}/type-aliases/Cleanup.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +42 -0
- package/api/@xmachines/play-atom/variables/createAtom.md +18 -0
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +70 -0
- package/api/@xmachines/play-dom/README.md +44 -52
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +17 -16
- package/api/@xmachines/play-dom/functions/asCleanup.md +77 -0
- package/api/@xmachines/play-dom/functions/createPlayUI.md +4 -4
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
- package/api/@xmachines/play-dom/type-aliases/Cleanup.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +29 -12
- package/api/@xmachines/play-dom-router/README.md +83 -83
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +24 -23
- package/api/@xmachines/play-dom-router/{interfaces → classes}/RouteMap.md +42 -7
- package/api/@xmachines/{play → play-dom-router}/functions/asCleanup.md +5 -6
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +3 -8
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +9 -3
- package/api/@xmachines/play-dom-router/functions/createRouter.md +8 -14
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +70 -26
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +24 -21
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +36 -23
- package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +4 -4
- package/api/@xmachines/play-dom-router/variables/DISPOSE.md +2 -2
- package/api/@xmachines/play-pattern/README.md +115 -0
- package/api/@xmachines/play-pattern/functions/buildPath.md +46 -0
- package/api/@xmachines/play-pattern/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +30 -0
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +40 -0
- package/api/@xmachines/play-pattern/functions/parsePattern.md +28 -0
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +15 -0
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +14 -0
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +21 -0
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +19 -0
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-pattern/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +11 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +9 -0
- package/api/@xmachines/play-react/README.md +46 -58
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +14 -10
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +103 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-react/variables/ActorProvider.md +2 -2
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react/variables/schema.md +52 -0
- package/api/@xmachines/play-react-router/README.md +23 -51
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -23
- package/api/@xmachines/play-react-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +11 -8
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +16 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +116 -197
- package/api/@xmachines/play-router/errors/README.md +15 -0
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +191 -0
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +200 -0
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +203 -0
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +175 -0
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +199 -0
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +192 -0
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +182 -0
- package/api/@xmachines/play-router/index/README.md +83 -0
- package/api/@xmachines/play-router/{classes → index/classes}/RouteMap.md +19 -13
- package/api/@xmachines/play-router/{classes → index/classes}/RouterBridgeBase.md +22 -20
- package/api/@xmachines/play-router/{functions → index/functions}/buildPlayRouteEvent.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/buildRouteTree.md +14 -4
- package/api/@xmachines/play-router/{functions → index/functions}/cleanFrameworkParams.md +3 -4
- package/api/@xmachines/play-router/index/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-router/{functions → index/functions}/createRouteMapFromTree.md +17 -10
- package/api/@xmachines/play-router/{functions → index/functions}/createRouterConnection.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/detectDuplicateRoutes.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/extractQuery.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/extractRouteParams.md +9 -8
- package/api/@xmachines/play-router/{functions → index/functions}/findRouteById.md +2 -2
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +48 -0
- package/api/@xmachines/play-router/{functions → index/functions}/isMountableBridge.md +2 -2
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +38 -0
- package/api/@xmachines/play-router/{functions → index/functions}/mountKey.md +2 -2
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +43 -0
- package/api/@xmachines/play-router/{functions → index/functions}/openProviderBridge.md +14 -14
- package/api/@xmachines/play-router/index/functions/parsePattern.md +28 -0
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +41 -0
- package/api/@xmachines/play-router/{functions → index/functions}/repointProviderBridge.md +2 -2
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +51 -0
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +49 -0
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +27 -0
- package/api/@xmachines/play-router/index/functions/splitLocation.md +37 -0
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +44 -0
- package/api/@xmachines/play-router/{functions → index/functions}/validateRouteFormat.md +2 -2
- package/api/@xmachines/play-router/{functions → index/functions}/validateStateExists.md +2 -2
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +13 -0
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +35 -0
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +52 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/LocationLike.md +6 -6
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/MountableRouterBridge.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +30 -0
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-router/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +130 -0
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +39 -0
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +14 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/ResolvedRoutePath.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/Routable.md +26 -0
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteInfo.md +11 -11
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +19 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +12 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouteNode.md +13 -13
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +34 -0
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +27 -0
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +55 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +31 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/RouterConnection.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-router/{interfaces → index/interfaces}/WindowLike.md +4 -4
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +53 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +12 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +31 -0
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +11 -0
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +68 -0
- package/api/@xmachines/{play-xstate → play-router/index}/variables/DISPOSE.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +18 -0
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +18 -0
- package/api/@xmachines/play-router/xstate/README.md +53 -0
- package/api/@xmachines/play-router/{functions → xstate/functions}/createRouteMap.md +11 -9
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +30 -0
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +35 -0
- package/api/@xmachines/play-router/{functions → xstate/functions}/getRoutableRoutes.md +6 -6
- package/api/@xmachines/play-router/{functions → xstate/functions}/getRouteMappings.md +7 -7
- package/api/@xmachines/play-router/{functions → xstate/functions}/getTransitionReachableRoutes.md +2 -2
- package/api/@xmachines/play-router/{functions → xstate/functions}/isRouteReachable.md +2 -2
- package/api/@xmachines/play-router/{functions → xstate/functions}/machineToGraph.md +2 -2
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +26 -0
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +15 -0
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +17 -0
- package/api/@xmachines/play-router/{type-aliases → xstate/type-aliases}/MachineGraph.md +2 -2
- package/api/@xmachines/play-solid/README.md +21 -34
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +2 -2
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/schema.md +71 -0
- package/api/@xmachines/play-solid-router/README.md +34 -55
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +33 -56
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +9 -8
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +38 -35
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +18 -29
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-svelte/variables/schema.md +16 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +25 -44
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +24 -23
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +32 -50
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +24 -23
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +15 -23
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/README.md +25 -49
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +22 -21
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +11 -8
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +16 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +6 -4
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +26 -29
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/README.md +29 -55
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +18 -12
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +52 -48
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +9 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -12
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +29 -12
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +75 -0
- package/api/@xmachines/play-url/errors/README.md +17 -0
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +200 -0
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +203 -0
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +199 -0
- package/api/@xmachines/play-url/index/README.md +72 -0
- package/api/@xmachines/play-url/index/functions/buildPath.md +46 -0
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +39 -0
- package/api/@xmachines/play-url/index/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-url/index/functions/getCandidates.md +29 -0
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +32 -0
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +30 -0
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +36 -0
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +40 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/joinBasePath.md +3 -2
- package/api/@xmachines/{play-router → play-url/index}/functions/normalizeBasePath.md +2 -2
- package/api/@xmachines/play-url/index/functions/parsePattern.md +28 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/pickOwnParams.md +4 -4
- package/api/@xmachines/{play-router → play-url/index}/functions/resolveBasePath.md +2 -2
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +49 -0
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +27 -0
- package/api/@xmachines/play-url/index/functions/splitLocation.md +37 -0
- package/api/@xmachines/{play-router → play-url/index}/functions/stripBasePath.md +2 -2
- package/api/@xmachines/{play-router → play-url/index}/interfaces/BasePathOptions.md +6 -10
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +21 -0
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +52 -0
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +15 -0
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +14 -0
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +21 -0
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-url/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +15 -0
- package/api/@xmachines/{play-router → play-url/index}/interfaces/ResolvedBasePath.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +11 -0
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +9 -0
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +22 -0
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +68 -0
- package/api/@xmachines/{play-router → play-url/index}/variables/NO_BASE_PATH.md +2 -2
- package/api/@xmachines/play-url/index/variables/URLPattern.md +21 -0
- package/api/@xmachines/play-view/README.md +176 -0
- package/api/@xmachines/play-view/errors/README.md +17 -0
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +192 -0
- package/api/@xmachines/play-view/index/README.md +55 -0
- package/api/@xmachines/{play-actor → play-view/index}/functions/attachRenderErrorHandler.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/functions/composePlayState.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createFailureLatch.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createReportGuard.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/createViewStoreLifecycle.md +2 -2
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +19 -0
- package/api/@xmachines/{play-actor → play-view/index}/functions/refreshContextSubtree.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/reuseComposedState.md +3 -3
- package/api/@xmachines/{play-actor → play-view/index}/functions/sameViewInputs.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/toAtomState.md +2 -2
- package/api/@xmachines/{play-actor → play-view/index}/functions/typedSpec.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +49 -0
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/BaseViewContextValue.md +12 -12
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/FailureLatch.md +6 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuard.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ReportGuardMessages.md +6 -6
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ResolveViewStoreOptions.md +5 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewInputs.md +7 -7
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreLifecycle.md +6 -5
- package/api/@xmachines/{play-actor → play-view/index}/interfaces/ViewStoreResolution.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +18 -0
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +26 -0
- package/api/@xmachines/{play-actor → play-view/index}/variables/CONTEXT_STATE_KEY.md +2 -2
- package/api/@xmachines/play-vue/README.md +26 -40
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +9 -9
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +8 -8
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -3
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/schema.md +71 -0
- package/api/@xmachines/play-vue-router/README.md +42 -84
- package/api/@xmachines/play-vue-router/errors/README.md +8 -0
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +193 -0
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +177 -0
- package/api/@xmachines/play-vue-router/index/README.md +20 -0
- package/api/@xmachines/play-vue-router/{classes → index/classes}/RouteMap.md +19 -13
- package/api/@xmachines/play-vue-router/{classes → index/classes}/VueRouterBridge.md +26 -45
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +130 -0
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +72 -0
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +19 -0
- package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouteMapping.md +6 -6
- package/api/@xmachines/play-vue-router/{interfaces → index/interfaces}/RouterBridge.md +17 -19
- package/api/@xmachines/play-vue-router/{variables → index/variables}/PlayRouterProvider.md +26 -4
- package/api/@xmachines/play-xstate/README.md +195 -116
- package/api/@xmachines/play-xstate/errors/README.md +14 -0
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +199 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +198 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +169 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +197 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +176 -0
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +207 -0
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +199 -0
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +203 -0
- package/api/@xmachines/play-xstate/index/README.md +38 -0
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +583 -0
- package/api/@xmachines/play-xstate/index/functions/compose.md +224 -0
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +158 -0
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +22 -0
- package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerFactoryResumeOptions.md +3 -3
- package/api/@xmachines/play-xstate/{interfaces → index/interfaces}/PlayerOptions.md +10 -10
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +33 -0
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +39 -0
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +27 -0
- package/api/@xmachines/{play-router → play-xstate/index}/variables/DISPOSE.md +3 -3
- package/api/@xmachines/play-xstate/with-routing/README.md +46 -0
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +57 -0
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/deriveRoute.md +4 -4
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/formatPlayRouteTransitions.md +2 -2
- package/api/@xmachines/play-xstate/{functions → with-routing/functions}/isAbsoluteRoute.md +3 -3
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +36 -0
- package/api/@xmachines/play-xstate/{interfaces → with-routing/interfaces}/RouteContext.md +6 -6
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +34 -0
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +12 -0
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +31 -0
- package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteMachineConfig.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +11 -0
- package/api/@xmachines/play-xstate/{type-aliases → with-routing/type-aliases}/RouteStateNode.md +21 -7
- package/api/@xmachines/play-xstate/with-view/README.md +31 -0
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +33 -0
- package/api/@xmachines/shared/README.md +10 -32
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +2 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/api/README.md +4 -1
- package/api/llms.txt +18 -12
- package/contributing/architecture.md +157 -148
- package/contributing/configuration.md +100 -41
- package/contributing/deployment.md +112 -34
- package/contributing/development.md +103 -34
- package/contributing/migrating-to-play-atom.md +209 -0
- package/contributing/testing.md +136 -80
- package/examples/README.md +11 -9
- package/examples/basic-state-machine.md +4 -4
- package/examples/form-validation.md +4 -3
- package/examples/multi-router-integration.md +81 -59
- package/examples/routing-patterns.md +20 -19
- package/examples/traffic-light.md +17 -11
- package/guides/README.md +2 -1
- package/guides/actor-model.md +50 -32
- package/guides/atoms.md +264 -0
- package/guides/getting-started.md +91 -53
- package/guides/inspector.md +7 -7
- package/guides/routing.md +265 -0
- package/guides/state-machines.md +20 -21
- package/package.json +10 -9
- package/rfc/play.md +104 -60
- package/api/@xmachines/play-actor/classes/AbstractActor.md +0 -505
- package/api/@xmachines/play-actor/functions/guardContextWrites.md +0 -43
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +0 -48
- package/api/@xmachines/play-actor/interfaces/Routable.md +0 -14
- package/api/@xmachines/play-actor/interfaces/Viewable.md +0 -18
- package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +0 -36
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +0 -262
- package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +0 -80
- package/api/@xmachines/play-react/functions/useSignalEffect.md +0 -77
- package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +0 -13
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +0 -29
- package/api/@xmachines/play-router/functions/findRouteByPath.md +0 -41
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +0 -35
- package/api/@xmachines/play-router/functions/getPatternParamNames.md +0 -24
- package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +0 -36
- package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +0 -51
- package/api/@xmachines/play-router/functions/routeExists.md +0 -26
- package/api/@xmachines/play-router/functions/sanitizePathname.md +0 -42
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +0 -47
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +0 -15
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +0 -17
- package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +0 -28
- package/api/@xmachines/play-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +0 -135
- package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +0 -33
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +0 -65
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +0 -12
- package/api/@xmachines/play-router/interfaces/RouteObject.md +0 -21
- package/api/@xmachines/play-router/interfaces/RouteTree.md +0 -21
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +0 -55
- package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +0 -13
- package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +0 -36
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +0 -11
- package/api/@xmachines/play-signals/README.md +0 -231
- package/api/@xmachines/play-signals/functions/watchSignal.md +0 -65
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +0 -36
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +0 -49
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +0 -37
- package/api/@xmachines/play-signals/interfaces/SignalState.md +0 -68
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +0 -97
- package/api/@xmachines/play-signals/namespaces/Signal/README.md +0 -22
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -52
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -72
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +0 -21
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -85
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -13
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -25
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -19
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +0 -33
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +0 -471
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +0 -9
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +0 -9
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +0 -29
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +0 -31
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +0 -9
- package/api/@xmachines/play-vue/variables/getPlayViewContext.md +0 -39
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +0 -40
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +0 -70
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +0 -135
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +0 -13
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +0 -13
- package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +0 -13
- package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +0 -13
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +0 -568
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +0 -50
- package/api/@xmachines/play-xstate/functions/composeGuards.md +0 -86
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +0 -72
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +0 -43
- package/api/@xmachines/play-xstate/functions/definePlayer.md +0 -78
- package/api/@xmachines/play-xstate/functions/eventMatches.md +0 -45
- package/api/@xmachines/play-xstate/functions/hasContext.md +0 -45
- package/api/@xmachines/play-xstate/functions/negateGuard.md +0 -67
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +0 -20
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +0 -17
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +0 -19
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +0 -36
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +0 -23
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +0 -26
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +0 -9
- package/guides/signals.md +0 -209
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: TanStackRouterBridgeBase
|
|
4
4
|
|
|
5
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L133)
|
|
6
6
|
|
|
7
7
|
The shared TanStack Router adapter. It implements the RouterBridge protocol through RouterBridgeBase
|
|
8
8
|
|
|
@@ -24,12 +24,12 @@ does internally: `router.history.subscribe(router.load)`.
|
|
|
24
24
|
|
|
25
25
|
Architectural invariants:
|
|
26
26
|
|
|
27
|
-
- INV-
|
|
27
|
+
- INV-04 (Passive Infrastructure): the router reflects the actor state. It never decides
|
|
28
28
|
- The actor checks every navigation with its guards before the URL changes
|
|
29
29
|
|
|
30
30
|
The class is concrete. You can create an instance of it directly. Each framework
|
|
31
31
|
package re-exports it, or makes a subclass of it, only to bind the public name of
|
|
32
|
-
the adapter.
|
|
32
|
+
the adapter.
|
|
33
33
|
|
|
34
34
|
## Example
|
|
35
35
|
|
|
@@ -41,11 +41,7 @@ return () => bridge.disconnect();
|
|
|
41
41
|
|
|
42
42
|
## Extends
|
|
43
43
|
|
|
44
|
-
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md)
|
|
45
|
-
|
|
46
|
-
## Extended by
|
|
47
|
-
|
|
48
|
-
- [`TanStackSolidRouterBridge`](../../play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md)
|
|
44
|
+
- [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md)
|
|
49
45
|
|
|
50
46
|
## Constructors
|
|
51
47
|
|
|
@@ -56,21 +52,22 @@ new TanStackRouterBridgeBase(
|
|
|
56
52
|
router,
|
|
57
53
|
actor,
|
|
58
54
|
routeMap,
|
|
59
|
-
options?
|
|
55
|
+
options?
|
|
56
|
+
): TanStackRouterBridgeBase;
|
|
60
57
|
```
|
|
61
58
|
|
|
62
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
59
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L151)
|
|
63
60
|
|
|
64
61
|
Creates a TanStack Router bridge
|
|
65
62
|
|
|
66
63
|
#### Parameters
|
|
67
64
|
|
|
68
|
-
| Parameter | Type
|
|
69
|
-
| ---------- |
|
|
70
|
-
| `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md)
|
|
71
|
-
| `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md)
|
|
72
|
-
| `routeMap` | [`TanStackRouteMapLike`](../type-aliases/TanStackRouteMapLike.md)
|
|
73
|
-
| `options?` | [`
|
|
65
|
+
| Parameter | Type | Description |
|
|
66
|
+
| ---------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------- |
|
|
67
|
+
| `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md) | The TanStack Router instance from `createRouter` |
|
|
68
|
+
| `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) | The XMachines actor instance |
|
|
69
|
+
| `routeMap` | [`TanStackRouteMapLike`](../type-aliases/TanStackRouteMapLike.md) | The bidirectional map between the state IDs and the paths |
|
|
70
|
+
| `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | - |
|
|
74
71
|
|
|
75
72
|
#### Returns
|
|
76
73
|
|
|
@@ -78,7 +75,7 @@ Creates a TanStack Router bridge
|
|
|
78
75
|
|
|
79
76
|
#### Overrides
|
|
80
77
|
|
|
81
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
|
|
78
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`constructor`](../../play-router/index/classes/RouterBridgeBase.md#constructor)
|
|
82
79
|
|
|
83
80
|
## Accessors
|
|
84
81
|
|
|
@@ -90,7 +87,7 @@ Creates a TanStack Router bridge
|
|
|
90
87
|
get basePath(): string;
|
|
91
88
|
```
|
|
92
89
|
|
|
93
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
90
|
+
Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/router-bridge-base.ts#L282)
|
|
94
91
|
|
|
95
92
|
The resolved URL prefix that the machine of this bridge is mounted under, or `""`
|
|
96
93
|
when the machine owns the complete router.
|
|
@@ -103,7 +100,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
|
|
|
103
100
|
|
|
104
101
|
#### Inherited from
|
|
105
102
|
|
|
106
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePath`](../../play-router/classes/RouterBridgeBase.md#basepath)
|
|
103
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePath`](../../play-router/index/classes/RouterBridgeBase.md#basepath)
|
|
107
104
|
|
|
108
105
|
---
|
|
109
106
|
|
|
@@ -115,7 +112,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
|
|
|
115
112
|
get basePathParams(): Readonly<Record<string, string>>;
|
|
116
113
|
```
|
|
117
114
|
|
|
118
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
115
|
+
Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/router-bridge-base.ts#L311)
|
|
119
116
|
|
|
120
117
|
The resolved values of the `:param` segments of the mount, or `{}` for a prefix
|
|
121
118
|
without a param.
|
|
@@ -156,7 +153,7 @@ mount while the machine stays on the same route, and no event goes out.
|
|
|
156
153
|
|
|
157
154
|
#### Inherited from
|
|
158
155
|
|
|
159
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/classes/RouterBridgeBase.md#basepathparams)
|
|
156
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/index/classes/RouterBridgeBase.md#basepathparams)
|
|
160
157
|
|
|
161
158
|
## Methods
|
|
162
159
|
|
|
@@ -166,11 +163,11 @@ mount while the machine stays on the same route, and no event goes out.
|
|
|
166
163
|
connect(): void;
|
|
167
164
|
```
|
|
168
165
|
|
|
169
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
166
|
+
Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/router-bridge-base.ts#L533)
|
|
170
167
|
|
|
171
168
|
Connects the router bridge to the Actor.
|
|
172
169
|
|
|
173
|
-
The method installs the
|
|
170
|
+
The method installs the atom watcher of the direction from the actor to the
|
|
174
171
|
router. It then starts the watch of the router changes, which each framework does
|
|
175
172
|
in its own way.
|
|
176
173
|
|
|
@@ -190,7 +187,7 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
190
187
|
|
|
191
188
|
#### Inherited from
|
|
192
189
|
|
|
193
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`connect`](../../play-router/classes/RouterBridgeBase.md#connect)
|
|
190
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`connect`](../../play-router/index/classes/RouterBridgeBase.md#connect)
|
|
194
191
|
|
|
195
192
|
---
|
|
196
193
|
|
|
@@ -200,11 +197,11 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
200
197
|
disconnect(): void;
|
|
201
198
|
```
|
|
202
199
|
|
|
203
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
200
|
+
Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/router-bridge-base.ts#L791)
|
|
204
201
|
|
|
205
202
|
Disconnects the router bridge from the Actor.
|
|
206
203
|
|
|
207
|
-
The method stops the watch of the
|
|
204
|
+
The method stops the watch of the atom, and it removes the router listener of the
|
|
208
205
|
framework.
|
|
209
206
|
|
|
210
207
|
#### Returns
|
|
@@ -213,7 +210,7 @@ framework.
|
|
|
213
210
|
|
|
214
211
|
#### Inherited from
|
|
215
212
|
|
|
216
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
|
|
213
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/index/classes/RouterBridgeBase.md#disconnect)
|
|
217
214
|
|
|
218
215
|
---
|
|
219
216
|
|
|
@@ -223,7 +220,7 @@ framework.
|
|
|
223
220
|
setBasePath(basePath?, basePathParams?): void;
|
|
224
221
|
```
|
|
225
222
|
|
|
226
|
-
Defined in: [play-router/src/router-bridge-base.ts:
|
|
223
|
+
Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/router-bridge-base.ts#L351)
|
|
227
224
|
|
|
228
225
|
Moves the machine to a different mount point, while it stays connected.
|
|
229
226
|
|
|
@@ -275,4 +272,4 @@ bridge.setBasePath("/:region/:machineId/play", { region: "us", machineId });
|
|
|
275
272
|
|
|
276
273
|
#### Inherited from
|
|
277
274
|
|
|
278
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/classes/RouterBridgeBase.md#setbasepath)
|
|
275
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/index/classes/RouterBridgeBase.md#setbasepath)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type TanStackRouteMapLike = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:95](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:95](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L95)
|
|
10
10
|
|
|
11
11
|
The narrow route-map surface that `TanStackRouterBridgeBase` requires.
|
|
12
12
|
`RouteMap` from `@xmachines/play-router` satisfies it. The bridge converts a
|
|
@@ -24,7 +24,7 @@ that holds one form only still resolves the path.
|
|
|
24
24
|
getPathByStateId(id): string | null | undefined;
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:97](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
27
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:97](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L97)
|
|
28
28
|
|
|
29
29
|
#### Parameters
|
|
30
30
|
|
|
@@ -44,7 +44,7 @@ Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:97](https:/
|
|
|
44
44
|
getStateIdByPath(path): string | null | undefined;
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
47
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L96)
|
|
48
48
|
|
|
49
49
|
#### Parameters
|
|
50
50
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type TanStackRouterLike = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L39)
|
|
10
10
|
|
|
11
11
|
The type-only interface of the TanStack Router surface that
|
|
12
12
|
`TanStackRouterBridgeBase` uses. An instance of `@tanstack/react-router` and an
|
|
@@ -20,7 +20,7 @@ instance of `@tanstack/solid-router` both satisfy it.
|
|
|
20
20
|
history: object;
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
23
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L72)
|
|
24
24
|
|
|
25
25
|
#### location
|
|
26
26
|
|
|
@@ -69,7 +69,7 @@ subscribe(handler): () => void;
|
|
|
69
69
|
optional options?: object;
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
72
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L58)
|
|
73
73
|
|
|
74
74
|
The options of the router. The bridge reads `parseSearch` only.
|
|
75
75
|
|
|
@@ -103,7 +103,7 @@ optional parseSearch(search): Record<string, unknown>;
|
|
|
103
103
|
optional load(): void | Promise<void>;
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
106
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L71)
|
|
107
107
|
|
|
108
108
|
Runs the TanStack route matching and the loaders again for the current location.
|
|
109
109
|
This method is optional. The bridge calls it after every navigation. The matching
|
|
@@ -128,7 +128,7 @@ bridge then synchronizes synchronously.
|
|
|
128
128
|
navigate(args): void;
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
131
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L48)
|
|
132
132
|
|
|
133
133
|
Navigates to a location. `search` carries the query of the target.
|
|
134
134
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
**TanStack Solid Router adapter for XMachines Universal Player Architecture**
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-tanstack-solid-router)
|
|
8
8
|
|
|
9
|
-
This package integrates TanStack Solid Router with the
|
|
9
|
+
This package integrates TanStack Solid Router with the atoms. The logic then drives the navigation through the Solid.js reactivity.
|
|
10
10
|
|
|
11
11
|
## Overview
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ This package integrates TanStack Solid Router with the TC39 Signals. The logic t
|
|
|
14
14
|
|
|
15
15
|
The bridge extends `RouterBridgeBase` from [`@xmachines/play-router`](../play-router/README.md). Each adapter therefore behaves in the same way in every framework:
|
|
16
16
|
|
|
17
|
-
- The actor route
|
|
17
|
+
- The actor route atom (`actor.currentRoute`) drives the router navigation.
|
|
18
18
|
- Each router history event sends a `play.route` intent to the actor.
|
|
19
19
|
- The actor keeps the ownership of each guarded state transition (Actor Authority).
|
|
20
20
|
- `RouterBridgeBase` stops a circular update.
|
|
@@ -30,34 +30,28 @@ pnpm add @xmachines/play-tanstack-solid-router @xmachines/play-router
|
|
|
30
30
|
|
|
31
31
|
- `@tanstack/solid-router` `^1.168.7`
|
|
32
32
|
- `solid-js` `^1.8.0`
|
|
33
|
-
- `xstate` `^5.31.0`
|
|
34
33
|
|
|
35
34
|
## Current Exports
|
|
36
35
|
|
|
37
36
|
- `TanStackSolidRouterBridge` — the primary adapter class
|
|
38
37
|
- `PlayRouterProvider` — the Solid component that manages the bridge lifecycle
|
|
39
38
|
- `PlayRouterProviderProps`, `TanStackRouterInstance` (types)
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
39
|
+
- `RoutableActor` — `currentRoute`, `initialRoute` and `send`, from [`@xmachines/play-router`](../play-router/README.md). It names no view: routing implies no rendering. A renderer callback that reads `currentView` declares its own actor type, and the constraint keeps it whole
|
|
40
|
+
- `RouteMap`, `RouteMapping`, `RouteMapOptions` (re-exported from [`@xmachines/play-router`](../play-router/README.md))
|
|
41
|
+
- `createRouteMap` (re-exported from [`@xmachines/play-router/xstate`](../play-router/README.md))
|
|
43
42
|
- `TanStackRouterLike` (type)
|
|
44
43
|
- `RouterBridge`, `PlayRouteEvent` (types)
|
|
45
44
|
|
|
46
|
-
## URLPattern Support
|
|
47
|
-
|
|
48
|
-
This package matches each route pattern with the [URLPattern API](https://developer.mozilla.org/en-US/docs/Web/API/URLPattern), through [`@xmachines/play-router`](../play-router/README.md).
|
|
49
|
-
|
|
50
|
-
URLPattern is native in Node.js 24+ and in a modern browser (Chrome 95+, Firefox 117+, Safari 16.4+). In an older environment, load a polyfill **before** you import this package. See [`@xmachines/play-router`](../play-router/README.md) for the details.
|
|
51
|
-
|
|
52
45
|
## Quick Start
|
|
53
46
|
|
|
54
47
|
```tsx
|
|
55
48
|
import { createRouter, createRootRoute, createRoute } from "@tanstack/solid-router";
|
|
56
49
|
import { createMachine } from "xstate";
|
|
57
|
-
import { definePlayer,
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
|
|
50
|
+
import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
|
|
51
|
+
import { formatPlayRouteTransitions, withRouting } from "@xmachines/play-xstate/routing";
|
|
52
|
+
import { extractMachineRoutes, getRoutableRoutes } from "@xmachines/play-router/xstate";
|
|
53
|
+
import { TanStackSolidRouterBridge } from "@xmachines/play-tanstack-solid-router";
|
|
54
|
+
import { createRouteMap } from "@xmachines/play-router/xstate";
|
|
61
55
|
const machine = createMachine(
|
|
62
56
|
formatPlayRouteTransitions({
|
|
63
57
|
id: "app",
|
|
@@ -82,7 +76,8 @@ const tanstackRoutes = getRoutableRoutes(extractMachineRoutes(machine)).map((rou
|
|
|
82
76
|
);
|
|
83
77
|
const router = createRouter({ routeTree: rootRoute.addChildren(tanstackRoutes) });
|
|
84
78
|
|
|
85
|
-
|
|
79
|
+
// The bridge needs the routing capability
|
|
80
|
+
const actor = definePlayer({ machine, actor: compose(PlayerActor, withRouting) })();
|
|
86
81
|
actor.start();
|
|
87
82
|
|
|
88
83
|
const bridge = new TanStackSolidRouterBridge(router, actor, routeMap);
|
|
@@ -122,7 +117,6 @@ class TanStackSolidRouterBridge {
|
|
|
122
117
|
constructor(router: TanStackRouterLike, actor: RoutableActor, routeMap: RouteMap);
|
|
123
118
|
connect(): void;
|
|
124
119
|
disconnect(): void;
|
|
125
|
-
dispose(): void; // alias for disconnect()
|
|
126
120
|
}
|
|
127
121
|
```
|
|
128
122
|
|
|
@@ -139,7 +133,7 @@ class TanStackSolidRouterBridge {
|
|
|
139
133
|
This Solid component creates a `TanStackSolidRouterBridge`, connects it, and cleans it up for you.
|
|
140
134
|
|
|
141
135
|
```ts
|
|
142
|
-
interface PlayRouterProviderProps<TActor extends
|
|
136
|
+
interface PlayRouterProviderProps<TActor extends RoutableActor = RoutableActor> {
|
|
143
137
|
/** The actor to sync with TanStack Solid Router. */
|
|
144
138
|
actor: TActor;
|
|
145
139
|
/** The TanStack Router instance returned by `createRouter`. */
|
|
@@ -153,9 +147,9 @@ interface PlayRouterProviderProps<TActor extends PlayActor = PlayActor> {
|
|
|
153
147
|
|
|
154
148
|
The component creates the bridge synchronously, during its own evaluation, because this is the execution model of Solid. It disconnects the bridge in `onCleanup`, when Solid disposes of the component.
|
|
155
149
|
|
|
156
|
-
### `RouteMap
|
|
150
|
+
### `RouteMap`, and `createRouteMap` of `@xmachines/play-router/xstate`
|
|
157
151
|
|
|
158
|
-
|
|
152
|
+
They map each state ID to a URL path, and each URL back to a state ID. This package exports `RouteMap`, and it re-exports `createRouteMap` never: the barrel names no state machine.
|
|
159
153
|
|
|
160
154
|
```ts
|
|
161
155
|
const routeMap = new RouteMap([
|
|
@@ -172,8 +166,7 @@ routeMap.getStateIdByPath("/unknown"); // null
|
|
|
172
166
|
Or build from a machine directly:
|
|
173
167
|
|
|
174
168
|
```ts
|
|
175
|
-
import { createRouteMap } from "@xmachines/play-
|
|
176
|
-
|
|
169
|
+
import { createRouteMap } from "@xmachines/play-router/xstate";
|
|
177
170
|
const routeMap = createRouteMap(machine); // machine: your routable machine (states carry meta.route)
|
|
178
171
|
```
|
|
179
172
|
|
|
@@ -224,12 +217,17 @@ A user navigates to `/dashboard`, and the user is not authenticated:
|
|
|
224
217
|
```tsx
|
|
225
218
|
import { createRouter, RouterProvider, createRootRoute, createRoute } from "@tanstack/solid-router";
|
|
226
219
|
import { onCleanup } from "solid-js";
|
|
227
|
-
import { PlayRouterProvider
|
|
228
|
-
import {
|
|
229
|
-
import {
|
|
220
|
+
import { PlayRouterProvider } from "@xmachines/play-tanstack-solid-router";
|
|
221
|
+
import { createRouteMap } from "@xmachines/play-router/xstate";
|
|
222
|
+
import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
|
|
223
|
+
import { withRouting } from "@xmachines/play-xstate/routing";
|
|
224
|
+
import { extractMachineRoutes, getRoutableRoutes } from "@xmachines/play-router/xstate";
|
|
230
225
|
import { authMachine } from "./auth-machine.js"; // your routable machine (states carry meta.route)
|
|
231
226
|
|
|
232
|
-
const createPlayer = definePlayer({
|
|
227
|
+
const createPlayer = definePlayer({
|
|
228
|
+
machine: authMachine,
|
|
229
|
+
actor: compose(PlayerActor, withRouting),
|
|
230
|
+
});
|
|
233
231
|
const actor = createPlayer();
|
|
234
232
|
actor.start();
|
|
235
233
|
|
|
@@ -274,35 +272,12 @@ export default function App() {
|
|
|
274
272
|
Bridge-first data flow:
|
|
275
273
|
|
|
276
274
|
1. `RouterBridgeBase.connect()` does the first synchronization between the actor and the router. It sends both the pathname and the query string of `router.history.location` to the actor.
|
|
277
|
-
2. Each actor route update, through the `actor.currentRoute`
|
|
275
|
+
2. Each actor route update, through the `actor.currentRoute` atom, calls the TanStack navigation (`router.navigate({ to })`).
|
|
278
276
|
3. The bridge subscribes to the TanStack history updates. It converts each update into a `play.route` event, then sends the event to the actor.
|
|
279
277
|
4. The guards of the actor accept or refuse each transition. The infrastructure reflects the state that results.
|
|
280
278
|
|
|
281
279
|
The routing infrastructure therefore stays passive, and the state machine keeps the control of the business logic.
|
|
282
280
|
|
|
283
|
-
## Testing
|
|
284
|
-
|
|
285
|
-
Run tests for this package in isolation:
|
|
286
|
-
|
|
287
|
-
```bash
|
|
288
|
-
pnpm --filter @xmachines/play-tanstack-solid-router test
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
Or from the package directory:
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
pnpm test
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
**Browser tests** (`test/browser/**/*.browser.test.ts`) run in real Chromium through Playwright. They cover the asynchronous sequences that jsdom cannot reproduce: BACK and FORWARD navigation through `router.history.subscribe`, echo suppression under real microtask timing, the check of each `navigate({ to })` call, and subscriber teardown on `disconnect()` and on `dispose()`.
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
# Run browser tests only
|
|
301
|
-
pnpm exec vitest --config vitest.browser.config.ts --project play-tanstack-solid-router-browser
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
Coverage thresholds: lines 80%, functions 80%, branches 70%, statements 80%.
|
|
305
|
-
|
|
306
281
|
## Related Packages
|
|
307
282
|
|
|
308
283
|
- [@xmachines/play-router](../play-router/README.md) — core router primitives and `RouterBridgeBase`
|
|
@@ -315,6 +290,7 @@ Coverage thresholds: lines 80%, functions 80%, branches 70%, statements 80%.
|
|
|
315
290
|
|
|
316
291
|
- [Demo](../../../examples/@xmachines/play-tanstack-solid-router-demo/README.md)
|
|
317
292
|
- [SolidJS renderer](../play-solid/README.md)
|
|
293
|
+
- [Routing guide](../../../guides/routing.md) — the URLPattern language that a `meta.route` path declares
|
|
318
294
|
|
|
319
295
|
## License
|
|
320
296
|
|
|
@@ -327,9 +303,9 @@ MIT — see [LICENSE](LICENSE).
|
|
|
327
303
|
|
|
328
304
|
## Interfaces
|
|
329
305
|
|
|
330
|
-
- [PlayActor](interfaces/PlayActor.md)
|
|
331
306
|
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
332
307
|
- [PlayRouterProviderProps](interfaces/PlayRouterProviderProps.md)
|
|
308
|
+
- [RoutableActor](interfaces/RoutableActor.md)
|
|
333
309
|
- [RouteMapOptions](interfaces/RouteMapOptions.md)
|
|
334
310
|
- [RouteMapping](interfaces/RouteMapping.md)
|
|
335
311
|
- [RouterBridge](interfaces/RouterBridge.md)
|
|
@@ -338,7 +314,6 @@ MIT — see [LICENSE](LICENSE).
|
|
|
338
314
|
|
|
339
315
|
- [PlayRouterBridgeConstructor](type-aliases/PlayRouterBridgeConstructor.md)
|
|
340
316
|
- [PlayRouterProviderBaseProps](type-aliases/PlayRouterProviderBaseProps.md)
|
|
341
|
-
- [~~RoutableActor~~](type-aliases/RoutableActor.md)
|
|
342
317
|
- [TanStackRouterInstance](type-aliases/TanStackRouterInstance.md)
|
|
343
318
|
- [TanStackRouterLike](type-aliases/TanStackRouterLike.md)
|
|
344
319
|
|
|
@@ -349,4 +324,3 @@ MIT — see [LICENSE](LICENSE).
|
|
|
349
324
|
## Functions
|
|
350
325
|
|
|
351
326
|
- [createPlayRouterProvider](functions/createPlayRouterProvider.md)
|
|
352
|
-
- [createRouteMap](functions/createRouteMap.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:177](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L177)
|
|
6
6
|
|
|
7
7
|
The shared base class of the route map for both directions.
|
|
8
8
|
|
|
@@ -14,15 +14,22 @@ of its own, and it inherits the complete public API from here.
|
|
|
14
14
|
- A static path, without a `:param` → a `Map` lookup in O(1)
|
|
15
15
|
- A dynamic path → a scan of the bucket index in O(k), with `URLPattern`, where
|
|
16
16
|
`k` is the number of the routes with the same first path segment
|
|
17
|
-
- The class keeps each result of a first match in an LRU cache. The default
|
|
18
|
-
|
|
17
|
+
- The class keeps each result of a first match in an LRU cache. The default cache
|
|
18
|
+
holds between 500 and 1000 entries, and the `pathCache` constructor option
|
|
19
|
+
replaces it
|
|
19
20
|
|
|
20
|
-
**The syntax of a pattern
|
|
21
|
+
**The syntax of a pattern:** the whole URLPattern pathname grammar. The forms used most
|
|
22
|
+
often are:
|
|
21
23
|
|
|
22
24
|
- `:param` — a necessary segment. It matches exactly one segment without a `/`
|
|
23
25
|
- `:param?` — an optional segment. It matches zero segments or one segment without a `/`
|
|
24
26
|
- `*` — a wildcard. It matches each number of segments, as URLPattern defines
|
|
25
27
|
|
|
28
|
+
A `{…}` group, a `:param(\d+)` constraint, a `+` modifier and a `\:` escape are read
|
|
29
|
+
too. The [routing guide](../../../../guides/routing.md) states every form, the prefix
|
|
30
|
+
rule, and the one divergence from the standard: a param name of this library can hold a
|
|
31
|
+
hyphen.
|
|
32
|
+
|
|
26
33
|
**The forms of a stateId:** you can register a stateId, and you can look one up,
|
|
27
34
|
in the form `"#stateId"` or in the form `"stateId"`. `RouteMap` makes the
|
|
28
35
|
canonical form itself. `getStateIdByPath` returns the stateId exactly as you
|
|
@@ -58,7 +65,7 @@ map.getPathByStateId("missing"); // null
|
|
|
58
65
|
new RouteMap(mappings, options?): RouteMap;
|
|
59
66
|
```
|
|
60
67
|
|
|
61
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
68
|
+
Defined in: [play-router/src/base-route-map.ts:210](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L210)
|
|
62
69
|
|
|
63
70
|
Builds a route map from an array of the mappings between a state ID and a path.
|
|
64
71
|
|
|
@@ -69,11 +76,10 @@ candidates is therefore efficient.
|
|
|
69
76
|
|
|
70
77
|
#### Parameters
|
|
71
78
|
|
|
72
|
-
| Parameter
|
|
73
|
-
|
|
|
74
|
-
| `mappings`
|
|
75
|
-
| `options`
|
|
76
|
-
| `options.cacheSize?` | `number` | - |
|
|
79
|
+
| Parameter | Type | Description |
|
|
80
|
+
| ---------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
81
|
+
| `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | The array of the `{ stateId, path }` entries. The order gives the priority when more than one pattern can match the same path. |
|
|
82
|
+
| `options` | [`RouteMapOptions`](../interfaces/RouteMapOptions.md) | See [RouteMapOptions](../interfaces/RouteMapOptions.md). A map holds TWO caches, so no option is named `cache`: each one names the cache that it carries. |
|
|
77
83
|
|
|
78
84
|
#### Returns
|
|
79
85
|
|
|
@@ -87,7 +93,7 @@ candidates is therefore efficient.
|
|
|
87
93
|
getPathByStateId(stateId): string | null;
|
|
88
94
|
```
|
|
89
95
|
|
|
90
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
96
|
+
Defined in: [play-router/src/base-route-map.ts:324](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L324)
|
|
91
97
|
|
|
92
98
|
Returns the path pattern of a state ID.
|
|
93
99
|
|
|
@@ -123,7 +129,7 @@ map.getPathByStateId("missing"); // null
|
|
|
123
129
|
getStateIdByPath(path): string | null;
|
|
124
130
|
```
|
|
125
131
|
|
|
126
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
132
|
+
Defined in: [play-router/src/base-route-map.ts:279](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L279)
|
|
127
133
|
|
|
128
134
|
Resolves a URL path to its state ID.
|
|
129
135
|
|