@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
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [errors](../README.md) / DisposeConflictError
|
|
2
|
+
|
|
3
|
+
# Class: DisposeConflictError
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/core/src/errors.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/errors.ts#L80)
|
|
6
|
+
|
|
7
|
+
[asDisposable](../../utils/functions/asDisposable.md) throws this error when the target
|
|
8
|
+
has a dispose member already, and that member is not the named release.
|
|
9
|
+
|
|
10
|
+
The scope would run that member and never the release that the caller names, so a
|
|
11
|
+
teardown would go missing without a sign. The error is a programmer error: fix the
|
|
12
|
+
call, and do not catch it in production code.
|
|
13
|
+
|
|
14
|
+
## Extends
|
|
15
|
+
|
|
16
|
+
- [`BaseError`](BaseError.md)
|
|
17
|
+
|
|
18
|
+
## Constructors
|
|
19
|
+
|
|
20
|
+
### Constructor
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
new DisposeConflictError(message, options?): DisposeConflictError;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Defined in: [packages/core/src/errors.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/errors.ts#L81)
|
|
27
|
+
|
|
28
|
+
#### Parameters
|
|
29
|
+
|
|
30
|
+
| Parameter | Type |
|
|
31
|
+
| ---------- | -------------- |
|
|
32
|
+
| `message` | `string` |
|
|
33
|
+
| `options?` | `ErrorOptions` |
|
|
34
|
+
|
|
35
|
+
#### Returns
|
|
36
|
+
|
|
37
|
+
`DisposeConflictError`
|
|
38
|
+
|
|
39
|
+
#### Overrides
|
|
40
|
+
|
|
41
|
+
[`BaseError`](BaseError.md).[`constructor`](BaseError.md#constructor)
|
|
42
|
+
|
|
43
|
+
## Properties
|
|
44
|
+
|
|
45
|
+
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
46
|
+
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
47
|
+
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`BaseError`](BaseError.md).[`cause`](BaseError.md#property-cause) | - |
|
|
48
|
+
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `<PACKAGE>_<DESCRIPTION>`, and a Play package writes `PLAY_<PACKAGE>_<DESCRIPTION>`. A code stays the same across each patch release and each minor release of one major version. Never match on `.message`. Always match on `.code`, or on the subclass. | [`BaseError`](BaseError.md).[`code`](BaseError.md#property-code) | [packages/core/src/errors.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/errors.ts#L56) |
|
|
49
|
+
| <a id="property-message"></a> `message` | `public` | `string` | - | [`BaseError`](BaseError.md).[`message`](BaseError.md#property-message) | - |
|
|
50
|
+
| <a id="property-name"></a> `name` | `public` | `string` | - | [`BaseError`](BaseError.md).[`name`](BaseError.md#property-name) | - |
|
|
51
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`BaseError`](BaseError.md).[`scope`](BaseError.md#property-scope) | [packages/core/src/errors.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/errors.ts#L46) |
|
|
52
|
+
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`BaseError`](BaseError.md).[`stack`](BaseError.md#property-stack) | - |
|
|
53
|
+
| <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`BaseError`](BaseError.md).[`stackTraceLimit`](BaseError.md#property-stacktracelimit) | - |
|
|
54
|
+
|
|
55
|
+
## Methods
|
|
56
|
+
|
|
57
|
+
### captureStackTrace()
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
static captureStackTrace(targetObject, constructorOpt?): void;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Defined in: `@types/node`
|
|
64
|
+
|
|
65
|
+
Creates a `.stack` property on `targetObject`, which when accessed returns
|
|
66
|
+
a string representing the location in the code at which
|
|
67
|
+
`Error.captureStackTrace()` was called.
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
const myObject = {};
|
|
71
|
+
Error.captureStackTrace(myObject);
|
|
72
|
+
myObject.stack; // Similar to `new Error().stack`
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The first line of the trace will be prefixed with
|
|
76
|
+
`${myObject.name}: ${myObject.message}`.
|
|
77
|
+
|
|
78
|
+
The optional `constructorOpt` argument accepts a function. If given, all frames
|
|
79
|
+
above `constructorOpt`, including `constructorOpt`, will be omitted from the
|
|
80
|
+
generated stack trace.
|
|
81
|
+
|
|
82
|
+
The `constructorOpt` argument is useful for hiding implementation
|
|
83
|
+
details of error generation from the user. For instance:
|
|
84
|
+
|
|
85
|
+
```js
|
|
86
|
+
function a() {
|
|
87
|
+
b();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function b() {
|
|
91
|
+
c();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function c() {
|
|
95
|
+
// Create an error without stack trace to avoid calculating the stack trace twice.
|
|
96
|
+
const { stackTraceLimit } = Error;
|
|
97
|
+
Error.stackTraceLimit = 0;
|
|
98
|
+
const error = new Error();
|
|
99
|
+
Error.stackTraceLimit = stackTraceLimit;
|
|
100
|
+
|
|
101
|
+
// Capture the stack trace above function b
|
|
102
|
+
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
a();
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Parameters
|
|
110
|
+
|
|
111
|
+
| Parameter | Type |
|
|
112
|
+
| ----------------- | ---------- |
|
|
113
|
+
| `targetObject` | `object` |
|
|
114
|
+
| `constructorOpt?` | `Function` |
|
|
115
|
+
|
|
116
|
+
#### Returns
|
|
117
|
+
|
|
118
|
+
`void`
|
|
119
|
+
|
|
120
|
+
#### Inherited from
|
|
121
|
+
|
|
122
|
+
[`BaseError`](BaseError.md).[`captureStackTrace`](BaseError.md#capturestacktrace)
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### isError()
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
static isError(error): error is Error;
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Defined in: `typescript`
|
|
133
|
+
|
|
134
|
+
Indicates whether the argument provided is a built-in Error instance or not.
|
|
135
|
+
|
|
136
|
+
#### Parameters
|
|
137
|
+
|
|
138
|
+
| Parameter | Type |
|
|
139
|
+
| --------- | --------- |
|
|
140
|
+
| `error` | `unknown` |
|
|
141
|
+
|
|
142
|
+
#### Returns
|
|
143
|
+
|
|
144
|
+
`error is Error`
|
|
145
|
+
|
|
146
|
+
#### Inherited from
|
|
147
|
+
|
|
148
|
+
[`BaseError`](BaseError.md).[`isError`](BaseError.md#iserror)
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### prepareStackTrace()
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
static prepareStackTrace(err, stackTraces): any;
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Defined in: `@types/node`
|
|
159
|
+
|
|
160
|
+
#### Parameters
|
|
161
|
+
|
|
162
|
+
| Parameter | Type |
|
|
163
|
+
| ------------- | ------------ |
|
|
164
|
+
| `err` | `Error` |
|
|
165
|
+
| `stackTraces` | `CallSite`[] |
|
|
166
|
+
|
|
167
|
+
#### Returns
|
|
168
|
+
|
|
169
|
+
`any`
|
|
170
|
+
|
|
171
|
+
#### See
|
|
172
|
+
|
|
173
|
+
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
|
|
174
|
+
|
|
175
|
+
#### Inherited from
|
|
176
|
+
|
|
177
|
+
[`BaseError`](BaseError.md).[`prepareStackTrace`](BaseError.md#preparestacktrace)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/core](../README.md) / utils
|
|
2
|
+
|
|
3
|
+
# utils
|
|
4
|
+
|
|
5
|
+
Small shared utilities of the XMachines packages
|
|
6
|
+
|
|
7
|
+
The `utils` subpath of `@xmachines/core` holds code that more than one `@xmachines/*`
|
|
8
|
+
package needs, and that belongs to no layer of the Play Architecture: the release
|
|
9
|
+
protocol, and small helpers for values and errors. The cache is on the `cache` subpath,
|
|
10
|
+
and the error base is on the `errors` subpath. The subpath keeps no module state, so
|
|
11
|
+
`DISPOSE` resolves to the same symbol in each copy.
|
|
12
|
+
|
|
13
|
+
## Type Aliases
|
|
14
|
+
|
|
15
|
+
- [DisposeKey](type-aliases/DisposeKey.md)
|
|
16
|
+
- [DisposeMember](type-aliases/DisposeMember.md)
|
|
17
|
+
|
|
18
|
+
## Variables
|
|
19
|
+
|
|
20
|
+
- [DISPOSE](variables/DISPOSE.md)
|
|
21
|
+
|
|
22
|
+
## Functions
|
|
23
|
+
|
|
24
|
+
- [asDisposable](functions/asDisposable.md)
|
|
25
|
+
- [createNullRecord](functions/createNullRecord.md)
|
|
26
|
+
- [createWarnOnce](functions/createWarnOnce.md)
|
|
27
|
+
- [describeValue](functions/describeValue.md)
|
|
28
|
+
- [isError](functions/isError.md)
|
|
29
|
+
- [isThenable](functions/isThenable.md)
|
|
30
|
+
- [releaseQuietly](functions/releaseQuietly.md)
|
|
31
|
+
- [rethrowLater](functions/rethrowLater.md)
|
|
32
|
+
- [safeString](functions/safeString.md)
|
|
33
|
+
- [shallowEqualExcept](functions/shallowEqualExcept.md)
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / asDisposable
|
|
2
|
+
|
|
3
|
+
# Function: asDisposable()
|
|
4
|
+
|
|
5
|
+
## Call Signature
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
function asDisposable<F>(release): F & DisposeMember;
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Defined in: [packages/core/src/utils/disposable.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/disposable.ts#L126)
|
|
12
|
+
|
|
13
|
+
Makes one release function a `Disposable`. The function is its own release.
|
|
14
|
+
|
|
15
|
+
The function comes back as itself, with [DISPOSE](../variables/DISPOSE.md) added. Nothing wraps it, so
|
|
16
|
+
the identity of the release holds: a caller that compares two releases, or that puts
|
|
17
|
+
one in a `Set`, sees what it saw before. A caller that runs the release keeps that
|
|
18
|
+
code, and a caller inside one scope writes `using`:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
// The explicit form.
|
|
22
|
+
const stop = watchAtom(count, render);
|
|
23
|
+
stop();
|
|
24
|
+
|
|
25
|
+
// The scoped form. The scope releases it, and an exception releases it too.
|
|
26
|
+
{
|
|
27
|
+
using stop = asDisposable(watchAtom(count, render));
|
|
28
|
+
render(count.get());
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
A value that is a `Disposable` already comes back unchanged. The function adds the key
|
|
33
|
+
only where it is absent, so a second call changes nothing. The one exception is a
|
|
34
|
+
well-known key that a late polyfill installed: the second call stores the release there.
|
|
35
|
+
|
|
36
|
+
The release must be idempotent. A scope releases the value one time, but a caller that
|
|
37
|
+
runs the function AND lets the scope end runs it two times. Every release of this
|
|
38
|
+
workspace accepts that.
|
|
39
|
+
|
|
40
|
+
The release must be synchronous. `Disposable` and not `AsyncDisposable`: a
|
|
41
|
+
`Disposable` serves `using` AND `await using`, because `await using` falls back to
|
|
42
|
+
`Symbol.dispose`, while an `AsyncDisposable` raises a TypeError under a plain `using`
|
|
43
|
+
and forces every holder into an async function. The `void | undefined` bound rejects
|
|
44
|
+
an async release: a plain `() => void` bound accepts `async () => {}`, because
|
|
45
|
+
TypeScript lets a function that returns a value stand where one that returns `void`
|
|
46
|
+
is wanted. The scope would then ignore the promise, and nothing could await the work.
|
|
47
|
+
|
|
48
|
+
The bound holds where the compiler knows the return type. It cannot hold where the
|
|
49
|
+
caller erased it: a release typed `any`, such as a bare `vi.fn()`, satisfies every
|
|
50
|
+
constraint. Write the release inline, or type it, and the bound applies.
|
|
51
|
+
|
|
52
|
+
`using` needs Node 24 or a browser with Explicit Resource Management, and it needs
|
|
53
|
+
`"lib": ["ESNext"]` of the consumer. See [DisposeKey](../type-aliases/DisposeKey.md) for a consumer without it.
|
|
54
|
+
|
|
55
|
+
### Type Parameters
|
|
56
|
+
|
|
57
|
+
| Type Parameter |
|
|
58
|
+
| ----------------------------------------- |
|
|
59
|
+
| `F` _extends_ () => `void` \| `undefined` |
|
|
60
|
+
|
|
61
|
+
### Parameters
|
|
62
|
+
|
|
63
|
+
| Parameter | Type | Description |
|
|
64
|
+
| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
65
|
+
| `release` | `F` | The release to publish. It must return nothing. The function is changed in place, so pass a function that this caller owns: a shared or module-level function becomes a `Disposable` for every other holder of it. |
|
|
66
|
+
|
|
67
|
+
### Returns
|
|
68
|
+
|
|
69
|
+
`F` & [`DisposeMember`](../type-aliases/DisposeMember.md)
|
|
70
|
+
|
|
71
|
+
The same function, now also a `Disposable`.
|
|
72
|
+
|
|
73
|
+
### Throws
|
|
74
|
+
|
|
75
|
+
TypeError - When the function is frozen or is otherwise not extensible, and a
|
|
76
|
+
dispose key holds no member yet.
|
|
77
|
+
|
|
78
|
+
### See
|
|
79
|
+
|
|
80
|
+
[Play RFC](../../../../../rfc/play.md)
|
|
81
|
+
|
|
82
|
+
## Call Signature
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
function asDisposable<T, R>(target, release): T & DisposeMember;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Defined in: [packages/core/src/utils/disposable.ts:157](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/disposable.ts#L157)
|
|
89
|
+
|
|
90
|
+
Makes one object a `Disposable`, with a release that the caller names.
|
|
91
|
+
|
|
92
|
+
The object comes back as itself, with [DISPOSE](../variables/DISPOSE.md) added, so a caller that compares
|
|
93
|
+
two objects sees what it saw before.
|
|
94
|
+
|
|
95
|
+
An object that is a `Disposable` already, with a dispose member own or inherited,
|
|
96
|
+
makes the call throw. The scope would run that member and never the release that the
|
|
97
|
+
caller names, so a teardown would go missing without a sign. A second call with the
|
|
98
|
+
SAME release is not a conflict: it returns the object, and it writes only a well-known
|
|
99
|
+
key that a late polyfill left empty.
|
|
100
|
+
|
|
101
|
+
The rules of the function form apply to the release: it must be idempotent, and it
|
|
102
|
+
must be synchronous.
|
|
103
|
+
|
|
104
|
+
### Type Parameters
|
|
105
|
+
|
|
106
|
+
| Type Parameter |
|
|
107
|
+
| ----------------------------------- |
|
|
108
|
+
| `T` _extends_ `object` |
|
|
109
|
+
| `R` _extends_ `void` \| `undefined` |
|
|
110
|
+
|
|
111
|
+
### Parameters
|
|
112
|
+
|
|
113
|
+
| Parameter | Type | Description |
|
|
114
|
+
| --------- | --------- | ---------------------------------------------------------------------------------------- |
|
|
115
|
+
| `target` | `T` | The object to publish. It is changed in place, so pass an object that this release owns. |
|
|
116
|
+
| `release` | () => `R` | The release that the scope runs. It must return nothing. |
|
|
117
|
+
|
|
118
|
+
### Returns
|
|
119
|
+
|
|
120
|
+
`T` & [`DisposeMember`](../type-aliases/DisposeMember.md)
|
|
121
|
+
|
|
122
|
+
The same object, now also a `Disposable`.
|
|
123
|
+
|
|
124
|
+
### Throws
|
|
125
|
+
|
|
126
|
+
[DisposeConflictError](../../errors/classes/DisposeConflictError.md) - When
|
|
127
|
+
the object has a dispose member already, and that member is not the named release.
|
|
128
|
+
|
|
129
|
+
### Throws
|
|
130
|
+
|
|
131
|
+
TypeError - When the object is frozen or is otherwise not extensible, and a
|
|
132
|
+
dispose key does not hold the release yet.
|
|
133
|
+
|
|
134
|
+
### Example
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
const subscription = selection.subscribe(render);
|
|
138
|
+
using disposable = asDisposable(subscription, () => subscription.unsubscribe());
|
|
139
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / createNullRecord
|
|
2
|
+
|
|
3
|
+
# Function: createNullRecord()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createNullRecord<V>(): Record<string, V>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/null-record.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/null-record.ts#L21)
|
|
10
|
+
|
|
11
|
+
Builds an empty record with no prototype.
|
|
12
|
+
|
|
13
|
+
A record that collects keys from outside the program — the params of a URL, the query
|
|
14
|
+
of a location — takes any key that the outside sends. An ordinary `{}` inherits from
|
|
15
|
+
`Object.prototype`, so a key such as `__proto__` writes the prototype and not an
|
|
16
|
+
entry, and a key such as `constructor` reads a function that nobody stored. A record
|
|
17
|
+
with no prototype holds each key as an own entry, and it reads nothing it did not
|
|
18
|
+
store.
|
|
19
|
+
|
|
20
|
+
## Type Parameters
|
|
21
|
+
|
|
22
|
+
| Type Parameter |
|
|
23
|
+
| -------------- |
|
|
24
|
+
| `V` |
|
|
25
|
+
|
|
26
|
+
## Returns
|
|
27
|
+
|
|
28
|
+
`Record`\<`string`, `V`\>
|
|
29
|
+
|
|
30
|
+
A new, empty record. Each call builds one.
|
|
31
|
+
|
|
32
|
+
## Example
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { createNullRecord } from "@xmachines/core/utils";
|
|
36
|
+
|
|
37
|
+
const params = createNullRecord<string>();
|
|
38
|
+
params["__proto__"] = "x"; // an own entry, and the prototype stays null
|
|
39
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / createWarnOnce
|
|
2
|
+
|
|
3
|
+
# Function: createWarnOnce()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function createWarnOnce(): (anchor, message) => void;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/warn-once.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/warn-once.ts#L27)
|
|
10
|
+
|
|
11
|
+
Builds a function that writes one warning for each anchor object, and no more.
|
|
12
|
+
|
|
13
|
+
A diagnostic that a hot path finds — a stale field of a static config, read on every
|
|
14
|
+
event — floods the console at the rate of that path. The key of this function is the
|
|
15
|
+
identity of an object that stays the same between two calls, such as the config
|
|
16
|
+
itself. Each anchor therefore reports one time, and a new object reports again.
|
|
17
|
+
|
|
18
|
+
The function is a factory, and it keeps its memory in a `WeakSet` of its own. A module
|
|
19
|
+
that calls it one time holds one memory for its diagnostics, and an anchor that nothing
|
|
20
|
+
else holds is free for the garbage collector.
|
|
21
|
+
|
|
22
|
+
## Returns
|
|
23
|
+
|
|
24
|
+
A function of `(anchor, message)`. It calls `console.warn(message)` for the
|
|
25
|
+
first call with an anchor, and it does nothing for every later call with that anchor.
|
|
26
|
+
|
|
27
|
+
(`anchor`, `message`) => `void`
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { createWarnOnce } from "@xmachines/core/utils";
|
|
33
|
+
|
|
34
|
+
const warnOnce = createWarnOnce();
|
|
35
|
+
|
|
36
|
+
function derive(config: Config): void {
|
|
37
|
+
if (config.legacy) warnOnce(config, "config.legacy has no effect");
|
|
38
|
+
}
|
|
39
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / describeValue
|
|
2
|
+
|
|
3
|
+
# Function: describeValue()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function describeValue(value): string;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/describe-value.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/describe-value.ts#L53)
|
|
10
|
+
|
|
11
|
+
Describes an unknown value for the message of an error, and throws nothing itself.
|
|
12
|
+
|
|
13
|
+
`JSON.stringify` alone is not enough for a value that arrives from the config of a
|
|
14
|
+
user. It returns the VALUE `undefined` for a function, for a symbol, and for
|
|
15
|
+
`undefined`, which puts the text "undefined" in a field that is declared `string`. It
|
|
16
|
+
also THROWS a `TypeError` for a circular object, and an error constructor that throws
|
|
17
|
+
hides the error that it was built to report. The fallback names the type instead, for
|
|
18
|
+
example `[function]`.
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Type | Description |
|
|
23
|
+
| --------- | --------- | ---------------------- |
|
|
24
|
+
| `value` | `unknown` | The value to describe. |
|
|
25
|
+
|
|
26
|
+
## Returns
|
|
27
|
+
|
|
28
|
+
`string`
|
|
29
|
+
|
|
30
|
+
The JSON text of the value, or its type in brackets.
|
|
31
|
+
|
|
32
|
+
## Example
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { describeValue } from "@xmachines/core/utils";
|
|
36
|
+
|
|
37
|
+
describeValue({ path: 1 }); // '{"path":1}'
|
|
38
|
+
describeValue(() => {}); // "[function]"
|
|
39
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / isError
|
|
2
|
+
|
|
3
|
+
# Function: isError()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function isError(value): value is Error;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/is-error.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/is-error.ts#L29)
|
|
10
|
+
|
|
11
|
+
Tells if a value is an `Error`, by its identity or by its brand.
|
|
12
|
+
|
|
13
|
+
The function tries `instanceof` first. It therefore answers `true` for every object
|
|
14
|
+
that inherits from `Error.prototype` of this realm, also one that no `Error`
|
|
15
|
+
constructor built, such as `Object.create(Error.prototype)`.
|
|
16
|
+
|
|
17
|
+
`instanceof` misses an error from another realm, such as an iframe or `node:vm`. For
|
|
18
|
+
such a value the function uses `Error.isError` where the runtime has it (Node 24 and a
|
|
19
|
+
Baseline 2025 browser), because that function refuses a false `Symbol.toStringTag`. In
|
|
20
|
+
every other runtime the function tests the brand. The type of `Error.isError` is
|
|
21
|
+
structural here, because the lib target of a consumer can be older than the API.
|
|
22
|
+
|
|
23
|
+
The function can throw for a hostile value: a revoked Proxy traps `instanceof`, and it
|
|
24
|
+
traps the inspection of the brand too. A caller in an error path therefore wraps the
|
|
25
|
+
call in `try`.
|
|
26
|
+
|
|
27
|
+
## Parameters
|
|
28
|
+
|
|
29
|
+
| Parameter | Type | Description |
|
|
30
|
+
| --------- | --------- | ------------------ |
|
|
31
|
+
| `value` | `unknown` | The value to test. |
|
|
32
|
+
|
|
33
|
+
## Returns
|
|
34
|
+
|
|
35
|
+
`value is Error`
|
|
36
|
+
|
|
37
|
+
`true` when the value is an `Error` of any realm.
|
|
38
|
+
|
|
39
|
+
## Example
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { isError } from "@xmachines/core/utils";
|
|
43
|
+
|
|
44
|
+
isError(new TypeError("x")); // true
|
|
45
|
+
isError({ message: "x" }); // false
|
|
46
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / isThenable
|
|
2
|
+
|
|
3
|
+
# Function: isThenable()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function isThenable<T>(value): value is PromiseLike<T>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/is-thenable.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/is-thenable.ts#L20)
|
|
10
|
+
|
|
11
|
+
Tells if a value is a thenable, so that the caller can wait for it.
|
|
12
|
+
|
|
13
|
+
A declared type such as `void | Promise<void>` says nothing at run time: a real
|
|
14
|
+
implementation returns a promise, and a test double returns nothing. The function
|
|
15
|
+
therefore probes the value for a callable `then`, which is the test that `await`
|
|
16
|
+
applies too.
|
|
17
|
+
|
|
18
|
+
## Type Parameters
|
|
19
|
+
|
|
20
|
+
| Type Parameter | Default type |
|
|
21
|
+
| -------------- | ------------ |
|
|
22
|
+
| `T` | `unknown` |
|
|
23
|
+
|
|
24
|
+
## Parameters
|
|
25
|
+
|
|
26
|
+
| Parameter | Type | Description |
|
|
27
|
+
| --------- | --------- | ------------------ |
|
|
28
|
+
| `value` | `unknown` | The value to test. |
|
|
29
|
+
|
|
30
|
+
## Returns
|
|
31
|
+
|
|
32
|
+
`value is PromiseLike<T>`
|
|
33
|
+
|
|
34
|
+
`true` when the value has a callable `then` method.
|
|
35
|
+
|
|
36
|
+
## Example
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import { isThenable } from "@xmachines/core/utils";
|
|
40
|
+
|
|
41
|
+
const result = router.load();
|
|
42
|
+
if (isThenable(result)) await result;
|
|
43
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / releaseQuietly
|
|
2
|
+
|
|
3
|
+
# Function: releaseQuietly()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function releaseQuietly(release, onFailure): void;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/release-quietly.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/release-quietly.ts#L23)
|
|
10
|
+
|
|
11
|
+
Runs one release, and it contains a failure of that release.
|
|
12
|
+
|
|
13
|
+
A teardown often runs several releases in a row, and each one can be code of a caller
|
|
14
|
+
that throws. A throw from the first release then skips every release after it, and the
|
|
15
|
+
owner holds a half teardown that no caller can complete. Run each release through this
|
|
16
|
+
function, and each one stands alone: a failure goes to `onFailure`, and the next
|
|
17
|
+
release runs.
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
|
|
21
|
+
| Parameter | Type | Description |
|
|
22
|
+
| ----------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `release` | (() => `void`) \| `null` \| `undefined` | The release to run. `null` and `undefined` do nothing, so a field that holds no release yet needs no check at the call. |
|
|
24
|
+
| `onFailure` | (`failure`) => `void` | Receives the value that the release threw. It reports the failure, for example with `console.error`, and it must not throw itself. |
|
|
25
|
+
|
|
26
|
+
## Returns
|
|
27
|
+
|
|
28
|
+
`void`
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { releaseQuietly } from "@xmachines/core/utils";
|
|
34
|
+
|
|
35
|
+
const report = (failure: unknown) => console.error("a release threw", failure);
|
|
36
|
+
for (const release of releases) releaseQuietly(release, report);
|
|
37
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / rethrowLater
|
|
2
|
+
|
|
3
|
+
# Function: rethrowLater()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function rethrowLater(error): void;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/rethrow-later.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/core/src/utils/rethrow-later.ts#L28)
|
|
10
|
+
|
|
11
|
+
Throws an error again from a microtask of its own, and returns at once.
|
|
12
|
+
|
|
13
|
+
A throw from a microtask reaches the global handler of the runtime — the `error` event
|
|
14
|
+
and `window.onerror` in a page, `uncaughtException` in Node — and it touches the
|
|
15
|
+
current stack not. It is not a rejection, so `unhandledrejection` does not see it.
|
|
16
|
+
|
|
17
|
+
Use it where a throw must not leave the current code: an error handler that a renderer
|
|
18
|
+
contains, or a callback that runs from a microtask already, so that a throw from it
|
|
19
|
+
reaches no caller.
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
| Parameter | Type | Description |
|
|
24
|
+
| --------- | --------- | ------------------------------------------------------------------------------------------------ |
|
|
25
|
+
| `error` | `unknown` | The value to throw again. It is thrown as it is, so an `Error` keeps its identity and its stack. |
|
|
26
|
+
|
|
27
|
+
## Returns
|
|
28
|
+
|
|
29
|
+
`void`
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { rethrowLater } from "@xmachines/core/utils";
|
|
35
|
+
|
|
36
|
+
<ActorProvider
|
|
37
|
+
actor={actor}
|
|
38
|
+
registryResult={registryResult}
|
|
39
|
+
onError={(error) => rethrowLater(error)}
|
|
40
|
+
>
|
|
41
|
+
<PlayRenderer />
|
|
42
|
+
</ActorProvider>;
|
|
43
|
+
```
|