@xmachines/docs 2.1.0 → 2.2.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 +2 -2
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/classes/PlayError.md +4 -4
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +1 -1
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
- package/api/@xmachines/play-actor/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-actor/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-actor/functions/reuseComposedState.md +1 -1
- package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +3 -3
- package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +4 -4
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-dom/README.md +1 -1
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +2 -2
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +3 -1
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +149 -7
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +6 -5
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +12 -6
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +76 -0
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- 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-router/README.md +2 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +172 -15
- package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +7 -18
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +10 -8
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +297 -11
- package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +178 -19
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/cleanFrameworkParams.md +40 -0
- package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouterConnection.md +21 -0
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getPatternParamNames.md +24 -0
- package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +36 -0
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRouteMappings.md +67 -0
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/isMountableBridge.md +26 -0
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/joinBasePath.md +37 -0
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/mountKey.md +28 -0
- package/api/@xmachines/play-router/functions/normalizeBasePath.md +43 -0
- package/api/@xmachines/play-router/functions/openProviderBridge.md +41 -0
- package/api/@xmachines/play-router/functions/pickOwnParams.md +41 -0
- package/api/@xmachines/play-router/functions/repointProviderBridge.md +27 -0
- package/api/@xmachines/play-router/functions/resolveBasePath.md +51 -0
- package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +51 -0
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/stripBasePath.md +44 -0
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +47 -0
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/MountableRouterBridge.md +130 -0
- package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +28 -0
- package/api/@xmachines/play-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +33 -0
- package/api/@xmachines/play-router/interfaces/ResolvedBasePath.md +14 -0
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +3 -3
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +7 -3
- package/api/@xmachines/play-router/interfaces/RouterConnection.md +76 -0
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +1 -1
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +36 -0
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/variables/NO_BASE_PATH.md +18 -0
- package/api/@xmachines/play-signals/README.md +1 -1
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- 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 +8 -8
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- 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-router/README.md +19 -3
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +166 -18
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +8 -18
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -12
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- 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 +1 -1
- 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 +8 -8
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/README.md +3 -1
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +148 -6
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +12 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +76 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/README.md +3 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +148 -6
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +3 -3
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +32 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +28 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +76 -0
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +3 -2
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +148 -6
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +7 -18
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +10 -8
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +59 -11
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +19 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +153 -11
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +59 -11
- package/api/@xmachines/play-tanstack-solid-router/README.md +3 -2
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +149 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +7 -17
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +10 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +15 -9
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +26 -0
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +59 -11
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-vue/README.md +1 -1
- 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 +5 -5
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- 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/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +1 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +154 -12
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +25 -2
- package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +1 -1
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +16 -16
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +7 -7
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- 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 +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/contributing/configuration.md +1 -1
- package/contributing/development.md +16 -16
- package/contributing/testing.md +31 -4
- package/examples/README.md +1 -1
- package/examples/multi-router-integration.md +126 -1
- package/examples/routing-patterns.md +1 -1
- package/guides/inspector.md +1 -1
- package/package.json +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -30
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +0 -32
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +0 -31
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type TanStackRouterLike = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
9
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L39)
|
|
10
10
|
|
|
11
11
|
The type-only interface of the TanStack Router surface that
|
|
12
12
|
`TanStackRouterBridgeBase` uses. An instance of `@tanstack/react-router` and an
|
|
@@ -20,7 +20,7 @@ instance of `@tanstack/solid-router` both satisfy it.
|
|
|
20
20
|
history: object;
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
23
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L72)
|
|
24
24
|
|
|
25
25
|
#### location
|
|
26
26
|
|
|
@@ -61,6 +61,40 @@ subscribe(handler): () => void;
|
|
|
61
61
|
|
|
62
62
|
() => `void`
|
|
63
63
|
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### options?
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
optional options?: object;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L58)
|
|
73
|
+
|
|
74
|
+
The options of the router. The bridge reads `parseSearch` only.
|
|
75
|
+
|
|
76
|
+
TanStack owns the encoding of a query: its default `stringifySearch` writes each
|
|
77
|
+
value through `JSON.stringify`, so a plain string arrives in the URL with quotes
|
|
78
|
+
around it. `parseSearch` is the inverse, and it is therefore the only correct way
|
|
79
|
+
to turn a query string of the URL into the `search` object that `navigate`
|
|
80
|
+
accepts. A router double may hold neither.
|
|
81
|
+
|
|
82
|
+
#### parseSearch()?
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
optional parseSearch(search): Record<string, unknown>;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
##### Parameters
|
|
89
|
+
|
|
90
|
+
| Parameter | Type |
|
|
91
|
+
| --------- | -------- |
|
|
92
|
+
| `search` | `string` |
|
|
93
|
+
|
|
94
|
+
##### Returns
|
|
95
|
+
|
|
96
|
+
`Record`\<`string`, `unknown`\>
|
|
97
|
+
|
|
64
98
|
## Methods
|
|
65
99
|
|
|
66
100
|
### load()?
|
|
@@ -69,12 +103,18 @@ subscribe(handler): () => void;
|
|
|
69
103
|
optional load(): void | Promise<void>;
|
|
70
104
|
```
|
|
71
105
|
|
|
72
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
106
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L71)
|
|
73
107
|
|
|
74
108
|
Runs the TanStack route matching and the loaders again for the current location.
|
|
75
|
-
This method is optional. The bridge calls it after every navigation
|
|
76
|
-
|
|
77
|
-
|
|
109
|
+
This method is optional. The bridge calls it after every navigation. The matching
|
|
110
|
+
and the loaders therefore stay correct, also when no `<RouterProvider>` is
|
|
111
|
+
mounted.
|
|
112
|
+
|
|
113
|
+
The real implementation returns a promise. `watchRouterChanges` waits for that
|
|
114
|
+
promise before it synchronizes the actor, because `router.load()` is the only
|
|
115
|
+
public point that also runs `router.updateLatestLocation()`. See
|
|
116
|
+
`watchRouterChanges` for the reason. A test double may return `void`, and the
|
|
117
|
+
bridge then synchronizes synchronously.
|
|
78
118
|
|
|
79
119
|
#### Returns
|
|
80
120
|
|
|
@@ -88,14 +128,22 @@ also when no `<RouterProvider>` is mounted.
|
|
|
88
128
|
navigate(args): void;
|
|
89
129
|
```
|
|
90
130
|
|
|
91
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
131
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L48)
|
|
132
|
+
|
|
133
|
+
Navigates to a location. `search` carries the query of the target.
|
|
134
|
+
|
|
135
|
+
The bridge passes `search` whenever the route of the actor holds a query. A
|
|
136
|
+
`navigate({ to })` call with no `search` makes TanStack rebuild the query from
|
|
137
|
+
`validateSearch({})` of the matched route, and a route that injects a default
|
|
138
|
+
then commits a different href than the bridge asked for.
|
|
92
139
|
|
|
93
140
|
#### Parameters
|
|
94
141
|
|
|
95
|
-
| Parameter
|
|
96
|
-
|
|
|
97
|
-
| `args`
|
|
98
|
-
| `args.
|
|
142
|
+
| Parameter | Type |
|
|
143
|
+
| -------------- | ----------------------------------------------------------------- |
|
|
144
|
+
| `args` | \{ `search?`: `Record`\<`string`, `unknown`\>; `to`: `string`; \} |
|
|
145
|
+
| `args.search?` | `Record`\<`string`, `unknown`\> |
|
|
146
|
+
| `args.to` | `string` |
|
|
99
147
|
|
|
100
148
|
#### Returns
|
|
101
149
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const PlayRouterProvider: <TActor>(__namedParameters) => Element;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
9
|
+
Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-react-router/src/play-router-provider.tsx#L60)
|
|
10
10
|
|
|
11
11
|
Connects a `PlayerActor` to TanStack React Router. It keeps the actor state and the
|
|
12
12
|
browser URL in step, in both directions.
|
|
@@ -26,9 +26,9 @@ connect), and the bridge supports this.
|
|
|
26
26
|
|
|
27
27
|
## Parameters
|
|
28
28
|
|
|
29
|
-
| Parameter | Type
|
|
30
|
-
| ------------------- |
|
|
31
|
-
| `__namedParameters` | [`PlayRouterProviderBaseProps`](../
|
|
29
|
+
| Parameter | Type |
|
|
30
|
+
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| `__namedParameters` | [`PlayRouterProviderBaseProps`](../type-aliases/PlayRouterProviderBaseProps.md)\<[`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md), `TActor`\> |
|
|
32
32
|
|
|
33
33
|
## Returns
|
|
34
34
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Shared, framework-agnostic TanStack Router bridge base for XMachines Play.
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-tanstack-router)
|
|
8
8
|
|
|
9
9
|
TanStack Router gives React and Solid the same `navigate`, `load`, and `history`
|
|
10
10
|
surface. Therefore the complete bridge implementation lives here, in
|
|
@@ -53,6 +53,24 @@ bridge.connect();
|
|
|
53
53
|
bridge.disconnect();
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
## Corrective navigation and a mounted `<RouterProvider>`
|
|
57
|
+
|
|
58
|
+
The bridge subscribes to `router.history`, and it calls `router.load()` for every
|
|
59
|
+
history event. The bridge waits for that `load()` promise before it synchronizes
|
|
60
|
+
the actor. The wait is necessary for a mounted `<RouterProvider>`: its
|
|
61
|
+
`Transitioner` component defers `router.updateLatestLocation()` into the
|
|
62
|
+
`startTransition` of the framework. Without the wait, `router.latestLocation`
|
|
63
|
+
still holds the previous href while the bridge runs. A corrective navigation for a
|
|
64
|
+
refused URL then looks like a navigation to the same URL, and `commitLocation` of
|
|
65
|
+
TanStack writes nothing to the browser history. The refused URL then stays in the
|
|
66
|
+
address bar. With the wait, `router.latestLocation` is current, and the correction
|
|
67
|
+
reaches the history. The bridge therefore works with a mounted `<RouterProvider>`
|
|
68
|
+
and also without one.
|
|
69
|
+
|
|
70
|
+
A burst of history events keeps its order: each event takes a sequence number, and
|
|
71
|
+
a deferred synchronization runs only while its number is still the newest one. A
|
|
72
|
+
`disconnect()` call retires every synchronization that still waits.
|
|
73
|
+
|
|
56
74
|
## Exports
|
|
57
75
|
|
|
58
76
|
- `TanStackRouterBridgeBase` — the concrete bridge base class. Use it directly, or make a subclass of it
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: TanStackRouterBridgeBase
|
|
4
4
|
|
|
5
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
5
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L133)
|
|
6
6
|
|
|
7
7
|
The shared TanStack Router adapter. It implements the RouterBridge protocol through RouterBridgeBase
|
|
8
8
|
|
|
@@ -55,20 +55,22 @@ return () => bridge.disconnect();
|
|
|
55
55
|
new TanStackRouterBridgeBase(
|
|
56
56
|
router,
|
|
57
57
|
actor,
|
|
58
|
-
routeMap
|
|
58
|
+
routeMap,
|
|
59
|
+
options?): TanStackRouterBridgeBase;
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
62
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L151)
|
|
62
63
|
|
|
63
64
|
Creates a TanStack Router bridge
|
|
64
65
|
|
|
65
66
|
#### Parameters
|
|
66
67
|
|
|
67
|
-
| Parameter | Type
|
|
68
|
-
| ---------- |
|
|
69
|
-
| `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md)
|
|
70
|
-
| `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md)
|
|
71
|
-
| `routeMap` | [`TanStackRouteMapLike`](../type-aliases/TanStackRouteMapLike.md)
|
|
68
|
+
| Parameter | Type | Description |
|
|
69
|
+
| ---------- | ------------------------------------------------------------------------ | --------------------------------------------------------- |
|
|
70
|
+
| `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md) | The TanStack Router instance from `createRouter` |
|
|
71
|
+
| `actor` | [`RoutableActor`](../../play-dom-router/interfaces/RoutableActor.md) | The XMachines actor instance |
|
|
72
|
+
| `routeMap` | [`TanStackRouteMapLike`](../type-aliases/TanStackRouteMapLike.md) | The bidirectional map between the state IDs and the paths |
|
|
73
|
+
| `options?` | [`BasePathOptions`](../../play-dom-router/interfaces/BasePathOptions.md) | - |
|
|
72
74
|
|
|
73
75
|
#### Returns
|
|
74
76
|
|
|
@@ -78,6 +80,84 @@ Creates a TanStack Router bridge
|
|
|
78
80
|
|
|
79
81
|
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
|
|
80
82
|
|
|
83
|
+
## Accessors
|
|
84
|
+
|
|
85
|
+
### basePath
|
|
86
|
+
|
|
87
|
+
#### Get Signature
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
get basePath(): string;
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Defined in: play-router/dist/router-bridge-base.d.ts:195
|
|
94
|
+
|
|
95
|
+
The resolved URL prefix that the machine of this bridge is mounted under, or `""`
|
|
96
|
+
when the machine owns the complete router.
|
|
97
|
+
|
|
98
|
+
##### Returns
|
|
99
|
+
|
|
100
|
+
`string`
|
|
101
|
+
|
|
102
|
+
The resolved URL prefix of the mount, or `""` when the machine owns the complete router.
|
|
103
|
+
|
|
104
|
+
#### Inherited from
|
|
105
|
+
|
|
106
|
+
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePath`](../../play-router/classes/RouterBridgeBase.md#basepath)
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### basePathParams
|
|
111
|
+
|
|
112
|
+
#### Get Signature
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
get basePathParams(): Readonly<Record<string, string>>;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Defined in: play-router/dist/router-bridge-base.d.ts:221
|
|
119
|
+
|
|
120
|
+
The resolved values of the `:param` segments of the mount, or `{}` for a prefix
|
|
121
|
+
without a param.
|
|
122
|
+
|
|
123
|
+
These params belong to the HOST: the host wrote the prefix and resolved the
|
|
124
|
+
values, and they describe the route of the host and not the route of the machine.
|
|
125
|
+
They therefore travel in NO `play.route` event. The machine is authoritative over
|
|
126
|
+
its own params, and `event.params` holds what the pattern of the machine
|
|
127
|
+
declares, and nothing else.
|
|
128
|
+
|
|
129
|
+
They live here instead, because a value that reached the actor on a navigation
|
|
130
|
+
ALONE would go stale: `setBasePath()` can move the mount while the machine stays
|
|
131
|
+
on the same route, no event goes out, and `event.params` would then contradict
|
|
132
|
+
`basePath`. A read of this accessor cannot go stale.
|
|
133
|
+
|
|
134
|
+
A machine that needs the identity of its host — a `machineId`, a tenant — takes
|
|
135
|
+
it through the `input` of the actor, where it belongs: that identity decides
|
|
136
|
+
WHICH machine runs, and it is not a param of a route inside the machine.
|
|
137
|
+
|
|
138
|
+
##### Example
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
bridge.basePath; // "/abc123/play"
|
|
142
|
+
bridge.basePathParams; // { machineId: "abc123" }
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
##### Returns
|
|
146
|
+
|
|
147
|
+
`Readonly`\<`Record`\<`string`, `string`\>\>
|
|
148
|
+
|
|
149
|
+
The resolved values of the `:param` segments of the mount, or `{}` for a prefix
|
|
150
|
+
without a param.
|
|
151
|
+
|
|
152
|
+
These params belong to the HOST, so they travel in NO `play.route` event — the
|
|
153
|
+
machine is authoritative over its own params. This accessor is therefore the one
|
|
154
|
+
way a host reads them back, and it cannot go stale: `setBasePath()` can move the
|
|
155
|
+
mount while the machine stays on the same route, and no event goes out.
|
|
156
|
+
|
|
157
|
+
#### Inherited from
|
|
158
|
+
|
|
159
|
+
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`basePathParams`](../../play-router/classes/RouterBridgeBase.md#basepathparams)
|
|
160
|
+
|
|
81
161
|
## Methods
|
|
82
162
|
|
|
83
163
|
### connect()
|
|
@@ -86,7 +166,7 @@ Creates a TanStack Router bridge
|
|
|
86
166
|
connect(): void;
|
|
87
167
|
```
|
|
88
168
|
|
|
89
|
-
Defined in: play-router/dist/router-bridge-base.d.ts:
|
|
169
|
+
Defined in: play-router/dist/router-bridge-base.d.ts:313
|
|
90
170
|
|
|
91
171
|
Connects the router bridge to the Actor.
|
|
92
172
|
|
|
@@ -96,7 +176,7 @@ in its own way.
|
|
|
96
176
|
|
|
97
177
|
The order of these steps is part of the contract of the bridge:
|
|
98
178
|
|
|
99
|
-
- The constructor seeds `
|
|
179
|
+
- The constructor seeds `lastActorRoute` from `actor.currentRoute`, and it records no location
|
|
100
180
|
- The method installs the actor watcher before the router subscriptions of the adapter
|
|
101
181
|
- The first synchronization then separates a deep link from a restore, with `actor.initialRoute`
|
|
102
182
|
|
|
@@ -120,7 +200,7 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
120
200
|
disconnect(): void;
|
|
121
201
|
```
|
|
122
202
|
|
|
123
|
-
Defined in: play-router/dist/router-bridge-base.d.ts:
|
|
203
|
+
Defined in: play-router/dist/router-bridge-base.d.ts:347
|
|
124
204
|
|
|
125
205
|
Disconnects the router bridge from the Actor.
|
|
126
206
|
|
|
@@ -134,3 +214,65 @@ framework.
|
|
|
134
214
|
#### Inherited from
|
|
135
215
|
|
|
136
216
|
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
### setBasePath()
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
setBasePath(basePath?, basePathParams?): void;
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Defined in: play-router/dist/router-bridge-base.d.ts:258
|
|
227
|
+
|
|
228
|
+
Moves the machine to a different mount point, while it stays connected.
|
|
229
|
+
|
|
230
|
+
This is the "load and unload" half of a shared router. It moves WHERE an actor is
|
|
231
|
+
mounted, and never WHICH actor is mounted: the actor, the route map, and its LRU
|
|
232
|
+
cache all stay, and nothing goes away.
|
|
233
|
+
|
|
234
|
+
An actor never changes identity. A prefix that IDENTIFIES the actor — a
|
|
235
|
+
`machineId` that names the document it runs — therefore never moves through this
|
|
236
|
+
method: a new identity is a new actor, and a new actor takes a new bridge, because
|
|
237
|
+
`connect()` permits one bridge for each actor. The segments that move here are the
|
|
238
|
+
ones that LOCATE: a region, a locale, a tenant, a workspace slug.
|
|
239
|
+
|
|
240
|
+
The call then brings the location in step with the NEW prefix. A location inside
|
|
241
|
+
the new mount runs the same first-synchronization decision as `connect()`: it
|
|
242
|
+
drives the actor, and a restore keeps the route of the actor. A location OUTSIDE
|
|
243
|
+
the new mount is the old mount in practice, so the bridge writes the new one
|
|
244
|
+
itself, and it keeps the route of the actor while it does so — nothing else moves
|
|
245
|
+
the address bar. A call that resolves to the current prefix changes no location,
|
|
246
|
+
and it therefore reconciles nothing.
|
|
247
|
+
|
|
248
|
+
#### Parameters
|
|
249
|
+
|
|
250
|
+
| Parameter | Type | Description |
|
|
251
|
+
| ----------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
252
|
+
| `basePath?` | `string` | The new prefix, as a pattern or as a concrete path. An absent value, `""`, and `"/"` all remove the prefix, and they give the machine the complete router again. |
|
|
253
|
+
| `basePathParams?` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of `basePath`. |
|
|
254
|
+
|
|
255
|
+
#### Returns
|
|
256
|
+
|
|
257
|
+
`void`
|
|
258
|
+
|
|
259
|
+
#### Throws
|
|
260
|
+
|
|
261
|
+
For a prefix that resolves to one concrete path never.
|
|
262
|
+
|
|
263
|
+
#### Throws
|
|
264
|
+
|
|
265
|
+
When a `:param` of the prefix has no value.
|
|
266
|
+
|
|
267
|
+
#### Example
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
// The host moved this actor to another place in its URL space. `machineId` names
|
|
271
|
+
// WHICH document the actor runs, and it does not change: a new identity is a new
|
|
272
|
+
// actor, and therefore a new bridge, because one actor takes one bridge.
|
|
273
|
+
bridge.setBasePath("/:region/:machineId/play", { region: "us", machineId });
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
#### Inherited from
|
|
277
|
+
|
|
278
|
+
[`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`setBasePath`](../../play-router/classes/RouterBridgeBase.md#setbasepath)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type TanStackRouteMapLike = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
9
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:95](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L95)
|
|
10
10
|
|
|
11
11
|
The narrow route-map surface that `TanStackRouterBridgeBase` requires.
|
|
12
12
|
`RouteMap` from `@xmachines/play-router` satisfies it. The bridge converts a
|
|
@@ -24,7 +24,7 @@ that holds one form only still resolves the path.
|
|
|
24
24
|
getPathByStateId(id): string | null | undefined;
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
27
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:97](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L97)
|
|
28
28
|
|
|
29
29
|
#### Parameters
|
|
30
30
|
|
|
@@ -44,7 +44,7 @@ Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:71](https:/
|
|
|
44
44
|
getStateIdByPath(path): string | null | undefined;
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
47
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L96)
|
|
48
48
|
|
|
49
49
|
#### Parameters
|
|
50
50
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type TanStackRouterLike = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
9
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L39)
|
|
10
10
|
|
|
11
11
|
The type-only interface of the TanStack Router surface that
|
|
12
12
|
`TanStackRouterBridgeBase` uses. An instance of `@tanstack/react-router` and an
|
|
@@ -20,7 +20,7 @@ instance of `@tanstack/solid-router` both satisfy it.
|
|
|
20
20
|
history: object;
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
23
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L72)
|
|
24
24
|
|
|
25
25
|
#### location
|
|
26
26
|
|
|
@@ -61,6 +61,40 @@ subscribe(handler): () => void;
|
|
|
61
61
|
|
|
62
62
|
() => `void`
|
|
63
63
|
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### options?
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
optional options?: object;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L58)
|
|
73
|
+
|
|
74
|
+
The options of the router. The bridge reads `parseSearch` only.
|
|
75
|
+
|
|
76
|
+
TanStack owns the encoding of a query: its default `stringifySearch` writes each
|
|
77
|
+
value through `JSON.stringify`, so a plain string arrives in the URL with quotes
|
|
78
|
+
around it. `parseSearch` is the inverse, and it is therefore the only correct way
|
|
79
|
+
to turn a query string of the URL into the `search` object that `navigate`
|
|
80
|
+
accepts. A router double may hold neither.
|
|
81
|
+
|
|
82
|
+
#### parseSearch()?
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
optional parseSearch(search): Record<string, unknown>;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
##### Parameters
|
|
89
|
+
|
|
90
|
+
| Parameter | Type |
|
|
91
|
+
| --------- | -------- |
|
|
92
|
+
| `search` | `string` |
|
|
93
|
+
|
|
94
|
+
##### Returns
|
|
95
|
+
|
|
96
|
+
`Record`\<`string`, `unknown`\>
|
|
97
|
+
|
|
64
98
|
## Methods
|
|
65
99
|
|
|
66
100
|
### load()?
|
|
@@ -69,12 +103,18 @@ subscribe(handler): () => void;
|
|
|
69
103
|
optional load(): void | Promise<void>;
|
|
70
104
|
```
|
|
71
105
|
|
|
72
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
106
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L71)
|
|
73
107
|
|
|
74
108
|
Runs the TanStack route matching and the loaders again for the current location.
|
|
75
|
-
This method is optional. The bridge calls it after every navigation
|
|
76
|
-
|
|
77
|
-
|
|
109
|
+
This method is optional. The bridge calls it after every navigation. The matching
|
|
110
|
+
and the loaders therefore stay correct, also when no `<RouterProvider>` is
|
|
111
|
+
mounted.
|
|
112
|
+
|
|
113
|
+
The real implementation returns a promise. `watchRouterChanges` waits for that
|
|
114
|
+
promise before it synchronizes the actor, because `router.load()` is the only
|
|
115
|
+
public point that also runs `router.updateLatestLocation()`. See
|
|
116
|
+
`watchRouterChanges` for the reason. A test double may return `void`, and the
|
|
117
|
+
bridge then synchronizes synchronously.
|
|
78
118
|
|
|
79
119
|
#### Returns
|
|
80
120
|
|
|
@@ -88,14 +128,22 @@ also when no `<RouterProvider>` is mounted.
|
|
|
88
128
|
navigate(args): void;
|
|
89
129
|
```
|
|
90
130
|
|
|
91
|
-
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:
|
|
131
|
+
Defined in: [play-tanstack-router/src/tanstack-router-bridge-base.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-tanstack-router/src/tanstack-router-bridge-base.ts#L48)
|
|
132
|
+
|
|
133
|
+
Navigates to a location. `search` carries the query of the target.
|
|
134
|
+
|
|
135
|
+
The bridge passes `search` whenever the route of the actor holds a query. A
|
|
136
|
+
`navigate({ to })` call with no `search` makes TanStack rebuild the query from
|
|
137
|
+
`validateSearch({})` of the matched route, and a route that injects a default
|
|
138
|
+
then commits a different href than the bridge asked for.
|
|
92
139
|
|
|
93
140
|
#### Parameters
|
|
94
141
|
|
|
95
|
-
| Parameter
|
|
96
|
-
|
|
|
97
|
-
| `args`
|
|
98
|
-
| `args.
|
|
142
|
+
| Parameter | Type |
|
|
143
|
+
| -------------- | ----------------------------------------------------------------- |
|
|
144
|
+
| `args` | \{ `search?`: `Record`\<`string`, `unknown`\>; `to`: `string`; \} |
|
|
145
|
+
| `args.search?` | `Record`\<`string`, `unknown`\> |
|
|
146
|
+
| `args.to` | `string` |
|
|
99
147
|
|
|
100
148
|
#### Returns
|
|
101
149
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**TanStack Solid Router adapter for XMachines Universal Player Architecture**
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-tanstack-solid-router)
|
|
8
8
|
|
|
9
9
|
This package integrates TanStack Solid Router with the TC39 Signals. The logic then drives the navigation through the Solid.js reactivity.
|
|
10
10
|
|
|
@@ -132,6 +132,7 @@ class TanStackSolidRouterBridge {
|
|
|
132
132
|
- `disconnect()` — cancels the subscription to the history and stops all the synchronization.
|
|
133
133
|
- It navigates with `router.navigate({ to: path })`.
|
|
134
134
|
- It subscribes with `router.history.subscribe`. This covers PUSH, POP, BACK, FORWARD, REPLACE, and GO, and it works when no `<RouterProvider>` is mounted.
|
|
135
|
+
- It waits for the `router.load()` of a history event before it synchronizes the actor. A mounted `<RouterProvider>` defers the refresh of `router.latestLocation`, and without the wait TanStack drops the corrective navigation for a refused URL. See the [`@xmachines/play-tanstack-router` README](../play-tanstack-router/README.md) for the details.
|
|
135
136
|
|
|
136
137
|
### `PlayRouterProvider`
|
|
137
138
|
|
|
@@ -328,7 +329,6 @@ MIT — see [LICENSE](LICENSE).
|
|
|
328
329
|
|
|
329
330
|
- [PlayActor](interfaces/PlayActor.md)
|
|
330
331
|
- [PlayRouteEvent](interfaces/PlayRouteEvent.md)
|
|
331
|
-
- [PlayRouterProviderBaseProps](interfaces/PlayRouterProviderBaseProps.md)
|
|
332
332
|
- [PlayRouterProviderProps](interfaces/PlayRouterProviderProps.md)
|
|
333
333
|
- [RouteMapOptions](interfaces/RouteMapOptions.md)
|
|
334
334
|
- [RouteMapping](interfaces/RouteMapping.md)
|
|
@@ -337,6 +337,7 @@ MIT — see [LICENSE](LICENSE).
|
|
|
337
337
|
## Type Aliases
|
|
338
338
|
|
|
339
339
|
- [PlayRouterBridgeConstructor](type-aliases/PlayRouterBridgeConstructor.md)
|
|
340
|
+
- [PlayRouterProviderBaseProps](type-aliases/PlayRouterProviderBaseProps.md)
|
|
340
341
|
- [~~RoutableActor~~](type-aliases/RoutableActor.md)
|
|
341
342
|
- [TanStackRouterInstance](type-aliases/TanStackRouterInstance.md)
|
|
342
343
|
- [TanStackRouterLike](type-aliases/TanStackRouterLike.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L105)
|
|
6
6
|
|
|
7
7
|
The shared base class of the route map for both directions.
|
|
8
8
|
|
|
@@ -58,7 +58,7 @@ map.getPathByStateId("missing"); // null
|
|
|
58
58
|
new RouteMap(mappings, options?): RouteMap;
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
Defined in: [play-router/src/base-route-map.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.
|
|
61
|
+
Defined in: [play-router/src/base-route-map.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L133)
|
|
62
62
|
|
|
63
63
|
Builds a route map from an array of the mappings between a state ID and a path.
|
|
64
64
|
|
|
@@ -87,7 +87,7 @@ candidates is therefore efficient.
|
|
|
87
87
|
getPathByStateId(stateId): string | null;
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
90
|
+
Defined in: [play-router/src/base-route-map.ts:229](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L229)
|
|
91
91
|
|
|
92
92
|
Returns the path pattern of a state ID.
|
|
93
93
|
|
|
@@ -123,7 +123,7 @@ map.getPathByStateId("missing"); // null
|
|
|
123
123
|
getStateIdByPath(path): string | null;
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
126
|
+
Defined in: [play-router/src/base-route-map.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L189)
|
|
127
127
|
|
|
128
128
|
Resolves a URL path to its state ID.
|
|
129
129
|
|