@xmachines/docs 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -6
- package/api/@xmachines/play/README.md +21 -21
- package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/errors/classes/PlayError.md +5 -4
- package/api/@xmachines/play/index/README.md +2 -2
- package/api/@xmachines/play/index/functions/asCleanup.md +4 -5
- package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/index/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/play/index/type-aliases/Cleanup.md +3 -3
- package/api/@xmachines/play/index/type-aliases/DisposeKey.md +1 -1
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play/index/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play-actor/README.md +9 -9
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +6 -6
- package/api/@xmachines/play-atom/README.md +281 -0
- package/api/@xmachines/play-atom/functions/watchAtom.md +79 -0
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +16 -0
- package/api/@xmachines/play-atom/interfaces/Atom.md +149 -0
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +25 -0
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +33 -0
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +23 -0
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +97 -0
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +91 -0
- package/api/@xmachines/play-atom/interfaces/Readable.md +93 -0
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +108 -0
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +13 -0
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +32 -0
- package/api/@xmachines/{play-signals → play-atom}/type-aliases/Cleanup.md +4 -4
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +42 -0
- package/api/@xmachines/play-atom/variables/createAtom.md +18 -0
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +70 -0
- package/api/@xmachines/play-dom/README.md +21 -17
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +10 -10
- package/api/@xmachines/play-dom/functions/asCleanup.md +4 -5
- 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 +3 -3
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
- package/api/@xmachines/play-dom/type-aliases/Cleanup.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +24 -24
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +15 -15
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-dom-router/functions/asCleanup.md +4 -5
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -7
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +15 -15
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +5 -5
- package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +3 -3
- package/api/@xmachines/play-dom-router/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play-pattern/README.md +115 -0
- package/api/@xmachines/play-pattern/functions/buildPath.md +46 -0
- package/api/@xmachines/play-pattern/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +30 -0
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +40 -0
- package/api/@xmachines/play-pattern/functions/parsePattern.md +28 -0
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +15 -0
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +14 -0
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +21 -0
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +19 -0
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-pattern/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +11 -0
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +9 -0
- package/api/@xmachines/play-react/README.md +31 -21
- 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 +103 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
- 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 +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/variables/ActorProvider.md +2 -2
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +3 -3
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +15 -15
- package/api/@xmachines/play-react-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -9
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
- 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 +25 -14
- 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 +10 -2
- package/api/@xmachines/play-router/index/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +10 -10
- 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 +47 -0
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +5 -5
- 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 +7 -6
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +13 -6
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +2 -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 +28 -0
- 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 +5 -5
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +9 -24
- package/api/@xmachines/play-router/index/functions/splitLocation.md +37 -0
- 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 +4 -4
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +35 -0
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +13 -8
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +11 -9
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +23 -0
- package/api/@xmachines/play-router/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +15 -9
- 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 +5 -5
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +10 -4
- 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 +11 -11
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +31 -0
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +14 -7
- 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 +68 -0
- package/api/@xmachines/play-router/index/variables/DISPOSE.md +1 -1
- 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 +5 -5
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +6 -5
- 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 +9 -5
- 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 +2 -2
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +14 -14
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +18 -18
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -9
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
- 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 +11 -7
- 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 +14 -14
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +15 -15
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +11 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +17 -17
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +15 -15
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +15 -23
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/README.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +11 -11
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
- 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 +1 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +16 -16
- 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 +7 -7
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +11 -11
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +11 -11
- 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 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +14 -7
- 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 +21 -15
- 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 +15 -8
- package/api/@xmachines/play-url/index/functions/buildPath.md +46 -0
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/createPatternCache.md +47 -0
- package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +8 -7
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +2 -2
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +40 -0
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +2 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +6 -5
- 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 +5 -5
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +27 -0
- package/api/@xmachines/play-url/index/functions/splitLocation.md +37 -0
- package/api/@xmachines/play-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 +21 -0
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +13 -8
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +24 -0
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-url/index/interfaces/PatternCache.md +65 -0
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +16 -0
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +74 -0
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +15 -0
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +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 +19 -8
- 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 +4 -28
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
- 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 +3 -3
- 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 +5 -5
- 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 +13 -9
- 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 +6 -6
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +9 -9
- 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-router/README.md +12 -11
- 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 +11 -11
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +15 -15
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +10 -4
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +15 -17
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +23 -1
- package/api/@xmachines/play-xstate/README.md +61 -30
- package/api/@xmachines/play-xstate/errors/README.md +1 -0
- 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 +207 -0
- 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 +2 -2
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +41 -42
- 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 +9 -9
- 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/index/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +13 -6
- 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 +6 -5
- 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 +2 -1
- package/api/llms.txt +4 -3
- package/contributing/architecture.md +105 -124
- package/contributing/configuration.md +15 -15
- package/contributing/deployment.md +82 -6
- package/contributing/development.md +58 -30
- package/contributing/migrating-to-play-atom.md +209 -0
- package/contributing/testing.md +61 -64
- package/examples/README.md +3 -3
- package/examples/basic-state-machine.md +4 -4
- package/examples/form-validation.md +1 -1
- package/examples/multi-router-integration.md +23 -23
- package/examples/routing-patterns.md +5 -5
- package/examples/traffic-light.md +6 -6
- package/guides/README.md +1 -1
- package/guides/actor-model.md +26 -17
- package/guides/atoms.md +264 -0
- package/guides/getting-started.md +52 -17
- package/guides/inspector.md +3 -3
- package/guides/routing.md +67 -47
- package/guides/state-machines.md +4 -4
- package/package.json +3 -3
- package/rfc/play.md +83 -52
- package/api/@xmachines/play-react/functions/useSignalEffect.md +0 -77
- package/api/@xmachines/play-router/index/functions/getPatternParamNames.md +0 -29
- package/api/@xmachines/play-router/index/functions/getRequiredPatternParamNames.md +0 -39
- package/api/@xmachines/play-signals/README.md +0 -209
- package/api/@xmachines/play-signals/functions/watchSignal.md +0 -65
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +0 -36
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +0 -49
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +0 -37
- package/api/@xmachines/play-signals/interfaces/SignalState.md +0 -68
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +0 -97
- package/api/@xmachines/play-signals/namespaces/Signal/README.md +0 -22
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -52
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -72
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +0 -21
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -85
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -13
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -25
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -9
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -19
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -19
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +0 -33
- package/api/@xmachines/play-url/index/functions/getNormalizedParamNameMap.md +0 -32
- package/api/@xmachines/play-url/index/functions/getPatternParamNames.md +0 -29
- package/api/@xmachines/play-url/index/functions/getRequiredPatternParamNames.md +0 -39
- package/api/@xmachines/play-url/index/functions/isParameterizedPattern.md +0 -36
- package/api/@xmachines/play-url/index/functions/normalizeParamNames.md +0 -36
- package/guides/signals.md +0 -209
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ConnectRouterOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/connect-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-dom-router/src/connect-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L24)
|
|
6
6
|
|
|
7
7
|
The options of [connectRouter](../functions/connectRouter.md).
|
|
8
8
|
|
|
9
9
|
## Extends
|
|
10
10
|
|
|
11
|
-
- [`
|
|
11
|
+
- [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md)
|
|
12
12
|
|
|
13
13
|
## Properties
|
|
14
14
|
|
|
15
|
-
| Property | Modifier | Type
|
|
16
|
-
| ------------------------------------------------------ | ---------- |
|
|
17
|
-
| <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](RoutableActor.md)
|
|
18
|
-
| <a id="property-basepath"></a> `basePath?` | `readonly` | `string`
|
|
19
|
-
| <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\>
|
|
20
|
-
| <a id="property-
|
|
21
|
-
| <a id="property-
|
|
15
|
+
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
16
|
+
| ------------------------------------------------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| <a id="property-actor"></a> `actor` | `readonly` | [`RoutableActor`](RoutableActor.md) | The actor to keep in step with the browser URL. It must implement `Routable`. | - | [play-dom-router/src/connect-router.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L26) |
|
|
18
|
+
| <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](../../play-router/index/interfaces/BasePathOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix", which is the behaviour of every release before this option existed. | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md).[`basePath`](../../play-router/index/interfaces/RouterBridgeOptions.md#property-basepath) | [play-url/src/base-path.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-url/src/base-path.ts#L62) |
|
|
19
|
+
| <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](../../play-router/index/interfaces/BasePathOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md).[`basePathParams`](../../play-router/index/interfaces/RouterBridgeOptions.md#property-basepathparams) | [play-url/src/base-path.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-url/src/base-path.ts#L76) |
|
|
20
|
+
| <a id="property-compiledcache"></a> `compiledCache?` | `readonly` | [`PatternCache`](../../play-router/index/interfaces/PatternCache.md)\<[`URLPatternLike`](../../play-router/index/type-aliases/URLPatternLike.md)\> | The cache of the COMPILED `URLPattern`, which is what this function returns. The default is a cache that this module shares with every caller of the process. Pass one to give a tenant or a request a compilation that no other evicts, and pass `{ get: () => undefined, set: () => {} }` to compile each time. A caller that passes `patternCache` for isolation passes this one too. The compiled cache is read FIRST, so a hit on it answers before the parse runs at all — a passed parse cache alone therefore isolates nothing once another caller has compiled the same pattern. | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md).[`compiledCache`](../../play-router/index/interfaces/RouterBridgeOptions.md#property-compiledcache) | [play-url/src/url-pattern-utils.ts:119](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-url/src/url-pattern-utils.ts#L119) |
|
|
21
|
+
| <a id="property-patterncache"></a> `patternCache?` | `readonly` | [`PatternCache`](../../play-router/index/interfaces/PatternCache.md)\<[`ParsedPattern`](../../play-router/index/interfaces/ParsedPattern.md)\> | The cache of the PARSE of a pattern. The default is the cache that this package shares with every caller of the process. | [`RouterBridgeOptions`](../../play-router/index/interfaces/RouterBridgeOptions.md).[`patternCache`](../../play-router/index/interfaces/RouterBridgeOptions.md#property-patterncache) | [play-pattern/src/cache.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/cache.ts#L40) |
|
|
22
|
+
| <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteLookupContract`](RouteLookupContract.md) | The route lookup that matches a URL pathname to a machine state ID. | - | [play-dom-router/src/connect-router.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L40) |
|
|
23
|
+
| <a id="property-router"></a> `router` | `readonly` | `Pick`\<[`VanillaRouter`](VanillaRouter.md), `"history"`\> | The vanilla router from [createRouter](../functions/createRouter.md). The type states the HISTORY alone, because that is what this function reads: the bridge takes `location` for the first synchronization, it writes each navigation with `push`, and it watches the browser with `subscribe`. It calls `destroy` never, and it releases the history never — the owner of the history does that. A whole [VanillaRouter](VanillaRouter.md) satisfies it, and a caller that holds one passes it as it always did. A caller that holds a history and no router passes `{ history }`. | - | [play-dom-router/src/connect-router.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L38) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayRouteEvent
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:336](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-router/src/types.ts:336](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L336)
|
|
6
6
|
|
|
7
7
|
The routing event, with its parameters and its query
|
|
8
8
|
|
|
@@ -122,9 +122,9 @@ analysis of the pattern.
|
|
|
122
122
|
|
|
123
123
|
| Property | Modifier | Type | Description | Defined in |
|
|
124
124
|
| -------------------------------------- | ---------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
125
|
-
| <a id="property-data"></a> `data?` | `readonly` | [`RouteData`](../../play-router/index/type-aliases/RouteData.md) | The extra data that the SENDER of this event supplies: a router bridge, or the code of an application. It is not what the target state declares — that is [RouteObject.data](../../play-router/index/interfaces/RouteObject.md#property-data), and a resolver there reads this field. | [play-router/src/types.ts:346](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
126
|
-
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | - | [play-router/src/types.ts:347](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
127
|
-
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:339](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
128
|
-
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
129
|
-
| <a id="property-to"></a> `to` | `readonly` | `string` | - | [play-router/src/types.ts:338](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
130
|
-
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | - | [play-router/src/types.ts:337](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
125
|
+
| <a id="property-data"></a> `data?` | `readonly` | [`RouteData`](../../play-router/index/type-aliases/RouteData.md) | The extra data that the SENDER of this event supplies: a router bridge, or the code of an application. It is not what the target state declares — that is [RouteObject.data](../../play-router/index/interfaces/RouteObject.md#property-data), and a resolver there reads this field. | [play-router/src/types.ts:346](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L346) |
|
|
126
|
+
| <a id="property-match"></a> `match?` | `readonly` | `unknown` | - | [play-router/src/types.ts:347](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L347) |
|
|
127
|
+
| <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:339](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L339) |
|
|
128
|
+
| <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | - | [play-router/src/types.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L340) |
|
|
129
|
+
| <a id="property-to"></a> `to` | `readonly` | `string` | - | [play-router/src/types.ts:338](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L338) |
|
|
130
|
+
| <a id="property-type"></a> `type` | `readonly` | `"play.route"` | - | [play-router/src/types.ts:337](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L337) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RoutableActor
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L392)
|
|
6
6
|
|
|
7
7
|
The minimal actor interface that `RouterBridgeBase` and every framework router
|
|
8
8
|
adapter require.
|
|
@@ -44,10 +44,10 @@ class MyBridge extends RouterBridgeBase {
|
|
|
44
44
|
|
|
45
45
|
## Properties
|
|
46
46
|
|
|
47
|
-
| Property | Modifier | Type
|
|
48
|
-
| ------------------------------------------------- | ---------- |
|
|
49
|
-
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`
|
|
50
|
-
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null`
|
|
47
|
+
| Property | Modifier | Type | Inherited from | Defined in |
|
|
48
|
+
| ------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
49
|
+
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`ReadonlyAtom`](../../play-atom/interfaces/ReadonlyAtom.md)\<`string` \| `null`\> | [`Routable`](../../play-router/index/interfaces/Routable.md).[`currentRoute`](../../play-router/index/interfaces/Routable.md#property-currentroute) | [play-router/src/types.ts:354](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L354) |
|
|
50
|
+
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [`Routable`](../../play-router/index/interfaces/Routable.md).[`initialRoute`](../../play-router/index/interfaces/Routable.md#property-initialroute) | [play-router/src/types.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L355) |
|
|
51
51
|
|
|
52
52
|
## Methods
|
|
53
53
|
|
|
@@ -57,7 +57,7 @@ class MyBridge extends RouterBridgeBase {
|
|
|
57
57
|
send(event): void;
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Defined in: [play-router/src/types.ts:394](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
60
|
+
Defined in: [play-router/src/types.ts:394](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L394)
|
|
61
61
|
|
|
62
62
|
Sends a route navigation event to the actor.
|
|
63
63
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteLookupContract
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L16)
|
|
6
6
|
|
|
7
7
|
The structural route lookup interface that [connectRouter](../functions/connectRouter.md) accepts.
|
|
8
8
|
|
|
@@ -21,7 +21,7 @@ that holds one form only still resolves the path.
|
|
|
21
21
|
getPathByStateId(id): string | null | undefined;
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
24
|
+
Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L18)
|
|
25
25
|
|
|
26
26
|
#### Parameters
|
|
27
27
|
|
|
@@ -41,7 +41,7 @@ Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachi
|
|
|
41
41
|
getStateIdByPath(path): string | null | undefined;
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
44
|
+
Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/connect-router.ts#L17)
|
|
45
45
|
|
|
46
46
|
#### Parameters
|
|
47
47
|
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:
|
|
5
|
+
Defined in: [play-router/src/types.ts:565](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L565)
|
|
6
6
|
|
|
7
7
|
The options of `createRouteMap` and of `createRouteMapFromTree`.
|
|
8
8
|
|
|
9
|
+
## Extends
|
|
10
|
+
|
|
11
|
+
- [`CompileOptions`](../../play-router/index/interfaces/CompileOptions.md)
|
|
12
|
+
|
|
9
13
|
## Properties
|
|
10
14
|
|
|
11
|
-
| Property
|
|
12
|
-
|
|
|
13
|
-
| <a id="property-
|
|
15
|
+
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
16
|
+
| ---------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| <a id="property-compiledcache"></a> `compiledCache?` | `readonly` | [`PatternCache`](../../play-router/index/interfaces/PatternCache.md)\<[`URLPatternLike`](../../play-router/index/type-aliases/URLPatternLike.md)\> | The cache of the COMPILED `URLPattern`, which is what this function returns. The default is a cache that this module shares with every caller of the process. Pass one to give a tenant or a request a compilation that no other evicts, and pass `{ get: () => undefined, set: () => {} }` to compile each time. A caller that passes `patternCache` for isolation passes this one too. The compiled cache is read FIRST, so a hit on it answers before the parse runs at all — a passed parse cache alone therefore isolates nothing once another caller has compiled the same pattern. | [`CompileOptions`](../../play-router/index/interfaces/CompileOptions.md).[`compiledCache`](../../play-router/index/interfaces/CompileOptions.md#property-compiledcache) | [play-url/src/url-pattern-utils.ts:119](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-url/src/url-pattern-utils.ts#L119) |
|
|
18
|
+
| <a id="property-pathcache"></a> `pathCache?` | `public` | [`PatternCache`](../../play-router/index/interfaces/PatternCache.md)\<`string` \| `null`\> | The cache of the state that a VISITED PATH resolves to, or `null` for a path that resolves to none. The default is a cache of this map alone, of 500 entries in each of two generations. Pass one to raise that bound, to share the resolution across maps, or to give it an eviction policy of your own: `createPatternCache(5000)` builds one, and so does any object with a `get` and a `set`. A cache that a caller passes is keyed by the ROUTE TABLE. Two maps built from the same mappings, in the same order, therefore read each other's answers — which is what a server that rebuilds its map for each request wants — and two maps built from different mappings never do, because a map with no route for a path writes `null` for it and a map that holds one must not read that. The keys are the paths that a visitor reaches, so the key space is unbounded: a cache with no bound of its own grows for the life of the process. | - | [play-router/src/types.ts:584](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L584) |
|
|
19
|
+
| <a id="property-patterncache"></a> `patternCache?` | `readonly` | [`PatternCache`](../../play-router/index/interfaces/PatternCache.md)\<[`ParsedPattern`](../../play-router/index/interfaces/ParsedPattern.md)\> | The cache of the PARSE of a pattern. The default is the cache that this package shares with every caller of the process. | [`CompileOptions`](../../play-router/index/interfaces/CompileOptions.md).[`patternCache`](../../play-router/index/interfaces/CompileOptions.md#property-patterncache) | [play-pattern/src/cache.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-pattern/src/cache.ts#L40) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouteMapping
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:
|
|
5
|
+
Defined in: [play-router/src/base-route-map.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L58)
|
|
6
6
|
|
|
7
7
|
One entry of the map between a state ID and a path.
|
|
8
8
|
|
|
@@ -24,5 +24,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
|
|
|
24
24
|
|
|
25
25
|
| Property | Modifier | Type | Description | Defined in |
|
|
26
26
|
| --------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
-
| <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:
|
|
28
|
-
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:
|
|
27
|
+
| <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L62) |
|
|
28
|
+
| <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/base-route-map.ts#L60) |
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouterBridge
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/types.ts:
|
|
5
|
+
Defined in: [play-router/src/types.ts:436](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L436)
|
|
6
6
|
|
|
7
7
|
The RouterBridge interface of a runtime infrastructure adapter
|
|
8
8
|
|
|
9
9
|
The interface defines the connection of the lifecycle between the infrastructure,
|
|
10
10
|
for example a framework router, and the Actor. The infrastructure builds a "bridge"
|
|
11
|
-
to the Actor: it observes the
|
|
11
|
+
to the Actor: it observes the atoms of the Actor, and it manages its own
|
|
12
12
|
lifecycle accordingly.
|
|
13
13
|
|
|
14
14
|
**Architectural context:** the interface implements **Passive Infrastructure
|
|
15
15
|
(INV-04)**, because it gives an observation in one direction. The infrastructure
|
|
16
|
-
connects to observe the
|
|
16
|
+
connects to observe the atoms of the Actor (currentRoute, currentView, and
|
|
17
17
|
state), and it reflects each change. It makes no decision about the state.
|
|
18
18
|
|
|
19
19
|
## Example
|
|
@@ -22,24 +22,22 @@ The implementation of a framework router bridge
|
|
|
22
22
|
|
|
23
23
|
```typescript
|
|
24
24
|
import type { RouterBridge } from "@xmachines/play-router";
|
|
25
|
-
import {
|
|
25
|
+
import { watchAtom, type Cleanup } from "@xmachines/play-atom";
|
|
26
26
|
|
|
27
27
|
class MyRouterBridge implements RouterBridge {
|
|
28
|
-
private
|
|
28
|
+
private stop: Cleanup | null = null;
|
|
29
29
|
|
|
30
30
|
async connect(): Promise<void> {
|
|
31
|
-
// Start the observation of the actor.currentRoute
|
|
32
|
-
this.
|
|
33
|
-
const route = actor.currentRoute.get();
|
|
31
|
+
// Start the observation of the actor.currentRoute atom
|
|
32
|
+
this.stop = watchAtom(actor.currentRoute, (route) => {
|
|
34
33
|
if (route) router.navigate(route);
|
|
35
34
|
});
|
|
36
|
-
this.watcher.watch(actor.currentRoute);
|
|
37
35
|
}
|
|
38
36
|
|
|
39
37
|
async disconnect(): Promise<void> {
|
|
40
|
-
// Stop the observation, and
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
38
|
+
// Stop the observation, and release the subscription
|
|
39
|
+
this.stop?.();
|
|
40
|
+
this.stop = null;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
```
|
|
@@ -56,12 +54,12 @@ class MyRouterBridge implements RouterBridge {
|
|
|
56
54
|
connect(): void | Promise<void>;
|
|
57
55
|
```
|
|
58
56
|
|
|
59
|
-
Defined in: [play-router/src/types.ts:
|
|
57
|
+
Defined in: [play-router/src/types.ts:453](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L453)
|
|
60
58
|
|
|
61
59
|
Connects the router bridge to the Actor
|
|
62
60
|
|
|
63
61
|
The infrastructure calls it when it must start the observation of the Actor
|
|
64
|
-
|
|
62
|
+
atoms, and when it must bring its own state, for example the browser URL, in line
|
|
65
63
|
with the Actor state.
|
|
66
64
|
|
|
67
65
|
#### Returns
|
|
@@ -75,7 +73,7 @@ The promise that resolves after the connection, or void for a synchronous connec
|
|
|
75
73
|
```typescript
|
|
76
74
|
const bridge: RouterBridge = createBridge(actor, router);
|
|
77
75
|
await bridge.connect();
|
|
78
|
-
// The bridge observes the actor.currentRoute
|
|
76
|
+
// The bridge observes the actor.currentRoute atom now
|
|
79
77
|
```
|
|
80
78
|
|
|
81
79
|
---
|
|
@@ -86,12 +84,12 @@ await bridge.connect();
|
|
|
86
84
|
disconnect(): void | Promise<void>;
|
|
87
85
|
```
|
|
88
86
|
|
|
89
|
-
Defined in: [play-router/src/types.ts:
|
|
87
|
+
Defined in: [play-router/src/types.ts:469](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/types.ts#L469)
|
|
90
88
|
|
|
91
89
|
Disconnects the router bridge from the Actor
|
|
92
90
|
|
|
93
91
|
The infrastructure calls it when it must stop the observation and free its
|
|
94
|
-
resources, for example
|
|
92
|
+
resources, for example an atom watcher and an event listener.
|
|
95
93
|
|
|
96
94
|
#### Returns
|
|
97
95
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: RouterConnection()
|
|
4
4
|
|
|
5
|
-
Defined in: [play-router/src/provider-lifecycle.ts:
|
|
5
|
+
Defined in: [play-router/src/provider-lifecycle.ts:292](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L292)
|
|
6
6
|
|
|
7
7
|
What `connectRouter` of an adapter returns.
|
|
8
8
|
|
|
@@ -21,7 +21,7 @@ stale.
|
|
|
21
21
|
RouterConnection(): void;
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Defined in: [play-router/src/provider-lifecycle.ts:
|
|
24
|
+
Defined in: [play-router/src/provider-lifecycle.ts:294](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L294)
|
|
25
25
|
|
|
26
26
|
Stops the synchronization. The same call as [RouterConnection.disconnect](#disconnect).
|
|
27
27
|
|
|
@@ -33,8 +33,8 @@ Stops the synchronization. The same call as [RouterConnection.disconnect](#disco
|
|
|
33
33
|
|
|
34
34
|
| Property | Modifier | Type | Description | Defined in |
|
|
35
35
|
| ----------------------------------------------------- | ---------- | -------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
36
|
-
| <a id="property-basepath"></a> `basePath` | `readonly` | `string` | The resolved prefix of the mount, or `""` when the machine owns the whole router. | [play-router/src/provider-lifecycle.ts:
|
|
37
|
-
| <a id="property-basepathparams"></a> `basePathParams` | `readonly` | `Readonly`\<`Record`\<`string`, `string`\>\> | The values of the `:param` segments of the mount. They travel in no event. | [play-router/src/provider-lifecycle.ts:
|
|
36
|
+
| <a id="property-basepath"></a> `basePath` | `readonly` | `string` | The resolved prefix of the mount, or `""` when the machine owns the whole router. | [play-router/src/provider-lifecycle.ts:315](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L315) |
|
|
37
|
+
| <a id="property-basepathparams"></a> `basePathParams` | `readonly` | `Readonly`\<`Record`\<`string`, `string`\>\> | The values of the `:param` segments of the mount. They travel in no event. | [play-router/src/provider-lifecycle.ts:317](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L317) |
|
|
38
38
|
|
|
39
39
|
## Methods
|
|
40
40
|
|
|
@@ -44,7 +44,7 @@ Stops the synchronization. The same call as [RouterConnection.disconnect](#disco
|
|
|
44
44
|
dispose: void;
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Defined in: [play-router/src/provider-lifecycle.ts:
|
|
47
|
+
Defined in: [play-router/src/provider-lifecycle.ts:313](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L313)
|
|
48
48
|
|
|
49
49
|
Stops the synchronization when the scope of a `using` declaration ends.
|
|
50
50
|
|
|
@@ -73,7 +73,7 @@ The release is [RouterConnection.disconnect](#disconnect), which is idempotent.
|
|
|
73
73
|
disconnect(): void;
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
Defined in: [play-router/src/provider-lifecycle.ts:
|
|
76
|
+
Defined in: [play-router/src/provider-lifecycle.ts:296](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L296)
|
|
77
77
|
|
|
78
78
|
Stops the synchronization.
|
|
79
79
|
|
|
@@ -89,7 +89,7 @@ Stops the synchronization.
|
|
|
89
89
|
setBasePath(basePath?, basePathParams?): void;
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
Defined in: [play-router/src/provider-lifecycle.ts:
|
|
92
|
+
Defined in: [play-router/src/provider-lifecycle.ts:319](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-router/src/provider-lifecycle.ts#L319)
|
|
93
93
|
|
|
94
94
|
Moves the mount of the live bridge, with no teardown.
|
|
95
95
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: VanillaRouter
|
|
4
4
|
|
|
5
|
-
Defined in: [play-dom-router/src/create-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-dom-router/src/create-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L24)
|
|
6
6
|
|
|
7
7
|
The router that [createRouter](../functions/createRouter.md) builds and returns.
|
|
8
8
|
|
|
@@ -26,8 +26,8 @@ release is idempotent because [BrowserHistory.destroy](BrowserHistory.md#destroy
|
|
|
26
26
|
|
|
27
27
|
| Property | Modifier | Type | Description | Defined in |
|
|
28
28
|
| ------------------------------------------- | ---------- | -------------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
29
|
-
| <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | The history instance | [play-dom-router/src/create-router.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
30
|
-
| <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/index/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
29
|
+
| <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | The history instance | [play-dom-router/src/create-router.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L28) |
|
|
30
|
+
| <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/index/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L33) |
|
|
31
31
|
|
|
32
32
|
## Methods
|
|
33
33
|
|
|
@@ -37,7 +37,7 @@ release is idempotent because [BrowserHistory.destroy](BrowserHistory.md#destroy
|
|
|
37
37
|
dispose: void;
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
Defined in: [play-dom-router/src/create-router.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
40
|
+
Defined in: [play-dom-router/src/create-router.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L41)
|
|
41
41
|
|
|
42
42
|
Releases the history with [VanillaRouter.destroy](#destroy). It is idempotent.
|
|
43
43
|
|
|
@@ -53,7 +53,7 @@ Releases the history with [VanillaRouter.destroy](#destroy). It is idempotent.
|
|
|
53
53
|
destroy(): void;
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
Defined in: [play-dom-router/src/create-router.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
56
|
+
Defined in: [play-dom-router/src/create-router.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play-dom-router/src/create-router.ts#L38)
|
|
57
57
|
|
|
58
58
|
Cleans up
|
|
59
59
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type Cleanup = () => void & { [Key in DisposeKey]: () => void };
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play/src/disposable.ts#L66)
|
|
10
10
|
|
|
11
11
|
The release of a subscription. A caller runs it, or a scope releases it.
|
|
12
12
|
|
|
@@ -16,12 +16,12 @@ caller inside one scope writes `using` and writes no teardown at all:
|
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
18
|
// The explicit form. It stays correct.
|
|
19
|
-
const stop =
|
|
19
|
+
const stop = watchAtom(count, render);
|
|
20
20
|
stop();
|
|
21
21
|
|
|
22
22
|
// The scoped form. The scope releases it, and an exception releases it too.
|
|
23
23
|
{
|
|
24
|
-
using stop =
|
|
24
|
+
using stop = watchAtom(count, render);
|
|
25
25
|
render(count.get());
|
|
26
26
|
}
|
|
27
27
|
```
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const DISPOSE: DisposeKey;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.0/packages/play/src/disposable.ts#L94)
|
|
10
10
|
|
|
11
11
|
The key that a release is stored under.
|
|
12
12
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
[API](../../README.md) / @xmachines/play-pattern
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-pattern
|
|
4
|
+
|
|
5
|
+
The route pattern language of the XMachines Play Architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-pattern)
|
|
8
|
+
|
|
9
|
+
One parse of the URLPattern pathname grammar, and the path that it builds back.
|
|
10
|
+
|
|
11
|
+
## What this package is
|
|
12
|
+
|
|
13
|
+
`URLPattern` is the pattern language of XMachines. This package reads a route pattern ONE time and answers every question that a router asks about it, and it writes a path back from the same parse.
|
|
14
|
+
|
|
15
|
+
- **`parsePattern(pattern)`** — the parts, the params, which of them a path must fill, whether the pattern needs a match, the bucket key, the bare form, and the literal path.
|
|
16
|
+
- **`buildPath(pattern, params)`** — the path that the pattern describes, with each param filled. It reports a fault through its return value, and it throws never: `reason: "missing"` for a param that needs a value and has none, and `reason: "unresolvable"` for a param that carries a value no path can hold, such as a dot segment.
|
|
17
|
+
- **`getIndexKey(path)`** — the bucket key of a concrete path.
|
|
18
|
+
- **`isDotSegment(segment)`** — whether a URL resolves the segment away. `buildPath` reads it, and [`@xmachines/play-url`](../play-url/README.md) reads it for a base path, so ONE definition answers for both.
|
|
19
|
+
|
|
20
|
+
Both directions read the same parts, so a route that the match reads derives a URL that the match reads back.
|
|
21
|
+
|
|
22
|
+
## What this package is NOT
|
|
23
|
+
|
|
24
|
+
It holds no `URLPattern` API. A parse is string work and it needs no constructor, so this package carries no polyfill. [`@xmachines/play-url`](../play-url/README.md) holds the API, the base path and the params of a framework router, and it reads this package for the language.
|
|
25
|
+
|
|
26
|
+
That line is why the package exists. [`@xmachines/play-xstate`](../play-xstate/README.md) BUILDS a URL and matches none, so it reads the grammar and installs no matching machinery for it.
|
|
27
|
+
|
|
28
|
+
## Install
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pnpm add @xmachines/play-pattern
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Most applications install it through [`@xmachines/play-url`](../play-url/README.md), which re-exports the language whole. [`@xmachines/play-router`](../play-router/README.md) re-exports the part that a router needs: `parsePattern` and `createPatternCache`.
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { buildPath, parsePattern } from "@xmachines/play-pattern";
|
|
40
|
+
|
|
41
|
+
parsePattern("/settings/:section?").requiredNames; // []
|
|
42
|
+
parsePattern("/docs/:cat-id").names; // ["cat-id"]
|
|
43
|
+
|
|
44
|
+
buildPath("/profile/:userId", { userId: "alice" }); // { ok: true, path: "/profile/alice" }
|
|
45
|
+
buildPath("/settings/:section?", {}); // { ok: true, path: "/settings" }
|
|
46
|
+
buildPath("/profile/:userId", {}); // { ok: false, reason: "missing", missing: "userId" }
|
|
47
|
+
buildPath("/files/:name", { name: ".." }); // { ok: false, reason: "unresolvable", param: "name", value: ".." }
|
|
48
|
+
buildPath("/files/v:version", { version: ".." }); // { ok: true, path: "/files/v.." } — the value shares the segment
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## The grammar
|
|
52
|
+
|
|
53
|
+
| form | meaning |
|
|
54
|
+
| ------------ | --------------------------------------------------------- |
|
|
55
|
+
| `/users` | a literal |
|
|
56
|
+
| `:name` | a named param, one path segment |
|
|
57
|
+
| `:name(\d+)` | a named param with a regular expression constraint |
|
|
58
|
+
| `(\d+)` | an anonymous param, numbered from `0` |
|
|
59
|
+
| `*` | an anonymous param that matches every remaining character |
|
|
60
|
+
| `{…}` | a group, which carries its own literals and params |
|
|
61
|
+
| `?` `+` `*` | the modifier of the part before it |
|
|
62
|
+
| `\:` | an escape, which makes the next character a literal |
|
|
63
|
+
|
|
64
|
+
A param name of this library holds a hyphen, which URLPattern does not: `/docs/:cat-id` is ONE param named `cat-id`, and `ParsedPattern.normalized` carries the form that URLPattern compiles. The [routing guide](../../../guides/routing.md) states the divergence and which forms each direction reads.
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
MIT
|
|
69
|
+
|
|
70
|
+
The route pattern language of XMachines.
|
|
71
|
+
|
|
72
|
+
`URLPattern` is that language, and this package reads it ONE time for each pattern.
|
|
73
|
+
`parsePattern` answers every question that a router asks about a route — which params
|
|
74
|
+
the pattern declares, which of them a path must fill, whether the pattern needs a match
|
|
75
|
+
at all, which bucket it belongs to, and which path it matches when every optional part
|
|
76
|
+
is absent. `buildPath` walks the SAME parts back into a path, so a route that the match
|
|
77
|
+
reads derives a URL that the match reads back.
|
|
78
|
+
|
|
79
|
+
## What this package does NOT hold
|
|
80
|
+
|
|
81
|
+
The URLPattern API. A parse is string work, and it needs no constructor: this package
|
|
82
|
+
therefore carries no polyfill. `@xmachines/play-url` holds the API, the base path and
|
|
83
|
+
the params of a framework router, and it reads this package for the language.
|
|
84
|
+
|
|
85
|
+
That line is the reason the package exists. `@xmachines/play-xstate` BUILDS a URL and
|
|
86
|
+
it matches none, so it reads the grammar and it installs no matching machinery for it.
|
|
87
|
+
|
|
88
|
+
## See
|
|
89
|
+
|
|
90
|
+
[Routing guide](../../../guides/routing.md)
|
|
91
|
+
|
|
92
|
+
## Interfaces
|
|
93
|
+
|
|
94
|
+
- [GroupPart](interfaces/GroupPart.md)
|
|
95
|
+
- [LiteralPart](interfaces/LiteralPart.md)
|
|
96
|
+
- [ParamPart](interfaces/ParamPart.md)
|
|
97
|
+
- [ParsedPattern](interfaces/ParsedPattern.md)
|
|
98
|
+
- [ParseOptions](interfaces/ParseOptions.md)
|
|
99
|
+
- [PatternCache](interfaces/PatternCache.md)
|
|
100
|
+
- [PatternParam](interfaces/PatternParam.md)
|
|
101
|
+
|
|
102
|
+
## Type Aliases
|
|
103
|
+
|
|
104
|
+
- [PathBuildResult](type-aliases/PathBuildResult.md)
|
|
105
|
+
- [PathParams](type-aliases/PathParams.md)
|
|
106
|
+
- [PatternModifier](type-aliases/PatternModifier.md)
|
|
107
|
+
- [PatternPart](type-aliases/PatternPart.md)
|
|
108
|
+
|
|
109
|
+
## Functions
|
|
110
|
+
|
|
111
|
+
- [buildPath](functions/buildPath.md)
|
|
112
|
+
- [createPatternCache](functions/createPatternCache.md)
|
|
113
|
+
- [getIndexKey](functions/getIndexKey.md)
|
|
114
|
+
- [isDotSegment](functions/isDotSegment.md)
|
|
115
|
+
- [parsePattern](functions/parsePattern.md)
|