@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
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / getNavigableRoutes
|
|
2
|
-
|
|
3
|
-
# Function: getNavigableRoutes()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function getNavigableRoutes(tree, stateId): RouteNode[];
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/query.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/query.ts#L48)
|
|
10
|
-
|
|
11
|
-
Returns every route of a navigation from the given state
|
|
12
|
-
|
|
13
|
-
The function returns the child routes of the state. A later version also returns
|
|
14
|
-
the sibling routes of a transition.
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
| Parameter | Type | Description |
|
|
19
|
-
| --------- | ----------------------------------------- | ------------------------------------------- |
|
|
20
|
-
| `tree` | [`RouteTree`](../interfaces/RouteTree.md) | The route tree, from extractMachineRoutes() |
|
|
21
|
-
| `stateId` | `string` | The ID of the current state |
|
|
22
|
-
|
|
23
|
-
## Returns
|
|
24
|
-
|
|
25
|
-
[`RouteNode`](../interfaces/RouteNode.md)[]
|
|
26
|
-
|
|
27
|
-
The array of the route nodes that the state can reach
|
|
28
|
-
|
|
29
|
-
## Example
|
|
30
|
-
|
|
31
|
-
```typescript
|
|
32
|
-
const tree = extractMachineRoutes(machine);
|
|
33
|
-
const routes = getNavigableRoutes(tree, "dashboard");
|
|
34
|
-
// [{ id: 'overview', path: '/overview', ... }, { id: 'settings', ... }]
|
|
35
|
-
```
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / getPatternParamNames
|
|
2
|
-
|
|
3
|
-
# Function: getPatternParamNames()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function getPatternParamNames(pattern): string[];
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/framework-params.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L27)
|
|
10
|
-
|
|
11
|
-
Reads the names of every `:param` of a route pattern of the route map.
|
|
12
|
-
|
|
13
|
-
## Parameters
|
|
14
|
-
|
|
15
|
-
| Parameter | Type | Description |
|
|
16
|
-
| --------- | -------- | ------------------------------------------------ |
|
|
17
|
-
| `pattern` | `string` | A route pattern, for example `/profile/:userId`. |
|
|
18
|
-
|
|
19
|
-
## Returns
|
|
20
|
-
|
|
21
|
-
`string`[]
|
|
22
|
-
|
|
23
|
-
The names, in the order that the pattern declares them. A fresh array, because
|
|
24
|
-
`readPatternParams` caches the one it holds.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / getRequiredPatternParamNames
|
|
2
|
-
|
|
3
|
-
# Function: getRequiredPatternParamNames()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function getRequiredPatternParamNames(pattern): string[];
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/framework-params.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L85)
|
|
10
|
-
|
|
11
|
-
The names of every param the pattern REQUIRES, so `:name?` is left out.
|
|
12
|
-
|
|
13
|
-
An optional segment that did not match has no value, and a framework reports none.
|
|
14
|
-
That is a complete answer and not a partial one, so a MIXED pattern such as
|
|
15
|
-
`/profile/:userId/:tab?` keeps the parse of the framework when only `:tab` is absent.
|
|
16
|
-
A caller that counted that absence as a gap would fall back to the URLPattern
|
|
17
|
-
extraction, which THROWS on a runtime with no URLPattern — for a route the framework
|
|
18
|
-
had already answered.
|
|
19
|
-
|
|
20
|
-
A pattern whose params are ALL optional reports nothing at all, which reads the same
|
|
21
|
-
as "the framework matched another route", so [pickOwnParams](pickOwnParams.md) falls back for it.
|
|
22
|
-
[resolveFrameworkParams](resolveFrameworkParams.md) settles that case from the PATH instead, and it needs
|
|
23
|
-
no URLPattern to do it.
|
|
24
|
-
|
|
25
|
-
## Parameters
|
|
26
|
-
|
|
27
|
-
| Parameter | Type | Description |
|
|
28
|
-
| --------- | -------- | ------------------------------------------------------ |
|
|
29
|
-
| `pattern` | `string` | A route pattern, for example `/profile/:userId/:tab?`. |
|
|
30
|
-
|
|
31
|
-
## Returns
|
|
32
|
-
|
|
33
|
-
`string`[]
|
|
34
|
-
|
|
35
|
-
The required names, in the order that the pattern declares them. A fresh
|
|
36
|
-
array, because `readPatternParams` caches the one it holds.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / resolveFrameworkParams
|
|
2
|
-
|
|
3
|
-
# Function: resolveFrameworkParams()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function resolveFrameworkParams(__namedParameters): Record<string, string>;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/framework-params.ts:298](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L298)
|
|
10
|
-
|
|
11
|
-
Decides which params describe the route of the machine.
|
|
12
|
-
|
|
13
|
-
The three branches, in the order that they apply:
|
|
14
|
-
|
|
15
|
-
- **The pattern declares no name** — a static path, a bare `*` wildcard, or an
|
|
16
|
-
unknown stateId. The answer is `{}`. The params of the framework must NOT travel
|
|
17
|
-
here: under a catch-all they hold the splat of the host, and that value would reach
|
|
18
|
-
the actor as a param of the machine. This branch also reaches no URLPattern, which
|
|
19
|
-
matters: the extraction needs the constructor even for a pattern with no parameter,
|
|
20
|
-
so a delegation would throw on a runtime without the API.
|
|
21
|
-
- **The bridge sits under a mount** — the framework matched a route of the HOST by
|
|
22
|
-
construction, because the machine owns the suffix of the path only. Its params
|
|
23
|
-
therefore describe this pattern never, whatever they are named, and a name that
|
|
24
|
-
happens to collide carries the value of the host. Read the params of the machine
|
|
25
|
-
from its own pattern instead.
|
|
26
|
-
- **The framework covers every REQUIRED name** — it matched the machine route. Keep
|
|
27
|
-
its parse, together with its decoding. An optional `:name?` that the framework
|
|
28
|
-
reports not is covered too: a segment that did not match has no value. A gap in a
|
|
29
|
-
required name falls back, because keeping it would drop a name the route declares.
|
|
30
|
-
- **The path IS the bare form of the pattern** — every optional segment is absent, so
|
|
31
|
-
`{}` is the complete answer. The branch reads the path and trusts the framework with
|
|
32
|
-
nothing, which is what makes it safe under a catch-all of the host, and it calls
|
|
33
|
-
URLPattern for a location that needs none.
|
|
34
|
-
|
|
35
|
-
None of this decides whether the APPLICATION needs a URLPattern polyfill. A `RouteMap`
|
|
36
|
-
that holds one parameterized route compiles it in the CONSTRUCTOR, and it throws a
|
|
37
|
-
`URLPatternUnavailableError` there when the runtime has no URLPattern. The polyfill
|
|
38
|
-
question is therefore settled at startup: only a route map of static paths alone
|
|
39
|
-
escapes it. What these branches decide is whether a NAVIGATION calls URLPattern again.
|
|
40
|
-
|
|
41
|
-
## Parameters
|
|
42
|
-
|
|
43
|
-
| Parameter | Type |
|
|
44
|
-
| ------------------- | ----------------------------------------------------------------- |
|
|
45
|
-
| `__namedParameters` | [`FrameworkParamsSource`](../interfaces/FrameworkParamsSource.md) |
|
|
46
|
-
|
|
47
|
-
## Returns
|
|
48
|
-
|
|
49
|
-
`Record`\<`string`, `string`\>
|
|
50
|
-
|
|
51
|
-
The path parameters of the machine route, or `{}`.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / routeExists
|
|
2
|
-
|
|
3
|
-
# Function: routeExists()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function routeExists(tree, path): boolean;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/query.ts:135](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/query.ts#L135)
|
|
10
|
-
|
|
11
|
-
Tells you if a route path is in the tree
|
|
12
|
-
|
|
13
|
-
The function tests if the path has a state with a `meta.route` field.
|
|
14
|
-
|
|
15
|
-
## Parameters
|
|
16
|
-
|
|
17
|
-
| Parameter | Type | Description |
|
|
18
|
-
| --------- | ----------------------------------------- | ---------------------------------------------------------- |
|
|
19
|
-
| `tree` | [`RouteTree`](../interfaces/RouteTree.md) | The route tree, from extractMachineRoutes() |
|
|
20
|
-
| `path` | `string` | The complete route path, for example '/dashboard/settings' |
|
|
21
|
-
|
|
22
|
-
## Returns
|
|
23
|
-
|
|
24
|
-
`boolean`
|
|
25
|
-
|
|
26
|
-
true when the tree holds the path. In every other case, false
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / sanitizePathname
|
|
2
|
-
|
|
3
|
-
# Function: sanitizePathname()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function sanitizePathname(pathname): string | null;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play-router/src/router-sync.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-sync.ts#L74)
|
|
10
|
-
|
|
11
|
-
Normalizes a pathname before a lookup in the route map.
|
|
12
|
-
|
|
13
|
-
The function removes a query fragment and a hash fragment, it joins each duplicate
|
|
14
|
-
slash into one, and it refuses a path of an improbable length, because such a path
|
|
15
|
-
must never enter the route resolution.
|
|
16
|
-
|
|
17
|
-
It returns `null` for a path of more than 2048 characters, which is malformed or
|
|
18
|
-
hostile input. An adapter that passes around
|
|
19
|
-
`RouterBridgeBase.syncActorFromRouter()`, for example `VueRouterBridge`, must call
|
|
20
|
-
this function itself, and it must return at once on a `null` value. That adapter
|
|
21
|
-
then gives the same guarantee of the defense in depth as the shared base class.
|
|
22
|
-
|
|
23
|
-
## Parameters
|
|
24
|
-
|
|
25
|
-
| Parameter | Type | Description |
|
|
26
|
-
| ---------- | -------- | -------------------------------------------------------- |
|
|
27
|
-
| `pathname` | `string` | The raw path string of a navigation event of the router. |
|
|
28
|
-
|
|
29
|
-
## Returns
|
|
30
|
-
|
|
31
|
-
`string` \| `null`
|
|
32
|
-
|
|
33
|
-
The normalized path string, or `null` when the path is malformed or too long.
|
|
34
|
-
|
|
35
|
-
## Example
|
|
36
|
-
|
|
37
|
-
```typescript
|
|
38
|
-
import { sanitizePathname } from "@xmachines/play-router";
|
|
39
|
-
|
|
40
|
-
const clean = sanitizePathname(to.path);
|
|
41
|
-
if (clean === null) return; // refuse a malformed path
|
|
42
|
-
```
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / BuildPlayRouteEventOptions
|
|
2
|
-
|
|
3
|
-
# Interface: BuildPlayRouteEventOptions
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/router-sync.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-sync.ts#L17)
|
|
6
|
-
|
|
7
|
-
## Properties
|
|
8
|
-
|
|
9
|
-
| Property | Type | Defined in |
|
|
10
|
-
| ----------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
-
| <a id="property-match"></a> `match` | (`sanitizedPathname`) => [`RouteMatch`](RouteMatch.md) | [play-router/src/router-sync.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-sync.ts#L20) |
|
|
12
|
-
| <a id="property-pathname"></a> `pathname` | `string` | [play-router/src/router-sync.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-sync.ts#L18) |
|
|
13
|
-
| <a id="property-search"></a> `search?` | `string` | [play-router/src/router-sync.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/router-sync.ts#L19) |
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / FrameworkParamsSource
|
|
2
|
-
|
|
3
|
-
# Interface: FrameworkParamsSource
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/framework-params.ts:247](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L247)
|
|
6
|
-
|
|
7
|
-
What [resolveFrameworkParams](../functions/resolveFrameworkParams.md) needs from the bridge that calls it.
|
|
8
|
-
|
|
9
|
-
## Properties
|
|
10
|
-
|
|
11
|
-
| Property | Type | Description | Defined in |
|
|
12
|
-
| ------------------------------------------ | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-basepath"></a> `basePath` | `string` | The resolved prefix of the mount. `""` means that the machine owns the router. | [play-router/src/framework-params.ts:251](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L251) |
|
|
14
|
-
| <a id="property-pathname"></a> `pathname?` | `string` | The machine-side path of the location, with the mount prefix already removed. The field is OPTIONAL, so a caller that was written before it keeps its behaviour: the one branch that reads it falls back without it, exactly as it did. | [play-router/src/framework-params.ts:258](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L258) |
|
|
15
|
-
| <a id="property-pattern"></a> `pattern` | `string` \| `null` \| `undefined` | The route pattern of the match, from `routeMap.getPathByStateId`. | [play-router/src/framework-params.ts:249](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L249) |
|
|
16
|
-
|
|
17
|
-
## Methods
|
|
18
|
-
|
|
19
|
-
### fallback()
|
|
20
|
-
|
|
21
|
-
```ts
|
|
22
|
-
fallback(): Record<string, string>;
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Defined in: [play-router/src/framework-params.ts:262](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L262)
|
|
26
|
-
|
|
27
|
-
The URLPattern extraction of the base class, read lazily.
|
|
28
|
-
|
|
29
|
-
#### Returns
|
|
30
|
-
|
|
31
|
-
`Record`\<`string`, `string`\>
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
### frameworkParams()
|
|
36
|
-
|
|
37
|
-
```ts
|
|
38
|
-
frameworkParams(): Record<string, string>;
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Defined in: [play-router/src/framework-params.ts:260](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/framework-params.ts#L260)
|
|
42
|
-
|
|
43
|
-
The params of the framework router, read lazily and cleaned of empty values.
|
|
44
|
-
|
|
45
|
-
#### Returns
|
|
46
|
-
|
|
47
|
-
`Record`\<`string`, `string`\>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / MachineEdgeData
|
|
2
|
-
|
|
3
|
-
# Interface: MachineEdgeData
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L25)
|
|
6
|
-
|
|
7
|
-
The data on each edge of the graph that represents the machine.
|
|
8
|
-
It holds the event of the transition and the information of its guard.
|
|
9
|
-
|
|
10
|
-
## Properties
|
|
11
|
-
|
|
12
|
-
| Property | Type | Description | Defined in |
|
|
13
|
-
| ------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
14
|
-
| <a id="property-eventtype"></a> `eventType` | `string` | The event type that starts this transition | [play-router/src/types.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L27) |
|
|
15
|
-
| <a id="property-guardtype"></a> ~~`guardType?`~~ | `string` | The guard as a string, when a guard is present **Deprecated** Will be removed in the next major. | [play-router/src/types.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L33) |
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / MachineNodeData
|
|
2
|
-
|
|
3
|
-
# Interface: MachineNodeData
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/types.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L10)
|
|
6
|
-
|
|
7
|
-
The data on each node of the graph that represents the machine.
|
|
8
|
-
It holds the state metadata that the route extraction and the queries need.
|
|
9
|
-
|
|
10
|
-
## Properties
|
|
11
|
-
|
|
12
|
-
| Property | Type | Description | Defined in |
|
|
13
|
-
| --------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
14
|
-
| <a id="property-meta"></a> `meta?` | `Record`\<`string`, `unknown`\> | The original meta object of the state | [play-router/src/types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L16) |
|
|
15
|
-
| <a id="property-route"></a> `route?` | `string` | The route path of meta.route, in its string form | [play-router/src/types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L18) |
|
|
16
|
-
| <a id="property-stateid"></a> `stateId` | `string` | The XState state ID, for example "test.dashboard.overview" | [play-router/src/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L12) |
|
|
17
|
-
| <a id="property-type"></a> `type` | `"atomic"` \| `"compound"` \| `"parallel"` \| `"final"` \| `"history"` | The state type of XState | [play-router/src/types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L14) |
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / OpenProviderBridgeArgs
|
|
2
|
-
|
|
3
|
-
# Interface: OpenProviderBridgeArgs\<TRouter, TActor\>
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/provider-lifecycle.ts:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L163)
|
|
6
|
-
|
|
7
|
-
What [openProviderBridge](../functions/openProviderBridge.md) needs to build and connect a bridge.
|
|
8
|
-
|
|
9
|
-
## Extends
|
|
10
|
-
|
|
11
|
-
- [`BasePathOptions`](BasePathOptions.md)
|
|
12
|
-
|
|
13
|
-
## Type Parameters
|
|
14
|
-
|
|
15
|
-
| Type Parameter |
|
|
16
|
-
| ---------------------------------------------- |
|
|
17
|
-
| `TRouter` |
|
|
18
|
-
| `TActor` _extends_ [`PlayActor`](PlayActor.md) |
|
|
19
|
-
|
|
20
|
-
## Properties
|
|
21
|
-
|
|
22
|
-
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
23
|
-
| ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
-
| <a id="property-actor"></a> `actor` | `public` | `TActor` | - | - | [play-router/src/provider-lifecycle.ts:165](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L165) |
|
|
25
|
-
| <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](BasePathOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [`BasePathOptions`](BasePathOptions.md).[`basePath`](BasePathOptions.md#property-basepath) | [play-router/src/base-path.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-path.ts#L58) |
|
|
26
|
-
| <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](BasePathOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [`BasePathOptions`](BasePathOptions.md).[`basePathParams`](BasePathOptions.md#property-basepathparams) | [play-router/src/base-path.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-path.ts#L72) |
|
|
27
|
-
| <a id="property-routemap"></a> `routeMap` | `public` | [`RouteMap`](../classes/RouteMap.md) | - | - | [play-router/src/provider-lifecycle.ts:166](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L166) |
|
|
28
|
-
| <a id="property-router"></a> `router` | `public` | `TRouter` | - | - | [play-router/src/provider-lifecycle.ts:164](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L164) |
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / PlayActor
|
|
2
|
-
|
|
3
|
-
# Interface: PlayActor
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/types.ts:313](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L313)
|
|
6
|
-
|
|
7
|
-
The complete actor shape of the `PlayRouterProvider` component of each framework
|
|
8
|
-
adapter: `play-solid-router`, `play-vue-router`, `play-react-router`, and each
|
|
9
|
-
adapter on the shared framework router bridge bases.
|
|
10
|
-
|
|
11
|
-
The shape extends `RoutableActor` with `currentView`, because the provider renders
|
|
12
|
-
the current view spec and also keeps the routes in step. It therefore needs both
|
|
13
|
-
capabilities.
|
|
14
|
-
|
|
15
|
-
- Use `RoutableActor` when you need the routing alone, for example in a
|
|
16
|
-
`RouterBridgeBase` subclass, or in `connectRouter`.
|
|
17
|
-
- Use `PlayActor` when the component also renders the current view spec, for
|
|
18
|
-
example for the renderer callback parameter of `PlayRouterProvider`, and in
|
|
19
|
-
`PlayRenderer`.
|
|
20
|
-
|
|
21
|
-
Every `AbstractActor` subclass that implements both `Routable` and `Viewable`
|
|
22
|
-
satisfies this interface structurally.
|
|
23
|
-
|
|
24
|
-
## Example
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
import type { PlayActor } from "@xmachines/play-router";
|
|
28
|
-
|
|
29
|
-
function MyRouterProvider({ actor }: { actor: PlayActor }) {
|
|
30
|
-
// it reads actor.currentRoute for the routing, and actor.currentView for the render
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Extends
|
|
35
|
-
|
|
36
|
-
- [`RoutableActor`](RoutableActor.md)
|
|
37
|
-
|
|
38
|
-
## Properties
|
|
39
|
-
|
|
40
|
-
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
41
|
-
| ------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
-
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | The TC39 Signal of the current URL path of the actor, or of its state ID. | [`RoutableActor`](RoutableActor.md).[`currentRoute`](RoutableActor.md#property-currentroute) | [play-router/src/types.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L275) |
|
|
43
|
-
| <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`PlaySpec`](../../play-actor/interfaces/PlaySpec.md) \| `null`\> | The TC39 Signal of the current view spec of the actor, or `null` when no view is active. | - | [play-router/src/types.ts:315](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L315) |
|
|
44
|
-
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route of the initial state of the machine. The constructor fixes it. A router bridge compares it with the browser URL. It therefore separates a deep link, where the router wins, from a restore of a session, where the actor wins. | [`RoutableActor`](RoutableActor.md).[`initialRoute`](RoutableActor.md#property-initialroute) | [play-router/src/types.ts:281](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L281) |
|
|
45
|
-
|
|
46
|
-
## Methods
|
|
47
|
-
|
|
48
|
-
### send()
|
|
49
|
-
|
|
50
|
-
```ts
|
|
51
|
-
send(event): void;
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Defined in: [play-router/src/types.ts:283](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L283)
|
|
55
|
-
|
|
56
|
-
Sends a route navigation event to the actor.
|
|
57
|
-
|
|
58
|
-
#### Parameters
|
|
59
|
-
|
|
60
|
-
| Parameter | Type |
|
|
61
|
-
| --------- | ------------------------------------- |
|
|
62
|
-
| `event` | [`PlayRouteEvent`](PlayRouteEvent.md) |
|
|
63
|
-
|
|
64
|
-
#### Returns
|
|
65
|
-
|
|
66
|
-
`void`
|
|
67
|
-
|
|
68
|
-
#### Inherited from
|
|
69
|
-
|
|
70
|
-
[`RoutableActor`](RoutableActor.md).[`send`](RoutableActor.md#send)
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / PlayRouteEvent
|
|
2
|
-
|
|
3
|
-
# Interface: PlayRouteEvent
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/types.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L238)
|
|
6
|
-
|
|
7
|
-
The routing event, with its parameters and its query
|
|
8
|
-
|
|
9
|
-
This is the one routing event of the complete Play architecture. It supports a
|
|
10
|
-
navigation that knows the parameters, for example `/profile/:userId`, for a dynamic
|
|
11
|
-
route segment.
|
|
12
|
-
|
|
13
|
-
**Architectural context:** the event implements **Passive Infrastructure
|
|
14
|
-
(INV-04)**, because it holds the navigation intent of the user, and the Actor then
|
|
15
|
-
evaluates that intent with its guards. The infrastructure makes a request with a
|
|
16
|
-
`play.route` event, and the Actor decides with a transition of its state machine.
|
|
17
|
-
|
|
18
|
-
**The flow of a browser navigation:**
|
|
19
|
-
|
|
20
|
-
1. The browser fires `popstate`
|
|
21
|
-
2. The router adapter resolves the URL to a route target
|
|
22
|
-
3. The adapter sends a `PlayRouteEvent` to the Actor
|
|
23
|
-
4. The Actor checks the transition with the guards of its state machine
|
|
24
|
-
|
|
25
|
-
## Param
|
|
26
|
-
|
|
27
|
-
**type**
|
|
28
|
-
|
|
29
|
-
The discriminator of the event. It is always "play.route"
|
|
30
|
-
|
|
31
|
-
## Param
|
|
32
|
-
|
|
33
|
-
**to**
|
|
34
|
-
|
|
35
|
-
The target state ID, with a # prefix, for example '#home' or '#profile'
|
|
36
|
-
|
|
37
|
-
## Param
|
|
38
|
-
|
|
39
|
-
**params**
|
|
40
|
-
|
|
41
|
-
The route parameters of the path only, from the URL path, for
|
|
42
|
-
example `{ userId: '123' }` of `/profile/123`. The `query` field holds the query
|
|
43
|
-
parameters separately.
|
|
44
|
-
|
|
45
|
-
## Param
|
|
46
|
-
|
|
47
|
-
**query**
|
|
48
|
-
|
|
49
|
-
The query parameters only. They stay separate from the params of the path
|
|
50
|
-
|
|
51
|
-
## Param
|
|
52
|
-
|
|
53
|
-
**match**
|
|
54
|
-
|
|
55
|
-
The complete match result of URLPattern, for the debug work and for
|
|
56
|
-
the observability. It is optional
|
|
57
|
-
|
|
58
|
-
## Examples
|
|
59
|
-
|
|
60
|
-
The base event and the routing event together
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
import type { PlayEvent } from "@xmachines/play";
|
|
64
|
-
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
65
|
-
|
|
66
|
-
type AppEvent = PlayEvent | PlayRouteEvent;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
A basic navigation to a route
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
73
|
-
|
|
74
|
-
const event: PlayRouteEvent = {
|
|
75
|
-
type: "play.route",
|
|
76
|
-
to: "#home",
|
|
77
|
-
};
|
|
78
|
-
actor.send(event);
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
A navigation with route parameters
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
85
|
-
|
|
86
|
-
const event: PlayRouteEvent = {
|
|
87
|
-
type: "play.route",
|
|
88
|
-
to: "#profile",
|
|
89
|
-
params: { userId: "123" },
|
|
90
|
-
};
|
|
91
|
-
actor.send(event);
|
|
92
|
-
// It resolves to the route /profile/123
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
A navigation with query parameters
|
|
96
|
-
|
|
97
|
-
```typescript
|
|
98
|
-
import type { PlayRouteEvent } from "@xmachines/play-router";
|
|
99
|
-
|
|
100
|
-
const event: PlayRouteEvent = {
|
|
101
|
-
type: "play.route",
|
|
102
|
-
to: "#settings",
|
|
103
|
-
params: { section: "profile" }, // a route parameter of the path only
|
|
104
|
-
query: { tab: "security" }, // the query only
|
|
105
|
-
};
|
|
106
|
-
actor.send(event);
|
|
107
|
-
// It resolves to the route /settings/profile?tab=security
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## See
|
|
111
|
-
|
|
112
|
-
[Play RFC](../../../../rfc/play.md)
|
|
113
|
-
|
|
114
|
-
## Remarks
|
|
115
|
-
|
|
116
|
-
Use `play.route` when you need a navigation that knows the parameters, with the
|
|
117
|
-
`route: {}` config pattern on the nodes of your state machine. The `match` field
|
|
118
|
-
gives you the complete URLPatternResult, for an advanced use such as a debug or an
|
|
119
|
-
analysis of the pattern.
|
|
120
|
-
|
|
121
|
-
## Indexable
|
|
122
|
-
|
|
123
|
-
```ts
|
|
124
|
-
[key: string]: unknown
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Properties
|
|
128
|
-
|
|
129
|
-
| Property | Modifier | Type | Defined in |
|
|
130
|
-
| -------------------------------------- | ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
131
|
-
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:243](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L243) |
|
|
132
|
-
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:241](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L241) |
|
|
133
|
-
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:242](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L242) |
|
|
134
|
-
| <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L240) |
|
|
135
|
-
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:239](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L239) |
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-router](../README.md) / PlayRouterProviderBaseProps
|
|
2
|
-
|
|
3
|
-
# Interface: PlayRouterProviderBaseProps\<TRouter, TActor, TNode\>
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/provider-lifecycle.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L36)
|
|
6
|
-
|
|
7
|
-
The props that every `PlayRouterProvider` of a framework shares.
|
|
8
|
-
|
|
9
|
-
`TNode` is what the framework renders: `ReactNode` for React, `JSX.Element` for
|
|
10
|
-
Solid. It is the ONLY thing in these props that a framework decides, which is why
|
|
11
|
-
they live here and not in an adapter.
|
|
12
|
-
|
|
13
|
-
An adapter re-exports a two-parameter alias of this type, with `TRouter` bound to
|
|
14
|
-
the type of its router instance and `TNode` bound to its own node type.
|
|
15
|
-
|
|
16
|
-
## Type Parameters
|
|
17
|
-
|
|
18
|
-
| Type Parameter |
|
|
19
|
-
| ---------------------------------------------- |
|
|
20
|
-
| `TRouter` |
|
|
21
|
-
| `TActor` _extends_ [`PlayActor`](PlayActor.md) |
|
|
22
|
-
| `TNode` |
|
|
23
|
-
|
|
24
|
-
## Properties
|
|
25
|
-
|
|
26
|
-
| Property | Type | Description | Defined in |
|
|
27
|
-
| ------------------------------------------------------ | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
28
|
-
| <a id="property-actor"></a> `actor` | `TActor` | The actor to keep in step with the router. It must be a stable reference: give the same actor instance on every render. An actor in the JSX, or a new actor on each render, makes the bridge disconnect and connect again each time. | [play-router/src/provider-lifecycle.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L42) |
|
|
29
|
-
| <a id="property-basepath"></a> `basePath?` | `string` | Mounts the routes of the machine under a URL prefix that the host owns, so that the routes of the host and the routes of the machine share one router. `actor`, `router`, and `routeMap` each need a stable reference. This prop needs none, and it rebuilds the bridge never: a change moves the live bridge with `setBasePath()`, so a host route that renders again with a new prefix keeps the actor, the route map, and its cache. The prefix says WHERE an actor is mounted, and never WHICH actor is mounted. An actor never changes identity, so a prefix segment that IDENTIFIES the actor gives a different `actor` prop instead, and THAT rebuilds the bridge — which is correct, because one actor takes one bridge. A location outside the prefix belongs completely to the host: the bridge sends no event there, and it corrects no URL there. Every `:param` needs a value. An unresolved one throws a `MissingBasePathParamError` out of the mount effect, because the bridge writes no URL without it. Render this component only after the host holds the value, which a route loader or a `useParams()` call does already. | [play-router/src/provider-lifecycle.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L80) |
|
|
30
|
-
| <a id="property-basepathparams"></a> `basePathParams?` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [PlayRouterProviderBaseProps.basePath](#property-basepath), for example `{ machineId }` for `basePath="/:machineId/play"`. An inline object literal is correct here: the provider compares this prop by value, and a move to the same prefix does nothing. | [play-router/src/provider-lifecycle.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L89) |
|
|
31
|
-
| <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `TNode` | The renderer callback receives the same concrete actor type as the prop. | [play-router/src/provider-lifecycle.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L91) |
|
|
32
|
-
| <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | The route map of both directions, for the lookup between a state ID and a URL path. **It must be a stable reference.** The provider builds the bridge again on each change of the identity of `routeMap`. A value in the JSX, for example `createRouteMapFromTree(routeTree)`, makes a new object on every render, and the bridge therefore connects again on every render. Hold the value with `useMemo`: `const routeMap = useMemo(() => createRouteMapFromTree(routeTree), [routeTree]);` | [play-router/src/provider-lifecycle.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L57) |
|
|
33
|
-
| <a id="property-router"></a> `router` | `TRouter` | The router instance that the bridge keeps in step with the actor. It must be a stable reference. | [play-router/src/provider-lifecycle.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L44) |
|