@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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const ActorContext: Context<AnyPlayActor | null>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/src/useActor.ts:
|
|
9
|
+
Defined in: [packages/play-solid/src/useActor.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid/src/useActor.ts#L45)
|
|
10
10
|
|
|
11
11
|
The SolidJS context of the actor. This package exports it, so that a consumer
|
|
12
12
|
can use ActorContext.Provider directly for a custom composition (see D-11). The
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
const ActorProvider: Component<ActorProviderProps>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/src/ActorProvider.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/src/ActorProvider.tsx:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid/src/ActorProvider.tsx#L225)
|
|
10
10
|
|
|
11
|
-
The ActorProvider component. It owns the actor bridge, the
|
|
11
|
+
The ActorProvider component. It owns the actor bridge, the atom subscription, the
|
|
12
12
|
StateStore lifecycle, the resolution of the handlers, and the error boundary.
|
|
13
13
|
|
|
14
14
|
D-11: this component replaces the old raw alias
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const PlayRenderer: Component;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/src/PlayRenderer.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [packages/play-solid/src/PlayRenderer.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid/src/PlayRenderer.tsx#L30)
|
|
10
10
|
|
|
11
11
|
The leaf renderer without props. Put it inside an ActorProvider tree or a
|
|
12
12
|
PlayUIProvider tree.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const PlayUIProvider: Component<PlayUIProviderProps>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/src/PlayUIProvider.tsx:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [packages/play-solid/src/PlayUIProvider.tsx:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid/src/PlayUIProvider.tsx#L84)
|
|
10
10
|
|
|
11
11
|
The composite provider: ActorProvider and JSONUIProvider.
|
|
12
12
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-solid](../README.md) / schema
|
|
2
|
+
|
|
3
|
+
# Variable: schema
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
const schema: _json_render_core.Schema<{
|
|
7
|
+
catalog: _json_render_core.SchemaType<
|
|
8
|
+
"object",
|
|
9
|
+
{
|
|
10
|
+
actions: _json_render_core.SchemaType<
|
|
11
|
+
"map",
|
|
12
|
+
{
|
|
13
|
+
description: _json_render_core.SchemaType<"string", unknown>;
|
|
14
|
+
params: _json_render_core.SchemaType<"zod", unknown>;
|
|
15
|
+
}
|
|
16
|
+
>;
|
|
17
|
+
components: _json_render_core.SchemaType<
|
|
18
|
+
"map",
|
|
19
|
+
{
|
|
20
|
+
description: _json_render_core.SchemaType<"string", unknown>;
|
|
21
|
+
example: _json_render_core.SchemaType<"any", unknown>;
|
|
22
|
+
props: _json_render_core.SchemaType<"zod", unknown>;
|
|
23
|
+
slots: _json_render_core.SchemaType<
|
|
24
|
+
"array",
|
|
25
|
+
_json_render_core.SchemaType<"string", unknown>
|
|
26
|
+
>;
|
|
27
|
+
}
|
|
28
|
+
>;
|
|
29
|
+
}
|
|
30
|
+
>;
|
|
31
|
+
spec: _json_render_core.SchemaType<
|
|
32
|
+
"object",
|
|
33
|
+
{
|
|
34
|
+
elements: _json_render_core.SchemaType<
|
|
35
|
+
"record",
|
|
36
|
+
_json_render_core.SchemaType<
|
|
37
|
+
"object",
|
|
38
|
+
{
|
|
39
|
+
children: _json_render_core.SchemaType<
|
|
40
|
+
"array",
|
|
41
|
+
_json_render_core.SchemaType<"string", unknown>
|
|
42
|
+
>;
|
|
43
|
+
props: _json_render_core.SchemaType<"propsOf", string>;
|
|
44
|
+
repeat: {
|
|
45
|
+
inner?: unknown;
|
|
46
|
+
kind: "any";
|
|
47
|
+
optional: true;
|
|
48
|
+
};
|
|
49
|
+
type: _json_render_core.SchemaType<"ref", string>;
|
|
50
|
+
visible: {
|
|
51
|
+
inner?: unknown;
|
|
52
|
+
kind: "any";
|
|
53
|
+
optional: true;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
>
|
|
57
|
+
>;
|
|
58
|
+
root: _json_render_core.SchemaType<"string", unknown>;
|
|
59
|
+
}
|
|
60
|
+
>;
|
|
61
|
+
}>;
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Defined in: `@xmachines/json-render-solid`
|
|
65
|
+
|
|
66
|
+
The schema for @xmachines/json-render-solid
|
|
67
|
+
|
|
68
|
+
Defines:
|
|
69
|
+
|
|
70
|
+
- Spec: A flat tree of elements with keys, types, props, and children references
|
|
71
|
+
- Catalog: Components with props schemas, and optional actions
|
|
@@ -4,34 +4,36 @@
|
|
|
4
4
|
|
|
5
5
|
SolidJS Router adapter for the XMachines Universal Player Architecture. It keeps the state machine routes of a `PlayerActor` and the browser URL in step, in both directions, through `@solidjs/router`.
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-solid-router)
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
pnpm add @xmachines/play-solid-router
|
|
12
|
+
pnpm add @xmachines/play-solid-router @xmachines/play-router
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
**Peer dependencies.** Install them separately:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
pnpm add solid-js @solidjs/router
|
|
18
|
+
pnpm add solid-js @solidjs/router
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
- `solid-js` `^1.8.0`
|
|
22
|
-
- `@solidjs/router` `^0.16.1`
|
|
23
|
-
- `xstate` `^5.31.0`
|
|
22
|
+
- `@solidjs/router` `^0.16.1` or `^1.0.0`
|
|
24
23
|
|
|
25
24
|
## Quick Start
|
|
26
25
|
|
|
27
26
|
```tsx
|
|
28
27
|
import { Router, Route, useNavigate, useLocation, useParams } from "@solidjs/router";
|
|
29
28
|
import { onCleanup, type ParentComponent } from "solid-js";
|
|
30
|
-
import { PlayRouterProvider
|
|
31
|
-
import {
|
|
29
|
+
import { PlayRouterProvider } from "@xmachines/play-solid-router";
|
|
30
|
+
import { createRouteMap } from "@xmachines/play-router/xstate";
|
|
31
|
+
import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
|
|
32
|
+
import { withRouting } from "@xmachines/play-xstate/routing";
|
|
32
33
|
import { myMachine } from "./machine.js";
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
// PlayRouterProvider needs the routing capability
|
|
36
|
+
const actor = definePlayer({ machine: myMachine, actor: compose(PlayerActor, withRouting) })();
|
|
35
37
|
actor.start();
|
|
36
38
|
|
|
37
39
|
const routeMap = createRouteMap(myMachine);
|
|
@@ -69,7 +71,7 @@ export default function App() {
|
|
|
69
71
|
This SolidJS component connects a `PlayerActor` to Solid Router. It creates and connects a `SolidRouterBridge` on mount. It disconnects the bridge with `onCleanup` on unmount.
|
|
70
72
|
|
|
71
73
|
```tsx
|
|
72
|
-
interface PlayRouterProviderProps<TActor extends
|
|
74
|
+
interface PlayRouterProviderProps<TActor extends RoutableActor> {
|
|
73
75
|
/** The actor to sync with Solid Router. */
|
|
74
76
|
actor: TActor;
|
|
75
77
|
/** Bidirectional route map for state ID ↔ URL path lookups. */
|
|
@@ -87,9 +89,9 @@ interface PlayRouterProviderProps<TActor extends PlayActor> {
|
|
|
87
89
|
|
|
88
90
|
### `SolidRouterBridge`
|
|
89
91
|
|
|
90
|
-
The low-level class for a manual integration. It extends `RouterBridgeBase` from `@xmachines/play-router
|
|
92
|
+
The low-level class for a manual integration. It extends `RouterBridgeBase` from [`@xmachines/play-router`](../play-router/README.md). It uses the Solid `createEffect` to send each router change to the actor.
|
|
91
93
|
|
|
92
|
-
> **Important:** call `connect()` inside a Solid reactive owner: a component, or `createRoot`. The bridge does not clean up by itself. Call `disconnect()`
|
|
94
|
+
> **Important:** call `connect()` inside a Solid reactive owner: a component, or `createRoot`. The bridge does not clean up by itself. Call `disconnect()` yourself, usually in `onCleanup()`.
|
|
93
95
|
|
|
94
96
|
```tsx
|
|
95
97
|
import { useNavigate, useLocation, useParams } from "@solidjs/router";
|
|
@@ -116,19 +118,18 @@ function App() {
|
|
|
116
118
|
}
|
|
117
119
|
```
|
|
118
120
|
|
|
119
|
-
### `createRouteMap(machine)`
|
|
121
|
+
### `createRouteMap(machine)` — from `@xmachines/play-router/xstate`
|
|
120
122
|
|
|
121
|
-
This factory builds a `RouteMap` directly from an XState machine definition.
|
|
123
|
+
This factory builds a `RouteMap` directly from an XState machine definition. This package re-exports it never: the barrel names no state machine.
|
|
122
124
|
|
|
123
125
|
```ts
|
|
124
|
-
import { createRouteMap } from "@xmachines/play-
|
|
125
|
-
|
|
126
|
+
import { createRouteMap } from "@xmachines/play-router/xstate";
|
|
126
127
|
const routeMap = createRouteMap(myMachine);
|
|
127
128
|
```
|
|
128
129
|
|
|
129
130
|
### `RouteMap` / `RouteMapping`
|
|
130
131
|
|
|
131
|
-
The bidirectional map between the state IDs and the URL paths. It comes from `@xmachines/play-router
|
|
132
|
+
The bidirectional map between the state IDs and the URL paths. It comes from [`@xmachines/play-router`](../play-router/README.md).
|
|
132
133
|
|
|
133
134
|
```ts
|
|
134
135
|
import { RouteMap } from "@xmachines/play-solid-router";
|
|
@@ -142,16 +143,15 @@ const routeMap = new RouteMap([
|
|
|
142
143
|
|
|
143
144
|
### Types
|
|
144
145
|
|
|
145
|
-
| Export | Description
|
|
146
|
-
| ------------------------- |
|
|
147
|
-
| `
|
|
148
|
-
| `
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `RouteMapOptions` | The options object for the `RouteMap` constructor. It comes from `@xmachines/play-router`. |
|
|
146
|
+
| Export | Description |
|
|
147
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
148
|
+
| `RoutableActor` | `currentRoute`, `initialRoute` and `send`, from [`@xmachines/play-router`](../play-router/README.md). It names no view and no engine: routing implies no rendering. `PlayRouterProvider` constrains its actor to this shape, and a constraint keeps the concrete type whole, so a renderer callback that reads `currentView` still reports the exact spec of that actor. |
|
|
149
|
+
| `PlayActor` | It comes from [`@xmachines/play-actor`](../play-actor/README.md). Use it for the type of a renderer callback. |
|
|
150
|
+
| `SolidRouterHooks` | Shape of the `router` prop: `{ navigate, location, params }` |
|
|
151
|
+
| `PlayRouterProviderProps` | Full props interface for `PlayRouterProvider` |
|
|
152
|
+
| `PlayRouteEvent` | The event type that the bridge sends to the actor on a URL change (`play.route`) |
|
|
153
|
+
| `RouterBridge` | The interface that `SolidRouterBridge` implements |
|
|
154
|
+
| `RouteMapOptions` | The options object for the `RouteMap` constructor. It comes from [`@xmachines/play-router`](../play-router/README.md). |
|
|
155
155
|
|
|
156
156
|
## Usage Patterns
|
|
157
157
|
|
|
@@ -178,7 +178,7 @@ A user navigates to `/dashboard`, and the user is not authenticated:
|
|
|
178
178
|
1. Solid Router updates the URL.
|
|
179
179
|
2. The bridge receives the change and sends `play.route` to the actor.
|
|
180
180
|
3. The actor evaluates the guard. The guard refuses the transition, and the actor moves to `login`.
|
|
181
|
-
4. The bridge reads the new actor route (`/login`) from the
|
|
181
|
+
4. The bridge reads the new actor route (`/login`) from the atom.
|
|
182
182
|
5. The bridge calls `navigate("/login")`.
|
|
183
183
|
|
|
184
184
|
### Dynamic Routes with Parameters
|
|
@@ -193,11 +193,12 @@ const routeMap = new RouteMap([
|
|
|
193
193
|
// { type: "play.route", to: "#post", params: { userId: "123", postId: "456" }, query: {} }
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
> **
|
|
197
|
-
> that holds one parameterized route compiles it in the CONSTRUCTOR, and it throws
|
|
198
|
-
> `
|
|
199
|
-
>
|
|
200
|
-
>
|
|
196
|
+
> **A bad pattern is a question of the route map, and not of this bridge.** A `RouteMap`
|
|
197
|
+
> that holds one parameterized route compiles it in the CONSTRUCTOR, and it throws an
|
|
198
|
+
> `InvalidRoutePatternError` there for a pattern that URLPattern refuses. Such a route
|
|
199
|
+
> therefore fails at startup, whatever this bridge does. You install no polyfill:
|
|
200
|
+
> [`@xmachines/play-router`](../play-router/README.md) carries `urlpattern-polyfill` as an ordinary dependency and it
|
|
201
|
+
> uses the native API when the runtime has one.
|
|
201
202
|
|
|
202
203
|
What follows is about the CALLS that a navigation makes, which cost time and which the
|
|
203
204
|
bridge avoids where the path already answers.
|
|
@@ -211,26 +212,6 @@ Two cases still read the params with URLPattern:
|
|
|
211
212
|
|
|
212
213
|
A path that fills NO optional segment reaches URLPattern never. `/settings` against `/settings/:section?` is the bare form of the pattern, so the params are `{}` and the bridge reads that from the path alone.
|
|
213
214
|
|
|
214
|
-
## Testing
|
|
215
|
-
|
|
216
|
-
Run tests for this package in isolation:
|
|
217
|
-
|
|
218
|
-
```bash
|
|
219
|
-
# From the monorepo root
|
|
220
|
-
pnpm --filter @xmachines/play-solid-router test
|
|
221
|
-
|
|
222
|
-
# Or from this package directory
|
|
223
|
-
pnpm test
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
**Browser tests** (`test/browser/**/*.browser.test.ts`) run in real Chromium through Playwright. They cover the asynchronous sequences that jsdom cannot reproduce:
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
pnpm exec vitest --config vitest.browser.config.ts --project play-solid-router-browser
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Coverage thresholds: **80%** lines, functions, branches, and statements.
|
|
233
|
-
|
|
234
215
|
## Related Packages
|
|
235
216
|
|
|
236
217
|
- [@xmachines/play-router](../play-router/README.md) — core router primitives and `RouterBridgeBase`
|
|
@@ -253,10 +234,10 @@ MIT — see [LICENSE](LICENSE).
|
|
|
253
234
|
|
|
254
235
|
## Interfaces
|
|
255
236
|
|
|
256
|
-
- [AbstractActor](interfaces/AbstractActor.md)
|
|
257
237
|
- [PlayActor](interfaces/PlayActor.md)
|
|
258
238
|
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
259
239
|
- [PlayRouterProviderProps](interfaces/PlayRouterProviderProps.md)
|
|
240
|
+
- [RoutableActor](interfaces/RoutableActor.md)
|
|
260
241
|
- [RouteMapOptions](interfaces/RouteMapOptions.md)
|
|
261
242
|
- [RouteMapping](interfaces/RouteMapping.md)
|
|
262
243
|
- [RouterBridge](interfaces/RouterBridge.md)
|
|
@@ -265,7 +246,6 @@ MIT — see [LICENSE](LICENSE).
|
|
|
265
246
|
|
|
266
247
|
- [PlayRouterBridgeConstructor](type-aliases/PlayRouterBridgeConstructor.md)
|
|
267
248
|
- [PlayRouterProviderBaseProps](type-aliases/PlayRouterProviderBaseProps.md)
|
|
268
|
-
- [~~RoutableActor~~](type-aliases/RoutableActor.md)
|
|
269
249
|
- [SolidRouterHooks](type-aliases/SolidRouterHooks.md)
|
|
270
250
|
|
|
271
251
|
## Variables
|
|
@@ -275,4 +255,3 @@ MIT — see [LICENSE](LICENSE).
|
|
|
275
255
|
## Functions
|
|
276
256
|
|
|
277
257
|
- [createPlayRouterProvider](functions/createPlayRouterProvider.md)
|
|
278
|
-
- [createRouteMap](functions/createRouteMap.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [
|
|
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: [
|
|
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: [
|
|
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: [
|
|
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
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: SolidRouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [
|
|
5
|
+
Defined in: [play-solid-router/src/solid-router-bridge.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid-router/src/solid-router-bridge.ts#L73)
|
|
6
6
|
|
|
7
7
|
The SolidJS Router integration bridge. It extends RouterBridgeBase
|
|
8
8
|
|
|
9
9
|
The class implements the RouterBridge protocol for SolidJS Router with the
|
|
10
|
-
reactive primitives of Solid. The actor-to-router direction uses the
|
|
10
|
+
reactive primitives of Solid. The actor-to-router direction uses the atom
|
|
11
11
|
watcher of the base class. The router-to-actor direction uses the Solid
|
|
12
12
|
createEffect function for a native reactivity.
|
|
13
13
|
|
|
@@ -17,14 +17,16 @@ it. Two cases still reach it: a bridge under a `basePath`, where Solid matched a
|
|
|
17
17
|
of the HOST and its params describe the route of the machine never, and a location
|
|
18
18
|
that fills a segment of the pattern while Solid reports none of its names.
|
|
19
19
|
|
|
20
|
-
This is about the CALLS, and not about the
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
bridge does.
|
|
20
|
+
This is about the CALLS that a navigation makes, and not about the availability of the
|
|
21
|
+
API. `@xmachines/play-router` carries `urlpattern-polyfill` as an ordinary dependency
|
|
22
|
+
and it uses the native URLPattern when the runtime has one, so the API is present
|
|
23
|
+
whatever this bridge does. A BAD pattern is a question of the route map: `RouteMap`
|
|
24
|
+
compiles each parameterized route in its constructor and throws an
|
|
25
|
+
`InvalidRoutePatternError` there. See the `extractParams` override of this class.
|
|
24
26
|
|
|
25
27
|
## Extends
|
|
26
28
|
|
|
27
|
-
- [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md)
|
|
29
|
+
- [`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md)
|
|
28
30
|
|
|
29
31
|
## Constructors
|
|
30
32
|
|
|
@@ -37,10 +39,11 @@ new SolidRouterBridge(
|
|
|
37
39
|
params,
|
|
38
40
|
actor,
|
|
39
41
|
routeMap,
|
|
40
|
-
options?
|
|
42
|
+
options?
|
|
43
|
+
): SolidRouterBridge;
|
|
41
44
|
```
|
|
42
45
|
|
|
43
|
-
Defined in: [
|
|
46
|
+
Defined in: [play-solid-router/src/solid-router-bridge.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-solid-router/src/solid-router-bridge.ts#L96)
|
|
44
47
|
|
|
45
48
|
Creates a SolidJS Router bridge
|
|
46
49
|
|
|
@@ -48,14 +51,14 @@ Creates a SolidJS Router bridge
|
|
|
48
51
|
|
|
49
52
|
#### Parameters
|
|
50
53
|
|
|
51
|
-
| Parameter | Type
|
|
52
|
-
| --------------- |
|
|
53
|
-
| `solidNavigate` | `Navigator`
|
|
54
|
-
| `location` | [`LocationLike`](../../play-router/interfaces/LocationLike.md)
|
|
55
|
-
| `params` | `Params`
|
|
56
|
-
| `actor` | [`RoutableActor`](
|
|
57
|
-
| `routeMap` | [`RouteMap`](RouteMap.md)
|
|
58
|
-
| `options?` | [`
|
|
54
|
+
| Parameter | Type | Description |
|
|
55
|
+
| --------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
56
|
+
| `solidNavigate` | `Navigator` | The result of the useNavigate() hook |
|
|
57
|
+
| `location` | [`LocationLike`](../../play-router/index/interfaces/LocationLike.md) | The result of the useLocation() hook |
|
|
58
|
+
| `params` | `Params` | The result of the useParams() hook. The bridge reads each path parameter directly from it. A parameterized route therefore runs no URLPattern match of its own |
|
|
59
|
+
| `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) | The XMachines actor instance |
|
|
60
|
+
| `routeMap` | [`RouteMap`](RouteMap.md) | The bidirectional map between the state IDs and the paths |
|
|
61
|
+
| `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | - |
|
|
59
62
|
|
|
60
63
|
#### Returns
|
|
61
64
|
|
|
@@ -63,7 +66,7 @@ Creates a SolidJS Router bridge
|
|
|
63
66
|
|
|
64
67
|
#### Overrides
|
|
65
68
|
|
|
66
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
|
|
69
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`constructor`](../../play-router/index/classes/RouterBridgeBase.md#constructor)
|
|
67
70
|
|
|
68
71
|
## Accessors
|
|
69
72
|
|
|
@@ -75,7 +78,7 @@ Creates a SolidJS Router bridge
|
|
|
75
78
|
get basePath(): string;
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
Defined in: [
|
|
81
|
+
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)
|
|
79
82
|
|
|
80
83
|
The resolved URL prefix that the machine of this bridge is mounted under, or `""`
|
|
81
84
|
when the machine owns the complete router.
|
|
@@ -88,7 +91,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
|
|
|
88
91
|
|
|
89
92
|
#### Inherited from
|
|
90
93
|
|
|
91
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePath`](../../play-router/classes/RouterBridgeBase.md#basepath)
|
|
94
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePath`](../../play-router/index/classes/RouterBridgeBase.md#basepath)
|
|
92
95
|
|
|
93
96
|
---
|
|
94
97
|
|
|
@@ -100,7 +103,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
|
|
|
100
103
|
get basePathParams(): Readonly<Record<string, string>>;
|
|
101
104
|
```
|
|
102
105
|
|
|
103
|
-
Defined in: [
|
|
106
|
+
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)
|
|
104
107
|
|
|
105
108
|
The resolved values of the `:param` segments of the mount, or `{}` for a prefix
|
|
106
109
|
without a param.
|
|
@@ -141,7 +144,7 @@ mount while the machine stays on the same route, and no event goes out.
|
|
|
141
144
|
|
|
142
145
|
#### Inherited from
|
|
143
146
|
|
|
144
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/classes/RouterBridgeBase.md#basepathparams)
|
|
147
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/index/classes/RouterBridgeBase.md#basepathparams)
|
|
145
148
|
|
|
146
149
|
## Methods
|
|
147
150
|
|
|
@@ -151,11 +154,11 @@ mount while the machine stays on the same route, and no event goes out.
|
|
|
151
154
|
connect(): void;
|
|
152
155
|
```
|
|
153
156
|
|
|
154
|
-
Defined in: [
|
|
157
|
+
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)
|
|
155
158
|
|
|
156
159
|
Connects the router bridge to the Actor.
|
|
157
160
|
|
|
158
|
-
The method installs the
|
|
161
|
+
The method installs the atom watcher of the direction from the actor to the
|
|
159
162
|
router. It then starts the watch of the router changes, which each framework does
|
|
160
163
|
in its own way.
|
|
161
164
|
|
|
@@ -175,7 +178,7 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
175
178
|
|
|
176
179
|
#### Inherited from
|
|
177
180
|
|
|
178
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`connect`](../../play-router/classes/RouterBridgeBase.md#connect)
|
|
181
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`connect`](../../play-router/index/classes/RouterBridgeBase.md#connect)
|
|
179
182
|
|
|
180
183
|
---
|
|
181
184
|
|
|
@@ -185,11 +188,11 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
185
188
|
disconnect(): void;
|
|
186
189
|
```
|
|
187
190
|
|
|
188
|
-
Defined in: [
|
|
191
|
+
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)
|
|
189
192
|
|
|
190
193
|
Disconnects the router bridge from the Actor.
|
|
191
194
|
|
|
192
|
-
The method stops the watch of the
|
|
195
|
+
The method stops the watch of the atom, and it removes the router listener of the
|
|
193
196
|
framework.
|
|
194
197
|
|
|
195
198
|
#### Returns
|
|
@@ -198,33 +201,7 @@ framework.
|
|
|
198
201
|
|
|
199
202
|
#### Inherited from
|
|
200
203
|
|
|
201
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
### ~~dispose()~~
|
|
206
|
-
|
|
207
|
-
```ts
|
|
208
|
-
dispose(): void;
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:256](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-solid-router/src/solid-router-bridge.ts#L256)
|
|
212
|
-
|
|
213
|
-
Disposes of the bridge. This method is the alias of disconnect.
|
|
214
|
-
|
|
215
|
-
#### Returns
|
|
216
|
-
|
|
217
|
-
`void`
|
|
218
|
-
|
|
219
|
-
#### Example
|
|
220
|
-
|
|
221
|
-
```tsx
|
|
222
|
-
onCleanup(() => bridge.dispose());
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
#### Deprecated
|
|
226
|
-
|
|
227
|
-
Use [disconnect](#disconnect). Will be removed in the next major.
|
|
204
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/index/classes/RouterBridgeBase.md#disconnect)
|
|
228
205
|
|
|
229
206
|
---
|
|
230
207
|
|
|
@@ -234,7 +211,7 @@ Use [disconnect](#disconnect). Will be removed in the next major.
|
|
|
234
211
|
setBasePath(basePath?, basePathParams?): void;
|
|
235
212
|
```
|
|
236
213
|
|
|
237
|
-
Defined in: [
|
|
214
|
+
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)
|
|
238
215
|
|
|
239
216
|
Moves the machine to a different mount point, while it stays connected.
|
|
240
217
|
|
|
@@ -286,4 +263,4 @@ bridge.setBasePath("/:region/:machineId/play", { region: "us", machineId });
|
|
|
286
263
|
|
|
287
264
|
#### Inherited from
|
|
288
265
|
|
|
289
|
-
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/classes/RouterBridgeBase.md#setbasepath)
|
|
266
|
+
[`RouterBridgeBase`](../../play-router/index/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/index/classes/RouterBridgeBase.md#setbasepath)
|