@xmachines/docs 5.0.2 → 6.1.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 +9 -5
- 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 +31 -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 +35 -26
- 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 +40 -47
- 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/DomRenderContext.md +2 -2
- 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 +20 -20
- 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 +12 -15
- 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 -5
- package/api/@xmachines/play-solid/functions/defineRegistry.md +5 -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 +10 -10
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +9 -8
- 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/variables/schema.md +35 -54
- package/api/@xmachines/play-solid-router/README.md +5 -3
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +8 -8
- 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/BaseComponentProps.md +10 -8
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +10 -8
- 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 +56 -24
- package/api/@xmachines/play-view/errors/README.md +2 -1
- package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +204 -0
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
- package/api/@xmachines/play-view/index/README.md +6 -0
- 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/composeViews.md +35 -0
- 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 +11 -11
- 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/ComposedView.md +16 -0
- package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +12 -8
- 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/ViewMeta.md +25 -0
- package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +23 -0
- 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/ViewTree.md +15 -0
- package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +14 -0
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
- 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 +4 -6
- 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 +42 -24
- 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 +12 -15
- 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 +2 -4
- package/api/@xmachines/shared/vite-aliases/README.md +7 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +11 -5
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +37 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +28 -0
- 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/vite-aliases/functions/xmTestTarget.md +26 -0
- package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +15 -0
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +5 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/api/README.md +1 -0
- package/api/llms.txt +9 -4
- package/contributing/architecture.md +54 -29
- package/contributing/configuration.md +44 -9
- package/contributing/development.md +28 -28
- package/contributing/migrating-to-play-atom.md +2 -1
- package/contributing/testing.md +33 -4
- 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 +190 -277
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +17 -17
- 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 +190 -277
- 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 +2 -2
- package/examples/multi-router-integration.md +1 -1
- package/examples/routing-patterns.md +1 -1
- package/examples/traffic-light.md +1 -1
- package/guides/README.md +5 -4
- package/guides/actor-model.md +4 -4
- package/guides/atoms.md +28 -16
- package/guides/getting-started.md +14 -16
- package/guides/inspector.md +1 -1
- package/guides/routing.md +41 -45
- package/guides/state-machines.md +69 -4
- package/guides/views.md +347 -0
- 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 +25 -9
- 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
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play](../../README.md) / [index](../README.md) / DisposeKey
|
|
2
|
-
|
|
3
|
-
# Type Alias: DisposeKey
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
type DisposeKey = SymbolConstructor extends object ? Key : never;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play/src/disposable.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L34)
|
|
10
|
-
|
|
11
|
-
The dispose key of the ambient library, and `never` where the consumer omits it.
|
|
12
|
-
|
|
13
|
-
`Symbol.dispose` and the `Disposable` interface arrive with `lib.esnext.disposable`. A
|
|
14
|
-
consumer gets that library from `"lib": ["ESNext"]`, and NOT from `"lib": ["ES2022"]`
|
|
15
|
-
or `["ES2023"]`. A published `.d.ts` that names either one therefore refuses to
|
|
16
|
-
type-check for every consumer of the second kind, and this package cannot ask for the
|
|
17
|
-
library on their behalf: TypeScript copies no `/// <reference lib="..." />` into
|
|
18
|
-
declaration output.
|
|
19
|
-
|
|
20
|
-
The conditional asks the compiler instead of naming the key. Where the library is
|
|
21
|
-
present the key resolves to `typeof Symbol.dispose`, and [Cleanup](Cleanup.md) is a
|
|
22
|
-
`Disposable` that a `using` declaration accepts. Where the library is absent the key
|
|
23
|
-
resolves to `never`, the mapped type of [Cleanup](Cleanup.md) adds no member, and `Cleanup`
|
|
24
|
-
IS the plain `() => void` that these functions returned before this protocol existed.
|
|
25
|
-
That consumer loses nothing, because `using` is syntax that the same library gates: a
|
|
26
|
-
compiler that cannot name `Symbol.dispose` cannot compile the form either.
|
|
27
|
-
|
|
28
|
-
The runtime is not involved. [asCleanup](../functions/asCleanup.md) stores the release under [DISPOSE](../variables/DISPOSE.md)
|
|
29
|
-
whatever the consumer declares, so one build serves both.
|
|
30
|
-
|
|
31
|
-
The type is exported because the published `.d.ts` names it, and a reader who asks why
|
|
32
|
-
[Cleanup](Cleanup.md) carries no dispose member needs to reach the answer.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play](../../README.md) / [index](../README.md) / DISPOSE
|
|
2
|
-
|
|
3
|
-
# Variable: DISPOSE
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
const DISPOSE: DisposeKey;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L94)
|
|
10
|
-
|
|
11
|
-
The key that a release is stored under.
|
|
12
|
-
|
|
13
|
-
`Symbol.dispose` where the runtime has it, and `Symbol.for("Symbol.dispose")` where it
|
|
14
|
-
does not. This is not a convenience — it is the difference between a `using` that
|
|
15
|
-
releases and one that raises.
|
|
16
|
-
|
|
17
|
-
A bundler that downlevels `using` for a target below Chrome 134 emits a helper that
|
|
18
|
-
reads `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`. A release stored under
|
|
19
|
-
a bare `[Symbol.dispose]` lands on the string key `"undefined"` in that runtime,
|
|
20
|
-
because the well-known symbol is absent and the computed key takes the value
|
|
21
|
-
`undefined`. The helper then looks up the registered symbol, finds nothing, and throws
|
|
22
|
-
`TypeError: Object is not disposable`. Storing under the same fallback closes the gap.
|
|
23
|
-
|
|
24
|
-
The type assertion states what the fallback IS. `Symbol.for` returns a plain `symbol`,
|
|
25
|
-
TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
|
|
26
|
-
a `unique symbol` other than the declaration itself.
|
|
27
|
-
|
|
28
|
-
This binding resolves ONE time, when the module evaluates. [asCleanup](../functions/asCleanup.md) therefore
|
|
29
|
-
reads `Symbol.dispose` again at each call and stores the release under both keys, so a
|
|
30
|
-
polyfill that installs the well-known symbol after this module evaluates still finds
|
|
31
|
-
the release. A class or an object literal that writes `[DISPOSE]()` has no such second
|
|
32
|
-
chance: it carries the key that existed when it was defined. Install an Explicit
|
|
33
|
-
Resource Management polyfill before the first import of `@xmachines/play`, which is the
|
|
34
|
-
ordinary contract of a polyfill.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-atom](../README.md) / Cleanup
|
|
2
|
-
|
|
3
|
-
# Type Alias: Cleanup
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
type Cleanup = () => void & { [Key in DisposeKey]: () => void };
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L66)
|
|
10
|
-
|
|
11
|
-
The release of a subscription. A caller runs it, or a scope releases it.
|
|
12
|
-
|
|
13
|
-
The type is a function AND a `Disposable`, so one value serves both forms. A caller
|
|
14
|
-
that holds the release in a field and runs it from a teardown keeps that code. A
|
|
15
|
-
caller inside one scope writes `using` and writes no teardown at all:
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
// The explicit form. It stays correct.
|
|
19
|
-
const stop = watchAtom(count, render);
|
|
20
|
-
stop();
|
|
21
|
-
|
|
22
|
-
// The scoped form. The scope releases it, and an exception releases it too.
|
|
23
|
-
{
|
|
24
|
-
using stop = watchAtom(count, render);
|
|
25
|
-
render(count.get());
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
`using` needs Node 24 or a browser with Explicit Resource Management, and it needs
|
|
30
|
-
`"lib": ["ESNext"]` of the consumer. The publishable packages build at
|
|
31
|
-
`target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
|
|
32
|
-
how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
|
|
33
|
-
still calls it as a function, and a consumer that declares a lower `lib` still reads
|
|
34
|
-
the type. See [DisposeKey](../../play/index/type-aliases/DisposeKey.md) for the second half of that.
|
|
35
|
-
|
|
36
|
-
## See
|
|
37
|
-
|
|
38
|
-
[Play RFC](../../../../rfc/play.md)
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-dom](../README.md) / asCleanup
|
|
2
|
-
|
|
3
|
-
# Function: asCleanup()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function asCleanup<R>(release): Cleanup;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play/src/disposable.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L149)
|
|
10
|
-
|
|
11
|
-
Makes one release function serve as a [Cleanup](../type-aliases/Cleanup.md).
|
|
12
|
-
|
|
13
|
-
The function comes back as itself, with [DISPOSE](../../play/index/variables/DISPOSE.md) added. Nothing wraps it, so
|
|
14
|
-
the identity of the release holds: a caller that compares two releases, or that puts
|
|
15
|
-
one in a `Set`, sees what it saw before this protocol existed.
|
|
16
|
-
|
|
17
|
-
The release therefore must be idempotent. A scope releases the value one time, but a
|
|
18
|
-
caller that runs the function AND lets the scope end runs it two times. Every release
|
|
19
|
-
of this workspace already accepts that, because a teardown that runs two times is
|
|
20
|
-
older than this protocol.
|
|
21
|
-
|
|
22
|
-
The release must be synchronous. `Disposable` and not `AsyncDisposable`: a
|
|
23
|
-
`Disposable` serves `using` AND `await using`, because `await using` falls back to
|
|
24
|
-
`Symbol.dispose`, while an `AsyncDisposable` raises a TypeError under a plain `using`
|
|
25
|
-
and forces every holder into an async function. Nothing in this workspace releases
|
|
26
|
-
asynchronously. An `AsyncCleanup` can arrive the day something does.
|
|
27
|
-
|
|
28
|
-
The `R extends void | undefined` bound is what holds that line. A plain `() => void`
|
|
29
|
-
parameter would ACCEPT `async () => {}`, because TypeScript lets a function that
|
|
30
|
-
returns a value stand where one returning `void` is wanted. The promise would then go
|
|
31
|
-
on the floor: the scope releases, the release looks finished, and the work runs later
|
|
32
|
-
with nobody able to await it. The bound rejects that at the call, and it rejects a
|
|
33
|
-
release that returns any other value as well.
|
|
34
|
-
|
|
35
|
-
The bound holds where the compiler knows the return type. It cannot hold where the
|
|
36
|
-
caller erased it: `R` infers `any` for a release typed `any`, such as a bare
|
|
37
|
-
`vi.fn()`, and `any` satisfies every constraint. A release declared `() => void` whose
|
|
38
|
-
body is async passes for the same reason — the declaration, and not the body, is what
|
|
39
|
-
the call site sees. Write the release inline, or type it, and the bound applies.
|
|
40
|
-
|
|
41
|
-
The release lands under [DISPOSE](../../play/index/variables/DISPOSE.md) and, when the two differ, under the
|
|
42
|
-
`Symbol.dispose` that exists at the CALL. `DISPOSE` resolves when the module evaluates,
|
|
43
|
-
so a polyfill that installs the well-known symbol later would otherwise leave the
|
|
44
|
-
release on the registered key while a downlevelled `using` reads the well-known one.
|
|
45
|
-
Writing both closes that window for every release this function publishes.
|
|
46
|
-
|
|
47
|
-
## Type Parameters
|
|
48
|
-
|
|
49
|
-
| Type Parameter |
|
|
50
|
-
| ----------------------------------- |
|
|
51
|
-
| `R` _extends_ `void` \| `undefined` |
|
|
52
|
-
|
|
53
|
-
## Parameters
|
|
54
|
-
|
|
55
|
-
| Parameter | Type | Description |
|
|
56
|
-
| --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
-
| `release` | () => `R` | The release to publish. It must return nothing. The function is changed in place, so pass a function that this release owns: a shared or module-level function becomes a `Disposable` for every other holder of it. |
|
|
58
|
-
|
|
59
|
-
## Returns
|
|
60
|
-
|
|
61
|
-
[`Cleanup`](../type-aliases/Cleanup.md)
|
|
62
|
-
|
|
63
|
-
The same function, now also a `Disposable`.
|
|
64
|
-
|
|
65
|
-
## Throws
|
|
66
|
-
|
|
67
|
-
TypeError - When the release is frozen or is otherwise not extensible. The
|
|
68
|
-
protocol adds a property, and a sealed function accepts none.
|
|
69
|
-
|
|
70
|
-
## Example
|
|
71
|
-
|
|
72
|
-
```ts
|
|
73
|
-
export function watchAtom<T>(atom: Readable<T>, onValue: (v: T) => void): Cleanup {
|
|
74
|
-
const subscription = atom.subscribe(() => onValue(atom.get()));
|
|
75
|
-
return asCleanup(() => subscription.unsubscribe());
|
|
76
|
-
}
|
|
77
|
-
```
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-dom](../README.md) / Cleanup
|
|
2
|
-
|
|
3
|
-
# Type Alias: Cleanup
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
type Cleanup = () => void & { [Key in DisposeKey]: () => void };
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L66)
|
|
10
|
-
|
|
11
|
-
The release of a subscription. A caller runs it, or a scope releases it.
|
|
12
|
-
|
|
13
|
-
The type is a function AND a `Disposable`, so one value serves both forms. A caller
|
|
14
|
-
that holds the release in a field and runs it from a teardown keeps that code. A
|
|
15
|
-
caller inside one scope writes `using` and writes no teardown at all:
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
// The explicit form. It stays correct.
|
|
19
|
-
const stop = watchAtom(count, render);
|
|
20
|
-
stop();
|
|
21
|
-
|
|
22
|
-
// The scoped form. The scope releases it, and an exception releases it too.
|
|
23
|
-
{
|
|
24
|
-
using stop = watchAtom(count, render);
|
|
25
|
-
render(count.get());
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
`using` needs Node 24 or a browser with Explicit Resource Management, and it needs
|
|
30
|
-
`"lib": ["ESNext"]` of the consumer. The publishable packages build at
|
|
31
|
-
`target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
|
|
32
|
-
how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
|
|
33
|
-
still calls it as a function, and a consumer that declares a lower `lib` still reads
|
|
34
|
-
the type. See [DisposeKey](../../play/index/type-aliases/DisposeKey.md) for the second half of that.
|
|
35
|
-
|
|
36
|
-
## See
|
|
37
|
-
|
|
38
|
-
[Play RFC](../../../../rfc/play.md)
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / asCleanup
|
|
2
|
-
|
|
3
|
-
# Function: asCleanup()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function asCleanup<R>(release): Cleanup;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play/src/disposable.ts:149](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L149)
|
|
10
|
-
|
|
11
|
-
Makes one release function serve as a [Cleanup](../type-aliases/Cleanup.md).
|
|
12
|
-
|
|
13
|
-
The function comes back as itself, with [DISPOSE](../variables/DISPOSE.md) added. Nothing wraps it, so
|
|
14
|
-
the identity of the release holds: a caller that compares two releases, or that puts
|
|
15
|
-
one in a `Set`, sees what it saw before this protocol existed.
|
|
16
|
-
|
|
17
|
-
The release therefore must be idempotent. A scope releases the value one time, but a
|
|
18
|
-
caller that runs the function AND lets the scope end runs it two times. Every release
|
|
19
|
-
of this workspace already accepts that, because a teardown that runs two times is
|
|
20
|
-
older than this protocol.
|
|
21
|
-
|
|
22
|
-
The release must be synchronous. `Disposable` and not `AsyncDisposable`: a
|
|
23
|
-
`Disposable` serves `using` AND `await using`, because `await using` falls back to
|
|
24
|
-
`Symbol.dispose`, while an `AsyncDisposable` raises a TypeError under a plain `using`
|
|
25
|
-
and forces every holder into an async function. Nothing in this workspace releases
|
|
26
|
-
asynchronously. An `AsyncCleanup` can arrive the day something does.
|
|
27
|
-
|
|
28
|
-
The `R extends void | undefined` bound is what holds that line. A plain `() => void`
|
|
29
|
-
parameter would ACCEPT `async () => {}`, because TypeScript lets a function that
|
|
30
|
-
returns a value stand where one returning `void` is wanted. The promise would then go
|
|
31
|
-
on the floor: the scope releases, the release looks finished, and the work runs later
|
|
32
|
-
with nobody able to await it. The bound rejects that at the call, and it rejects a
|
|
33
|
-
release that returns any other value as well.
|
|
34
|
-
|
|
35
|
-
The bound holds where the compiler knows the return type. It cannot hold where the
|
|
36
|
-
caller erased it: `R` infers `any` for a release typed `any`, such as a bare
|
|
37
|
-
`vi.fn()`, and `any` satisfies every constraint. A release declared `() => void` whose
|
|
38
|
-
body is async passes for the same reason — the declaration, and not the body, is what
|
|
39
|
-
the call site sees. Write the release inline, or type it, and the bound applies.
|
|
40
|
-
|
|
41
|
-
The release lands under [DISPOSE](../variables/DISPOSE.md) and, when the two differ, under the
|
|
42
|
-
`Symbol.dispose` that exists at the CALL. `DISPOSE` resolves when the module evaluates,
|
|
43
|
-
so a polyfill that installs the well-known symbol later would otherwise leave the
|
|
44
|
-
release on the registered key while a downlevelled `using` reads the well-known one.
|
|
45
|
-
Writing both closes that window for every release this function publishes.
|
|
46
|
-
|
|
47
|
-
## Type Parameters
|
|
48
|
-
|
|
49
|
-
| Type Parameter |
|
|
50
|
-
| ----------------------------------- |
|
|
51
|
-
| `R` _extends_ `void` \| `undefined` |
|
|
52
|
-
|
|
53
|
-
## Parameters
|
|
54
|
-
|
|
55
|
-
| Parameter | Type | Description |
|
|
56
|
-
| --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
-
| `release` | () => `R` | The release to publish. It must return nothing. The function is changed in place, so pass a function that this release owns: a shared or module-level function becomes a `Disposable` for every other holder of it. |
|
|
58
|
-
|
|
59
|
-
## Returns
|
|
60
|
-
|
|
61
|
-
[`Cleanup`](../type-aliases/Cleanup.md)
|
|
62
|
-
|
|
63
|
-
The same function, now also a `Disposable`.
|
|
64
|
-
|
|
65
|
-
## Throws
|
|
66
|
-
|
|
67
|
-
TypeError - When the release is frozen or is otherwise not extensible. The
|
|
68
|
-
protocol adds a property, and a sealed function accepts none.
|
|
69
|
-
|
|
70
|
-
## Example
|
|
71
|
-
|
|
72
|
-
```ts
|
|
73
|
-
export function watchAtom<T>(atom: Readable<T>, onValue: (v: T) => void): Cleanup {
|
|
74
|
-
const subscription = atom.subscribe(() => onValue(atom.get()));
|
|
75
|
-
return asCleanup(() => subscription.unsubscribe());
|
|
76
|
-
}
|
|
77
|
-
```
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / Cleanup
|
|
2
|
-
|
|
3
|
-
# Type Alias: Cleanup
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
type Cleanup = () => void & { [Key in DisposeKey]: () => void };
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L66)
|
|
10
|
-
|
|
11
|
-
The release of a subscription. A caller runs it, or a scope releases it.
|
|
12
|
-
|
|
13
|
-
The type is a function AND a `Disposable`, so one value serves both forms. A caller
|
|
14
|
-
that holds the release in a field and runs it from a teardown keeps that code. A
|
|
15
|
-
caller inside one scope writes `using` and writes no teardown at all:
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
// The explicit form. It stays correct.
|
|
19
|
-
const stop = watchAtom(count, render);
|
|
20
|
-
stop();
|
|
21
|
-
|
|
22
|
-
// The scoped form. The scope releases it, and an exception releases it too.
|
|
23
|
-
{
|
|
24
|
-
using stop = watchAtom(count, render);
|
|
25
|
-
render(count.get());
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
`using` needs Node 24 or a browser with Explicit Resource Management, and it needs
|
|
30
|
-
`"lib": ["ESNext"]` of the consumer. The publishable packages build at
|
|
31
|
-
`target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
|
|
32
|
-
how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
|
|
33
|
-
still calls it as a function, and a consumer that declares a lower `lib` still reads
|
|
34
|
-
the type. See [DisposeKey](../../play/index/type-aliases/DisposeKey.md) for the second half of that.
|
|
35
|
-
|
|
36
|
-
## See
|
|
37
|
-
|
|
38
|
-
[Play RFC](../../../../rfc/play.md)
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / DISPOSE
|
|
2
|
-
|
|
3
|
-
# Variable: DISPOSE
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
const DISPOSE: DisposeKey;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L94)
|
|
10
|
-
|
|
11
|
-
The key that a release is stored under.
|
|
12
|
-
|
|
13
|
-
`Symbol.dispose` where the runtime has it, and `Symbol.for("Symbol.dispose")` where it
|
|
14
|
-
does not. This is not a convenience — it is the difference between a `using` that
|
|
15
|
-
releases and one that raises.
|
|
16
|
-
|
|
17
|
-
A bundler that downlevels `using` for a target below Chrome 134 emits a helper that
|
|
18
|
-
reads `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`. A release stored under
|
|
19
|
-
a bare `[Symbol.dispose]` lands on the string key `"undefined"` in that runtime,
|
|
20
|
-
because the well-known symbol is absent and the computed key takes the value
|
|
21
|
-
`undefined`. The helper then looks up the registered symbol, finds nothing, and throws
|
|
22
|
-
`TypeError: Object is not disposable`. Storing under the same fallback closes the gap.
|
|
23
|
-
|
|
24
|
-
The type assertion states what the fallback IS. `Symbol.for` returns a plain `symbol`,
|
|
25
|
-
TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
|
|
26
|
-
a `unique symbol` other than the declaration itself.
|
|
27
|
-
|
|
28
|
-
This binding resolves ONE time, when the module evaluates. [asCleanup](../functions/asCleanup.md) therefore
|
|
29
|
-
reads `Symbol.dispose` again at each call and stores the release under both keys, so a
|
|
30
|
-
polyfill that installs the well-known symbol after this module evaluates still finds
|
|
31
|
-
the release. A class or an object literal that writes `[DISPOSE]()` has no such second
|
|
32
|
-
chance: it carries the key that existed when it was defined. Install an Explicit
|
|
33
|
-
Resource Management polyfill before the first import of `@xmachines/play`, which is the
|
|
34
|
-
ordinary contract of a polyfill.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
[API](../../../README.md) / [@xmachines/play-pattern](../README.md) / PatternCache
|
|
2
|
-
|
|
3
|
-
# Interface: PatternCache\<V\>
|
|
4
|
-
|
|
5
|
-
Defined in: [cache.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L53)
|
|
6
|
-
|
|
7
|
-
What this package needs from a cache: a read and a write, both by a string key.
|
|
8
|
-
|
|
9
|
-
The contract is this small on purpose. A `Map` satisfies it, and so does an LRU of any
|
|
10
|
-
library — a caller that wants a time to live or an eviction callback brings the module
|
|
11
|
-
that has one, and this package needs to know nothing about it.
|
|
12
|
-
|
|
13
|
-
A cache may forget an entry at any time, and it may forget none. Both are correct: the
|
|
14
|
-
parser runs again for an entry that is absent.
|
|
15
|
-
|
|
16
|
-
## Type Parameters
|
|
17
|
-
|
|
18
|
-
| Type Parameter |
|
|
19
|
-
| -------------- |
|
|
20
|
-
| `V` |
|
|
21
|
-
|
|
22
|
-
## Methods
|
|
23
|
-
|
|
24
|
-
### get()
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
get(key): V | undefined;
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Defined in: [cache.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L55)
|
|
31
|
-
|
|
32
|
-
Reads one entry, or `undefined` when the cache holds none for the key.
|
|
33
|
-
|
|
34
|
-
#### Parameters
|
|
35
|
-
|
|
36
|
-
| Parameter | Type |
|
|
37
|
-
| --------- | -------- |
|
|
38
|
-
| `key` | `string` |
|
|
39
|
-
|
|
40
|
-
#### Returns
|
|
41
|
-
|
|
42
|
-
`V` \| `undefined`
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### set()
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
set(key, value): void;
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Defined in: [cache.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L57)
|
|
53
|
-
|
|
54
|
-
Writes one entry.
|
|
55
|
-
|
|
56
|
-
#### Parameters
|
|
57
|
-
|
|
58
|
-
| Parameter | Type |
|
|
59
|
-
| --------- | -------- |
|
|
60
|
-
| `key` | `string` |
|
|
61
|
-
| `value` | `V` |
|
|
62
|
-
|
|
63
|
-
#### Returns
|
|
64
|
-
|
|
65
|
-
`void`
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-router](../../README.md) / [index](../README.md) / PatternCache
|
|
2
|
-
|
|
3
|
-
# Interface: PatternCache\<V\>
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-pattern/src/cache.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L53)
|
|
6
|
-
|
|
7
|
-
What this package needs from a cache: a read and a write, both by a string key.
|
|
8
|
-
|
|
9
|
-
The contract is this small on purpose. A `Map` satisfies it, and so does an LRU of any
|
|
10
|
-
library — a caller that wants a time to live or an eviction callback brings the module
|
|
11
|
-
that has one, and this package needs to know nothing about it.
|
|
12
|
-
|
|
13
|
-
A cache may forget an entry at any time, and it may forget none. Both are correct: the
|
|
14
|
-
parser runs again for an entry that is absent.
|
|
15
|
-
|
|
16
|
-
## Type Parameters
|
|
17
|
-
|
|
18
|
-
| Type Parameter |
|
|
19
|
-
| -------------- |
|
|
20
|
-
| `V` |
|
|
21
|
-
|
|
22
|
-
## Methods
|
|
23
|
-
|
|
24
|
-
### get()
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
get(key): V | undefined;
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Defined in: [packages/play-pattern/src/cache.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L55)
|
|
31
|
-
|
|
32
|
-
Reads one entry, or `undefined` when the cache holds none for the key.
|
|
33
|
-
|
|
34
|
-
#### Parameters
|
|
35
|
-
|
|
36
|
-
| Parameter | Type |
|
|
37
|
-
| --------- | -------- |
|
|
38
|
-
| `key` | `string` |
|
|
39
|
-
|
|
40
|
-
#### Returns
|
|
41
|
-
|
|
42
|
-
`V` \| `undefined`
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### set()
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
set(key, value): void;
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Defined in: [packages/play-pattern/src/cache.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L57)
|
|
53
|
-
|
|
54
|
-
Writes one entry.
|
|
55
|
-
|
|
56
|
-
#### Parameters
|
|
57
|
-
|
|
58
|
-
| Parameter | Type |
|
|
59
|
-
| --------- | -------- |
|
|
60
|
-
| `key` | `string` |
|
|
61
|
-
| `value` | `V` |
|
|
62
|
-
|
|
63
|
-
#### Returns
|
|
64
|
-
|
|
65
|
-
`void`
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-url](../../README.md) / [index](../README.md) / PatternCache
|
|
2
|
-
|
|
3
|
-
# Interface: PatternCache\<V\>
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-pattern/src/cache.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L53)
|
|
6
|
-
|
|
7
|
-
What this package needs from a cache: a read and a write, both by a string key.
|
|
8
|
-
|
|
9
|
-
The contract is this small on purpose. A `Map` satisfies it, and so does an LRU of any
|
|
10
|
-
library — a caller that wants a time to live or an eviction callback brings the module
|
|
11
|
-
that has one, and this package needs to know nothing about it.
|
|
12
|
-
|
|
13
|
-
A cache may forget an entry at any time, and it may forget none. Both are correct: the
|
|
14
|
-
parser runs again for an entry that is absent.
|
|
15
|
-
|
|
16
|
-
## Type Parameters
|
|
17
|
-
|
|
18
|
-
| Type Parameter |
|
|
19
|
-
| -------------- |
|
|
20
|
-
| `V` |
|
|
21
|
-
|
|
22
|
-
## Methods
|
|
23
|
-
|
|
24
|
-
### get()
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
get(key): V | undefined;
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Defined in: [packages/play-pattern/src/cache.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L55)
|
|
31
|
-
|
|
32
|
-
Reads one entry, or `undefined` when the cache holds none for the key.
|
|
33
|
-
|
|
34
|
-
#### Parameters
|
|
35
|
-
|
|
36
|
-
| Parameter | Type |
|
|
37
|
-
| --------- | -------- |
|
|
38
|
-
| `key` | `string` |
|
|
39
|
-
|
|
40
|
-
#### Returns
|
|
41
|
-
|
|
42
|
-
`V` \| `undefined`
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### set()
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
set(key, value): void;
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Defined in: [packages/play-pattern/src/cache.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-pattern/src/cache.ts#L57)
|
|
53
|
-
|
|
54
|
-
Writes one entry.
|
|
55
|
-
|
|
56
|
-
#### Parameters
|
|
57
|
-
|
|
58
|
-
| Parameter | Type |
|
|
59
|
-
| --------- | -------- |
|
|
60
|
-
| `key` | `string` |
|
|
61
|
-
| `value` | `V` |
|
|
62
|
-
|
|
63
|
-
#### Returns
|
|
64
|
-
|
|
65
|
-
`void`
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-xstate](../../README.md) / [index](../README.md) / DISPOSE
|
|
2
|
-
|
|
3
|
-
# Variable: DISPOSE
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
const DISPOSE: DisposeKey;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play/src/disposable.ts#L94)
|
|
10
|
-
|
|
11
|
-
The key that a release is stored under.
|
|
12
|
-
|
|
13
|
-
`Symbol.dispose` where the runtime has it, and `Symbol.for("Symbol.dispose")` where it
|
|
14
|
-
does not. This is not a convenience — it is the difference between a `using` that
|
|
15
|
-
releases and one that raises.
|
|
16
|
-
|
|
17
|
-
A bundler that downlevels `using` for a target below Chrome 134 emits a helper that
|
|
18
|
-
reads `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`. A release stored under
|
|
19
|
-
a bare `[Symbol.dispose]` lands on the string key `"undefined"` in that runtime,
|
|
20
|
-
because the well-known symbol is absent and the computed key takes the value
|
|
21
|
-
`undefined`. The helper then looks up the registered symbol, finds nothing, and throws
|
|
22
|
-
`TypeError: Object is not disposable`. Storing under the same fallback closes the gap.
|
|
23
|
-
|
|
24
|
-
The type assertion states what the fallback IS. `Symbol.for` returns a plain `symbol`,
|
|
25
|
-
TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
|
|
26
|
-
a `unique symbol` other than the declaration itself.
|
|
27
|
-
|
|
28
|
-
This binding resolves ONE time, when the module evaluates. [asCleanup](../../../play/index/functions/asCleanup.md) therefore
|
|
29
|
-
reads `Symbol.dispose` again at each call and stores the release under both keys, so a
|
|
30
|
-
polyfill that installs the well-known symbol after this module evaluates still finds
|
|
31
|
-
the release. A class or an object literal that writes `[DISPOSE]()` has no such second
|
|
32
|
-
chance: it carries the key that existed when it was defined. Install an Explicit
|
|
33
|
-
Resource Management polyfill before the first import of `@xmachines/play`, which is the
|
|
34
|
-
ordinary contract of a polyfill.
|