@xmachines/docs 5.0.2 → 6.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 +4 -1
- package/api/@xmachines/core/README.md +209 -0
- package/api/@xmachines/core/cache/README.md +17 -0
- package/api/@xmachines/core/cache/functions/createLruCache.md +52 -0
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/core/errors/README.md +11 -0
- package/api/@xmachines/core/errors/classes/BaseError.md +226 -0
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +177 -0
- package/api/@xmachines/core/utils/README.md +33 -0
- package/api/@xmachines/core/utils/functions/asDisposable.md +139 -0
- package/api/@xmachines/core/utils/functions/createNullRecord.md +39 -0
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +39 -0
- package/api/@xmachines/core/utils/functions/describeValue.md +39 -0
- package/api/@xmachines/core/utils/functions/isError.md +46 -0
- package/api/@xmachines/core/utils/functions/isThenable.md +43 -0
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +37 -0
- package/api/@xmachines/core/utils/functions/rethrowLater.md +43 -0
- package/api/@xmachines/core/utils/functions/safeString.md +36 -0
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +42 -0
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +28 -0
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +14 -0
- package/api/@xmachines/{play-router/index → core/utils}/variables/DISPOSE.md +9 -9
- package/api/@xmachines/play/README.md +18 -69
- package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/errors/classes/PlayError.md +30 -34
- package/api/@xmachines/play/index/README.md +0 -8
- package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +1 -1
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
- package/api/@xmachines/play-atom/README.md +34 -25
- package/api/@xmachines/play-atom/functions/watchAtom.md +8 -8
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
- package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
- package/api/@xmachines/play-dom/README.md +32 -34
- 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 +3 -3
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +11 -11
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -14
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -17
- package/api/@xmachines/play-dom-router/README.md +28 -45
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +13 -13
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +5 -3
- package/api/@xmachines/play-dom-router/functions/createRouter.md +5 -3
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +21 -67
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
- 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/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +12 -27
- package/api/@xmachines/play-pattern/README.md +10 -6
- package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
- package/api/@xmachines/play-pattern/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +4 -4
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
- 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 +5 -5
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.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 +4 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-router/README.md +14 -13
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
- package/api/@xmachines/play-router/index/README.md +2 -3
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +3 -3
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +2 -2
- 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 +10 -10
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
- 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 +4 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-svelte/README.md +3 -3
- 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 +10 -10
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- 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 +4 -2
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +4 -2
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-tanstack-react-router/README.md +4 -2
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- 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 +1 -1
- package/api/@xmachines/play-tanstack-router/README.md +11 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- 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 +4 -2
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.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 +5 -5
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-url/README.md +3 -3
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
- package/api/@xmachines/play-url/index/README.md +2 -2
- package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +4 -3
- package/api/@xmachines/play-view/errors/README.md +1 -1
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +2 -2
- package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +3 -3
- 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 +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- 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/schema.md +35 -54
- package/api/@xmachines/play-vue-router/README.md +4 -2
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +7 -7
- package/api/@xmachines/play-xstate/README.md +19 -8
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
- package/api/@xmachines/play-xstate/index/README.md +0 -4
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +10 -45
- package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
- 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/api/README.md +1 -0
- package/api/llms.txt +1 -0
- package/contributing/architecture.md +36 -21
- package/contributing/configuration.md +5 -3
- package/contributing/development.md +25 -27
- package/contributing/migrating-to-play-atom.md +1 -0
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
- package/examples/README.md +1 -1
- package/guides/atoms.md +24 -12
- package/guides/getting-started.md +12 -10
- package/package.json +1 -1
- package/rfc/broker.md +4 -0
- package/rfc/browser.md +4 -0
- package/rfc/cli.md +4 -0
- package/rfc/git.md +4 -0
- package/rfc/mcp.md +4 -0
- package/rfc/node.md +4 -0
- package/rfc/play.md +1 -1
- package/rfc/rest.md +4 -0
- package/rfc/run.md +4 -0
- package/rfc/streams.md +4 -0
- package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
- package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
- package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
- package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
- package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
- package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
- package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
- package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
|
@@ -4,23 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
**Vanilla DOM router (Browser History API) for XMachines Play Architecture.**
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-dom-router)
|
|
8
8
|
|
|
9
9
|
This framework-agnostic router integration keeps the `currentRoute` atom of a Play actor and the `window.history` API of the browser in step. It needs no framework. It implements the same [`RouterBridgeBase`](../play-router/README.md) pattern as every other router adapter in the XMachines ecosystem.
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
pnpm add @xmachines/play-dom-router @xmachines/play-router
|
|
14
|
+
pnpm add @xmachines/play-dom-router @xmachines/play-router @xmachines/core @xmachines/play @xmachines/play-atom
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @xmachines/play
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
- [`@xmachines/play`](../play/README.md) — the release protocol. This barrel re-exports `asCleanup`, `DISPOSE` and `Cleanup` from it.
|
|
17
|
+
[`@xmachines/play-router`](../play-router/README.md) names [`@xmachines/core`](../core/README.md), [`@xmachines/play`](../play/README.md) and [`@xmachines/play-atom`](../play-atom/README.md) as peers, so the command installs them with this package. To release a history, a router or a connection with `using`, your code imports it itself, so declare it in your own manifest. The `asDisposable` of its `utils` subpath publishes each of them for a scope.
|
|
24
18
|
|
|
25
19
|
[`@xmachines/play-router`](../play-router/README.md) is a dependency of this package already. Install it directly to
|
|
26
20
|
reach [`@xmachines/play-router/xstate`](../play-router/README.md), which holds `createRouteMap` and
|
|
@@ -39,43 +33,39 @@ reach [`@xmachines/play-router/xstate`](../play-router/README.md), which holds `
|
|
|
39
33
|
|
|
40
34
|
| Export | Description |
|
|
41
35
|
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
-
| `createBrowserHistory(options)` | Wraps `window.history`. It returns a `BrowserHistory
|
|
43
|
-
| `createRouter(options)` | Creates a `VanillaRouter` from a `BrowserHistory` and a `RouteTree
|
|
44
|
-
| `connectRouter(options)` | Connects a history to a `Routable` actor — returns a `RouterConnection
|
|
36
|
+
| `createBrowserHistory(options)` | Wraps `window.history`. It returns a `BrowserHistory` |
|
|
37
|
+
| `createRouter(options)` | Creates a `VanillaRouter` from a `BrowserHistory` and a `RouteTree` |
|
|
38
|
+
| `connectRouter(options)` | Connects a history to a `Routable` actor — returns a `RouterConnection` |
|
|
45
39
|
| `DomRouterBridge` | The low-level bridge class. It extends `RouterBridgeBase`. Use it directly for full lifecycle control |
|
|
46
40
|
| `BrowserHistory` | Interface for the history wrapper. Implement it to inject a history of your own — see the note below |
|
|
47
41
|
| `BrowserWindow` | Structural window interface (accepts `Window`, JSDOM, or any test double) |
|
|
48
|
-
| `VanillaRouter` | The router wrapper: a history, a route tree, and
|
|
42
|
+
| `VanillaRouter` | The router wrapper: a history, a route tree, and `destroy()` |
|
|
49
43
|
| `ConnectRouterOptions` | Options type for `connectRouter` |
|
|
50
44
|
| `RouteLookupContract` | Structural interface for bidirectional route lookup |
|
|
51
45
|
| `RoutableActor` | Minimal actor interface from [`@xmachines/play-router`](../play-router/README.md) — `currentRoute`, `initialRoute`, and `send(PlayRouteEvent)` |
|
|
52
46
|
| `RouterBridge`, `PlayRouteEvent` | Types re-exported from [`@xmachines/play-router`](../play-router/README.md) |
|
|
53
47
|
| `RouteMap`, `RouteMapping`, `RouteMapOptions` | The route map class and its types, re-exported from [`@xmachines/play-router`](../play-router/README.md) |
|
|
54
|
-
| `asCleanup`, `DISPOSE`, `Cleanup` | The release protocol that `BrowserHistory` names, re-exported from [`@xmachines/play`](../play/README.md) |
|
|
55
48
|
|
|
56
49
|
### Implementing `BrowserHistory`
|
|
57
50
|
|
|
58
|
-
|
|
51
|
+
A history that you inject for a test or for SSR is a plain object. `subscribe` returns a plain function:
|
|
59
52
|
|
|
60
53
|
```typescript
|
|
61
|
-
import {
|
|
54
|
+
import type { BrowserHistory } from "@xmachines/play-dom-router";
|
|
62
55
|
|
|
63
56
|
const history: BrowserHistory = {
|
|
64
57
|
// ...
|
|
65
58
|
subscribe(listener) {
|
|
66
59
|
listeners.add(listener);
|
|
67
|
-
return
|
|
60
|
+
return () => void listeners.delete(listener);
|
|
68
61
|
},
|
|
69
62
|
destroy() {
|
|
70
63
|
listeners.clear();
|
|
71
64
|
},
|
|
72
|
-
[DISPOSE]() {
|
|
73
|
-
this.destroy();
|
|
74
|
-
},
|
|
75
65
|
};
|
|
76
66
|
```
|
|
77
67
|
|
|
78
|
-
|
|
68
|
+
A spread copies `location` as a value, and the copy then shows a stale location. To wrap a history, build the wrapper as its own object.
|
|
79
69
|
|
|
80
70
|
Of this interface `connectRouter` reads three members — `location`, `push` and `subscribe` — and it releases the history never. The type asks for the whole of it, because that is the type of a history, and a test that stands in for one builds it from a factory rather than from a narrower type.
|
|
81
71
|
|
|
@@ -153,17 +143,17 @@ history.destroy();
|
|
|
153
143
|
|
|
154
144
|
**`BrowserHistory` interface:**
|
|
155
145
|
|
|
156
|
-
| Method | Description
|
|
157
|
-
| ----------------------- |
|
|
158
|
-
| `location` | Read-only `{ pathname, search, hash, state }`
|
|
159
|
-
| `push(path, state?)` | Push a new entry to history
|
|
160
|
-
| `replace(path, state?)` | Replace the current history entry
|
|
161
|
-
| `go(delta)` | Navigate relative to current position
|
|
162
|
-
| `back()` | Navigate backward
|
|
163
|
-
| `forward()` | Navigate forward
|
|
164
|
-
| `subscribe(listener)` | Subscribe to location changes — returns an unsubscribe function
|
|
165
|
-
| `createHref(path)` | Create an href from a path
|
|
166
|
-
| `destroy()` | Cleans up. It removes the listeners, and it restores the patched methods when it is the last wrapper
|
|
146
|
+
| Method | Description |
|
|
147
|
+
| ----------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
148
|
+
| `location` | Read-only `{ pathname, search, hash, state }` |
|
|
149
|
+
| `push(path, state?)` | Push a new entry to history |
|
|
150
|
+
| `replace(path, state?)` | Replace the current history entry |
|
|
151
|
+
| `go(delta)` | Navigate relative to current position |
|
|
152
|
+
| `back()` | Navigate backward |
|
|
153
|
+
| `forward()` | Navigate forward |
|
|
154
|
+
| `subscribe(listener)` | Subscribe to location changes — returns an unsubscribe function |
|
|
155
|
+
| `createHref(path)` | Create an href from a path |
|
|
156
|
+
| `destroy()` | Cleans up. It removes the listeners, and it restores the patched methods when it is the last wrapper |
|
|
167
157
|
|
|
168
158
|
**`BrowserWindow` interface:**
|
|
169
159
|
|
|
@@ -181,14 +171,16 @@ const router = createRouter({ routeTree, history });
|
|
|
181
171
|
// router.destroy() — calls history.destroy()
|
|
182
172
|
```
|
|
183
173
|
|
|
184
|
-
Or let a scope release it, which also releases the history on an exception:
|
|
174
|
+
Or let a scope release it, which also releases the history on an exception. Publish the router with `asDisposable` of [`@xmachines/core/utils`](../core/README.md), and name `destroy` as the release:
|
|
185
175
|
|
|
186
176
|
```typescript
|
|
187
|
-
|
|
177
|
+
import { asDisposable } from "@xmachines/core/utils";
|
|
178
|
+
|
|
179
|
+
const plain = createRouter({ routeTree, history });
|
|
180
|
+
using router = asDisposable(plain, () => plain.destroy());
|
|
188
181
|
```
|
|
189
182
|
|
|
190
|
-
|
|
191
|
-
caller that keeps `destroy()` keeps it.
|
|
183
|
+
`destroy()` is idempotent, so a caller that calls it before the scope ends is safe.
|
|
192
184
|
|
|
193
185
|
**The release covers the history alone.** `connectRouter` hands back its own
|
|
194
186
|
`RouterConnection`, and a scope that ends releases no connection for you. Release the
|
|
@@ -303,17 +295,8 @@ MIT — see [LICENSE](../../../LICENSE).
|
|
|
303
295
|
- [RouterConnection](interfaces/RouterConnection.md)
|
|
304
296
|
- [VanillaRouter](interfaces/VanillaRouter.md)
|
|
305
297
|
|
|
306
|
-
## Type Aliases
|
|
307
|
-
|
|
308
|
-
- [Cleanup](type-aliases/Cleanup.md)
|
|
309
|
-
|
|
310
|
-
## Variables
|
|
311
|
-
|
|
312
|
-
- [DISPOSE](variables/DISPOSE.md)
|
|
313
|
-
|
|
314
298
|
## Functions
|
|
315
299
|
|
|
316
|
-
- [asCleanup](functions/asCleanup.md)
|
|
317
300
|
- [connectRouter](functions/connectRouter.md)
|
|
318
301
|
- [createBrowserHistory](functions/createBrowserHistory.md)
|
|
319
302
|
- [createRouter](functions/createRouter.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: DomRouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L27)
|
|
6
6
|
|
|
7
7
|
The DOM router bridge — it puts a BrowserHistory from `createBrowserHistory`
|
|
8
8
|
behind the `RouterBridgeBase` protocol.
|
|
@@ -42,16 +42,16 @@ new DomRouterBridge(
|
|
|
42
42
|
): DomRouterBridge;
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
45
|
+
Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L40)
|
|
46
46
|
|
|
47
47
|
#### Parameters
|
|
48
48
|
|
|
49
|
-
| Parameter | Type | Description
|
|
50
|
-
| ---------- | ---------------------------------------------------------------------------------- |
|
|
51
|
-
| `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) | A `Routable` actor with `currentRoute` and `send`.
|
|
52
|
-
| `routeMap` | [`RouteLookupContract`](../interfaces/RouteLookupContract.md) | The route lookup for both directions. Every object that satisfies [RouteLookupContract](../interfaces/RouteLookupContract.md) works.
|
|
53
|
-
| `history` | [`BrowserHistory`](../interfaces/BrowserHistory.md) | The history to read. `createBrowserHistory` builds one. Of the interface this class touches three members — `location`, `push` and `subscribe` — and it releases the history never, because the owner of the history does that. The parameter still asks for the WHOLE interface, because that is the type of a history: a stand-in for one writes `destroy()`
|
|
54
|
-
| `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | -
|
|
49
|
+
| Parameter | Type | Description |
|
|
50
|
+
| ---------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| `actor` | [`RoutableActor`](../interfaces/RoutableActor.md) | A `Routable` actor with `currentRoute` and `send`. |
|
|
52
|
+
| `routeMap` | [`RouteLookupContract`](../interfaces/RouteLookupContract.md) | The route lookup for both directions. Every object that satisfies [RouteLookupContract](../interfaces/RouteLookupContract.md) works. |
|
|
53
|
+
| `history` | [`BrowserHistory`](../interfaces/BrowserHistory.md) | The history to read. `createBrowserHistory` builds one. Of the interface this class touches three members — `location`, `push` and `subscribe` — and it releases the history never, because the owner of the history does that. The parameter still asks for the WHOLE interface, because that is the type of a history: a stand-in for one writes `destroy()` beside the three. The README of this package shows the shape. |
|
|
54
|
+
| `options?` | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md) | - |
|
|
55
55
|
|
|
56
56
|
#### Returns
|
|
57
57
|
|
|
@@ -71,7 +71,7 @@ Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xma
|
|
|
71
71
|
get basePath(): string;
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
74
|
+
Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L282)
|
|
75
75
|
|
|
76
76
|
The resolved URL prefix that the machine of this bridge is mounted under, or `""`
|
|
77
77
|
when the machine owns the complete router.
|
|
@@ -96,7 +96,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
|
|
|
96
96
|
get basePathParams(): Readonly<Record<string, string>>;
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
99
|
+
Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L311)
|
|
100
100
|
|
|
101
101
|
The resolved values of the `:param` segments of the mount, or `{}` for a prefix
|
|
102
102
|
without a param.
|
|
@@ -147,7 +147,7 @@ mount while the machine stays on the same route, and no event goes out.
|
|
|
147
147
|
connect(): void;
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
150
|
+
Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L533)
|
|
151
151
|
|
|
152
152
|
Connects the router bridge to the Actor.
|
|
153
153
|
|
|
@@ -181,7 +181,7 @@ An adapter that needs a different behavior of the first synchronization override
|
|
|
181
181
|
disconnect(): void;
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
184
|
+
Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L791)
|
|
185
185
|
|
|
186
186
|
Disconnects the router bridge from the Actor.
|
|
187
187
|
|
|
@@ -204,7 +204,7 @@ framework.
|
|
|
204
204
|
setBasePath(basePath?, basePathParams?): void;
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
207
|
+
Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/router-bridge-base.ts#L351)
|
|
208
208
|
|
|
209
209
|
Moves the machine to a different mount point, while it stays connected.
|
|
210
210
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: RouteMap
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:176](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L176)
|
|
6
6
|
|
|
7
7
|
The shared base class of the route map for both directions.
|
|
8
8
|
|
|
@@ -15,8 +15,7 @@ of its own, and it inherits the complete public API from here.
|
|
|
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
17
|
- The class keeps each result of a first match in an LRU cache. The default cache
|
|
18
|
-
holds
|
|
19
|
-
replaces it
|
|
18
|
+
holds 1001 entries at most, and the `pathCache` constructor option replaces it
|
|
20
19
|
|
|
21
20
|
**The syntax of a pattern:** the whole URLPattern pathname grammar. The forms used most
|
|
22
21
|
often are:
|
|
@@ -65,7 +64,7 @@ map.getPathByStateId("missing"); // null
|
|
|
65
64
|
new RouteMap(mappings, options?): RouteMap;
|
|
66
65
|
```
|
|
67
66
|
|
|
68
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
67
|
+
Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L209)
|
|
69
68
|
|
|
70
69
|
Builds a route map from an array of the mappings between a state ID and a path.
|
|
71
70
|
|
|
@@ -93,7 +92,7 @@ candidates is therefore efficient.
|
|
|
93
92
|
getPathByStateId(stateId): string | null;
|
|
94
93
|
```
|
|
95
94
|
|
|
96
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
95
|
+
Defined in: [play-router/src/base-route-map.ts:322](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L322)
|
|
97
96
|
|
|
98
97
|
Returns the path pattern of a state ID.
|
|
99
98
|
|
|
@@ -129,7 +128,7 @@ map.getPathByStateId("missing"); // null
|
|
|
129
128
|
getStateIdByPath(path): string | null;
|
|
130
129
|
```
|
|
131
130
|
|
|
132
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
131
|
+
Defined in: [play-router/src/base-route-map.ts:277](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-router/src/base-route-map.ts#L277)
|
|
133
132
|
|
|
134
133
|
Resolves a URL path to its state ID.
|
|
135
134
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function connectRouter(options): RouterConnection;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/connect-router.ts#L64)
|
|
10
10
|
|
|
11
11
|
Connects the vanilla router to an actor. This is a pure browser integration.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function createBrowserHistory(options): BrowserHistory;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
9
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:137](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L137)
|
|
10
10
|
|
|
11
11
|
Creates a browser history that wraps window.history
|
|
12
12
|
|
|
@@ -36,10 +36,12 @@ unsubscribe();
|
|
|
36
36
|
history.destroy();
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Or let a scope do it, which releases the history on an exception too
|
|
39
|
+
Or let a scope do it, which releases the history on an exception too. Publish the
|
|
40
|
+
history with `asDisposable` of `@xmachines/core/utils`, and name `destroy` as the release:
|
|
40
41
|
|
|
41
42
|
```typescript
|
|
42
|
-
|
|
43
|
+
const plain = createBrowserHistory({ window });
|
|
44
|
+
using history = asDisposable(plain, () => plain.destroy());
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
`destroy()` is idempotent, and it cooperates with each other wrapper of the same
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function createRouter(options): VanillaRouter;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play-dom-router/src/create-router.ts:
|
|
9
|
+
Defined in: [play-dom-router/src/create-router.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-router.ts#L79)
|
|
10
10
|
|
|
11
11
|
Creates the vanilla router for a framework-agnostic routing.
|
|
12
12
|
|
|
@@ -41,10 +41,12 @@ disconnect();
|
|
|
41
41
|
router.destroy();
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Or let a scope do it, which releases the history on an exception too
|
|
44
|
+
Or let a scope do it, which releases the history on an exception too. Publish the
|
|
45
|
+
router with `asDisposable` of `@xmachines/core/utils`:
|
|
45
46
|
|
|
46
47
|
```typescript
|
|
47
|
-
|
|
48
|
+
const plain = createRouter({ routeTree, history });
|
|
49
|
+
using router = asDisposable(plain, () => plain.destroy());
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
## Parameters
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: BasePathOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [play-url/src/base-path.ts:
|
|
5
|
+
Defined in: [play-url/src/base-path.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L49)
|
|
6
6
|
|
|
7
7
|
The base-path options that every router bridge, `connectRouter` function, and
|
|
8
8
|
`PlayRouterProvider` component accepts.
|
|
@@ -24,5 +24,5 @@ connectRouter({
|
|
|
24
24
|
|
|
25
25
|
| Property | Modifier | Type | Description | Defined in |
|
|
26
26
|
| ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
-
| <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [play-url/src/base-path.ts:
|
|
28
|
-
| <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:
|
|
27
|
+
| <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [play-url/src/base-path.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L63) |
|
|
28
|
+
| <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-url/src/base-path.ts#L77) |
|
|
@@ -2,63 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: BrowserHistory
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
5
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L1)
|
|
6
6
|
|
|
7
7
|
## Properties
|
|
8
8
|
|
|
9
|
-
| Property | Modifier | Type | Description | Defined in
|
|
10
|
-
| ----------------------------------------- | ---------- | --------- | ----------------------------------------- |
|
|
11
|
-
| <a id="property-location"></a> `location` | `readonly` | `object` | Returns the state of the current location | [play-dom-router/src/create-browser-history.ts:
|
|
12
|
-
| `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:
|
|
13
|
-
| `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:
|
|
14
|
-
| `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:
|
|
15
|
-
| `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:
|
|
9
|
+
| Property | Modifier | Type | Description | Defined in |
|
|
10
|
+
| ----------------------------------------- | ---------- | --------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| <a id="property-location"></a> `location` | `readonly` | `object` | Returns the state of the current location | [play-dom-router/src/create-browser-history.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L5) |
|
|
12
|
+
| `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L8) |
|
|
13
|
+
| `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L6) |
|
|
14
|
+
| `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L7) |
|
|
15
|
+
| `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L9) |
|
|
16
16
|
|
|
17
17
|
## Methods
|
|
18
18
|
|
|
19
|
-
### \[dispose\]()
|
|
20
|
-
|
|
21
|
-
```ts
|
|
22
|
-
dispose: void;
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-dom-router/src/create-browser-history.ts#L91)
|
|
26
|
-
|
|
27
|
-
Releases the history with [BrowserHistory.destroy](#destroy). It is idempotent.
|
|
28
|
-
|
|
29
|
-
`destroy()` unpatches `history.pushState` and `history.replaceState` of the window,
|
|
30
|
-
so a scope that drops the history without it leaves the global patched. The key lets
|
|
31
|
-
a scope do that work:
|
|
32
|
-
|
|
33
|
-
```ts
|
|
34
|
-
{
|
|
35
|
-
using history = createBrowserHistory({ window });
|
|
36
|
-
history.push("/first");
|
|
37
|
-
// destroy() runs at the end of the scope, and after an exception too
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
An implementation writes it as one line beside `destroy`, and the two therefore
|
|
42
|
-
release the same work:
|
|
43
|
-
|
|
44
|
-
```ts
|
|
45
|
-
destroy() { ... },
|
|
46
|
-
[DISPOSE]() { this.destroy(); },
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
#### Returns
|
|
50
|
-
|
|
51
|
-
`void`
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
19
|
### back()
|
|
56
20
|
|
|
57
21
|
```ts
|
|
58
22
|
back(): void;
|
|
59
23
|
```
|
|
60
24
|
|
|
61
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
25
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L26)
|
|
62
26
|
|
|
63
27
|
#### Returns
|
|
64
28
|
|
|
@@ -72,7 +36,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:28](https://gitlab.co
|
|
|
72
36
|
createHref(path): string;
|
|
73
37
|
```
|
|
74
38
|
|
|
75
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
39
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L46)
|
|
76
40
|
|
|
77
41
|
Creates an href from a path
|
|
78
42
|
|
|
@@ -94,7 +58,7 @@ Creates an href from a path
|
|
|
94
58
|
destroy(): void;
|
|
95
59
|
```
|
|
96
60
|
|
|
97
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
61
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L54)
|
|
98
62
|
|
|
99
63
|
Cleans up.
|
|
100
64
|
|
|
@@ -113,7 +77,7 @@ A second call is safe. When more than one wrapper shares the same
|
|
|
113
77
|
forward(): void;
|
|
114
78
|
```
|
|
115
79
|
|
|
116
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
80
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L27)
|
|
117
81
|
|
|
118
82
|
#### Returns
|
|
119
83
|
|
|
@@ -127,7 +91,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:29](https://gitlab.co
|
|
|
127
91
|
go(delta): void;
|
|
128
92
|
```
|
|
129
93
|
|
|
130
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
94
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L25)
|
|
131
95
|
|
|
132
96
|
Moves back or forward in the history
|
|
133
97
|
|
|
@@ -149,7 +113,7 @@ Moves back or forward in the history
|
|
|
149
113
|
push(path, state?): void;
|
|
150
114
|
```
|
|
151
115
|
|
|
152
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
116
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L15)
|
|
153
117
|
|
|
154
118
|
Pushes a new URL to the history
|
|
155
119
|
|
|
@@ -172,7 +136,7 @@ Pushes a new URL to the history
|
|
|
172
136
|
replace(path, state?): void;
|
|
173
137
|
```
|
|
174
138
|
|
|
175
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
139
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L20)
|
|
176
140
|
|
|
177
141
|
Replaces the current URL in the history
|
|
178
142
|
|
|
@@ -192,32 +156,22 @@ Replaces the current URL in the history
|
|
|
192
156
|
### subscribe()
|
|
193
157
|
|
|
194
158
|
```ts
|
|
195
|
-
subscribe(listener):
|
|
159
|
+
subscribe(listener): () => void;
|
|
196
160
|
```
|
|
197
161
|
|
|
198
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
162
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L41)
|
|
199
163
|
|
|
200
164
|
Subscribes to the history changes.
|
|
201
165
|
It returns the release of the subscription.
|
|
202
166
|
|
|
203
|
-
A caller runs
|
|
167
|
+
The release is a plain function. A caller runs it, or it publishes the release with
|
|
168
|
+
`asDisposable` of `@xmachines/core/utils`, and a scope releases it:
|
|
204
169
|
|
|
205
170
|
```ts
|
|
206
|
-
using stop = history.subscribe((location) => render(location));
|
|
171
|
+
using stop = asDisposable(history.subscribe((location) => render(location)));
|
|
207
172
|
// stop() runs at the end of the scope, and after an exception too
|
|
208
173
|
```
|
|
209
174
|
|
|
210
|
-
A `Cleanup` IS a `() => void`, so a caller that runs it keeps that code. An
|
|
211
|
-
implementation of this interface builds one with `asCleanup` of `@xmachines/play`,
|
|
212
|
-
which this package re-exports:
|
|
213
|
-
|
|
214
|
-
```ts
|
|
215
|
-
subscribe(listener) {
|
|
216
|
-
listeners.add(listener);
|
|
217
|
-
return asCleanup(() => listeners.delete(listener));
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
175
|
#### Parameters
|
|
222
176
|
|
|
223
177
|
| Parameter | Type |
|
|
@@ -226,4 +180,4 @@ subscribe(listener) {
|
|
|
226
180
|
|
|
227
181
|
#### Returns
|
|
228
182
|
|
|
229
|
-
|
|
183
|
+
() => `void`
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: BrowserWindow
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
5
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L67)
|
|
6
6
|
|
|
7
7
|
The minimal window interface of createBrowserHistory
|
|
8
8
|
|
|
@@ -13,19 +13,19 @@ different in each environment.
|
|
|
13
13
|
|
|
14
14
|
## Properties
|
|
15
15
|
|
|
16
|
-
| Property | Modifier | Type | Defined in
|
|
17
|
-
| ----------------------------------------- | ---------- | --------- |
|
|
18
|
-
| <a id="property-history"></a> `history` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:
|
|
19
|
-
| `history.state` | `readonly` | `unknown` | [play-dom-router/src/create-browser-history.ts:
|
|
20
|
-
| `history.back` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:
|
|
21
|
-
| `history.forward` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:
|
|
22
|
-
| `history.go` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:
|
|
23
|
-
| `history.pushState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:
|
|
24
|
-
| `history.replaceState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:
|
|
25
|
-
| <a id="property-location"></a> `location` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:
|
|
26
|
-
| `location.hash` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:
|
|
27
|
-
| `location.pathname` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:
|
|
28
|
-
| `location.search` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:
|
|
16
|
+
| Property | Modifier | Type | Defined in |
|
|
17
|
+
| ----------------------------------------- | ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
+
| <a id="property-history"></a> `history` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L68) |
|
|
19
|
+
| `history.state` | `readonly` | `unknown` | [play-dom-router/src/create-browser-history.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L69) |
|
|
20
|
+
| `history.back` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L73) |
|
|
21
|
+
| `history.forward` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L74) |
|
|
22
|
+
| `history.go` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L72) |
|
|
23
|
+
| `history.pushState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L70) |
|
|
24
|
+
| `history.replaceState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L71) |
|
|
25
|
+
| <a id="property-location"></a> `location` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L76) |
|
|
26
|
+
| `location.hash` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L79) |
|
|
27
|
+
| `location.pathname` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L77) |
|
|
28
|
+
| `location.search` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L78) |
|
|
29
29
|
|
|
30
30
|
## Methods
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@ different in each environment.
|
|
|
35
35
|
addEventListener(type, listener): void;
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
38
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L81)
|
|
39
39
|
|
|
40
40
|
#### Parameters
|
|
41
41
|
|
|
@@ -56,7 +56,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:118](https://gitlab.c
|
|
|
56
56
|
removeEventListener(type, listener): void;
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Defined in: [play-dom-router/src/create-browser-history.ts:
|
|
59
|
+
Defined in: [play-dom-router/src/create-browser-history.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom-router/src/create-browser-history.ts#L82)
|
|
60
60
|
|
|
61
61
|
#### Parameters
|
|
62
62
|
|