@xmachines/docs 5.0.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/api/@xmachines/core/README.md +209 -0
- package/api/@xmachines/core/cache/README.md +17 -0
- package/api/@xmachines/core/cache/functions/createLruCache.md +52 -0
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/core/errors/README.md +11 -0
- package/api/@xmachines/core/errors/classes/BaseError.md +226 -0
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +177 -0
- package/api/@xmachines/core/utils/README.md +33 -0
- package/api/@xmachines/core/utils/functions/asDisposable.md +139 -0
- package/api/@xmachines/core/utils/functions/createNullRecord.md +39 -0
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +39 -0
- package/api/@xmachines/core/utils/functions/describeValue.md +39 -0
- package/api/@xmachines/core/utils/functions/isError.md +46 -0
- package/api/@xmachines/core/utils/functions/isThenable.md +43 -0
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +37 -0
- package/api/@xmachines/core/utils/functions/rethrowLater.md +43 -0
- package/api/@xmachines/core/utils/functions/safeString.md +36 -0
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +42 -0
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +28 -0
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +14 -0
- package/api/@xmachines/{play-router/index → core/utils}/variables/DISPOSE.md +9 -9
- package/api/@xmachines/play/README.md +18 -69
- package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/errors/classes/PlayError.md +30 -34
- package/api/@xmachines/play/index/README.md +0 -8
- package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +1 -1
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
- package/api/@xmachines/play-atom/README.md +34 -25
- package/api/@xmachines/play-atom/functions/watchAtom.md +8 -8
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
- package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
- package/api/@xmachines/play-dom/README.md +32 -34
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
- package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +11 -11
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -14
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -17
- package/api/@xmachines/play-dom-router/README.md +28 -45
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +13 -13
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +5 -3
- package/api/@xmachines/play-dom-router/functions/createRouter.md +5 -3
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +21 -67
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +12 -27
- package/api/@xmachines/play-pattern/README.md +10 -6
- package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
- package/api/@xmachines/play-pattern/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +4 -4
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +4 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-router/README.md +14 -13
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
- package/api/@xmachines/play-router/index/README.md +2 -3
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +3 -3
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +2 -2
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +4 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-svelte/README.md +3 -3
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/README.md +4 -2
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +4 -2
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +12 -31
- package/api/@xmachines/play-tanstack-react-router/README.md +4 -2
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-router/README.md +11 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/README.md +4 -2
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-url/README.md +3 -3
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
- package/api/@xmachines/play-url/index/README.md +2 -2
- package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
- package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +61 -0
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +4 -3
- package/api/@xmachines/play-view/errors/README.md +1 -1
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +2 -2
- package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
- package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +3 -3
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/schema.md +35 -54
- package/api/@xmachines/play-vue-router/README.md +4 -2
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -6
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +5 -5
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +7 -7
- package/api/@xmachines/play-xstate/README.md +19 -8
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
- package/api/@xmachines/play-xstate/index/README.md +0 -4
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +10 -45
- package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/api/README.md +1 -0
- package/api/llms.txt +1 -0
- package/contributing/architecture.md +36 -21
- package/contributing/configuration.md +5 -3
- package/contributing/development.md +25 -27
- package/contributing/migrating-to-play-atom.md +1 -0
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
- package/examples/README.md +1 -1
- package/guides/atoms.md +24 -12
- package/guides/getting-started.md +12 -10
- package/package.json +1 -1
- package/rfc/broker.md +4 -0
- package/rfc/browser.md +4 -0
- package/rfc/cli.md +4 -0
- package/rfc/git.md +4 -0
- package/rfc/mcp.md +4 -0
- package/rfc/node.md +4 -0
- package/rfc/play.md +1 -1
- package/rfc/rest.md +4 -0
- package/rfc/run.md +4 -0
- package/rfc/streams.md +4 -0
- package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
- package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
- package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
- package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
- package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
- package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
- package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
- package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
- package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
- package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / safeString
|
|
2
|
+
|
|
3
|
+
# Function: safeString()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function safeString(value): string;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/describe-value.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/describe-value.ts#L19)
|
|
10
|
+
|
|
11
|
+
Converts an unknown value into a string, and it trusts that value not.
|
|
12
|
+
|
|
13
|
+
`String()` itself throws for an object with a null prototype, and for a value whose
|
|
14
|
+
`toString` or `Symbol.toPrimitive` throws. A caller in an error path runs this
|
|
15
|
+
function, and a second throw there replaces the real failure with a `TypeError`. The
|
|
16
|
+
function therefore falls back to the brand, and then to a fixed text.
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
| Parameter | Type | Description |
|
|
21
|
+
| --------- | --------- | --------------------- |
|
|
22
|
+
| `value` | `unknown` | The value to convert. |
|
|
23
|
+
|
|
24
|
+
## Returns
|
|
25
|
+
|
|
26
|
+
`string`
|
|
27
|
+
|
|
28
|
+
The text of the value. The function throws never.
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { safeString } from "@xmachines/core/utils";
|
|
34
|
+
|
|
35
|
+
safeString(Object.create(null)); // "[object Object]"
|
|
36
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / shallowEqualExcept
|
|
2
|
+
|
|
3
|
+
# Function: shallowEqualExcept()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function shallowEqualExcept(a, b, except?): boolean;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/shallow-equal.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/shallow-equal.ts#L25)
|
|
10
|
+
|
|
11
|
+
The shallow equality of the own keys, with `Object.is`. It can ignore one key on
|
|
12
|
+
both sides.
|
|
13
|
+
|
|
14
|
+
The comparison reads the own enumerable string keys of each side, and a key that one
|
|
15
|
+
side carries and the other lacks makes the two unequal, even when its value is
|
|
16
|
+
`undefined`. A value compares by `Object.is`, so `NaN` equals `NaN` and `0` differs from
|
|
17
|
+
`-0`.
|
|
18
|
+
|
|
19
|
+
The emission dedup of the Play packages reads it: the equality of a slice, the emit
|
|
20
|
+
gate of the player, and the reuse of a composed state.
|
|
21
|
+
|
|
22
|
+
## Parameters
|
|
23
|
+
|
|
24
|
+
| Parameter | Type | Description |
|
|
25
|
+
| --------- | -------- | ------------------------------------------------ |
|
|
26
|
+
| `a` | `object` | The first object. |
|
|
27
|
+
| `b` | `object` | The second object. |
|
|
28
|
+
| `except?` | `string` | A key that the comparison ignores on both sides. |
|
|
29
|
+
|
|
30
|
+
## Returns
|
|
31
|
+
|
|
32
|
+
`boolean`
|
|
33
|
+
|
|
34
|
+
`true` when every other own key holds the same value on both sides.
|
|
35
|
+
|
|
36
|
+
## Example
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import { shallowEqualExcept } from "@xmachines/core/utils";
|
|
40
|
+
|
|
41
|
+
shallowEqualExcept({ a: 1, s: 1 }, { a: 1, s: 2 }, "s"); // true
|
|
42
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../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/core/src/utils/disposable.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L33)
|
|
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 the value that
|
|
22
|
+
[asDisposable](../functions/asDisposable.md) returns is a `Disposable` that a `using` declaration accepts. Where
|
|
23
|
+
the library is absent the key resolves to `never`, and [DisposeMember](DisposeMember.md) adds no
|
|
24
|
+
member. That consumer loses nothing, because `using` is syntax that the same library
|
|
25
|
+
gates: a compiler that cannot name `Symbol.dispose` cannot compile the form either.
|
|
26
|
+
|
|
27
|
+
The runtime is not involved. [asDisposable](../functions/asDisposable.md) stores the release under
|
|
28
|
+
[DISPOSE](../variables/DISPOSE.md) whatever the consumer declares, so one build serves both.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / DisposeMember
|
|
2
|
+
|
|
3
|
+
# Type Alias: DisposeMember
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type DisposeMember = { [Key in DisposeKey]: () => void };
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/core/src/utils/disposable.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L43)
|
|
10
|
+
|
|
11
|
+
The dispose member of a `Disposable`, and no member where the consumer omits the library.
|
|
12
|
+
|
|
13
|
+
[asDisposable](../functions/asDisposable.md) returns its input with this member. See [DisposeKey](DisposeKey.md) for the
|
|
14
|
+
reason that the key can resolve to `never`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/
|
|
1
|
+
[API](../../../../README.md) / [@xmachines/core](../../README.md) / [utils](../README.md) / DISPOSE
|
|
2
2
|
|
|
3
3
|
# Variable: DISPOSE
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const DISPOSE: DisposeKey;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/
|
|
9
|
+
Defined in: [packages/core/src/utils/disposable.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/utils/disposable.ts#L71)
|
|
10
10
|
|
|
11
11
|
The key that a release is stored under.
|
|
12
12
|
|
|
@@ -25,10 +25,10 @@ The type assertion states what the fallback IS. `Symbol.for` returns a plain `sy
|
|
|
25
25
|
TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
|
|
26
26
|
a `unique symbol` other than the declaration itself.
|
|
27
27
|
|
|
28
|
-
This binding resolves ONE time, when the module evaluates. [
|
|
29
|
-
reads `Symbol.dispose` again at each call and stores the release under
|
|
30
|
-
polyfill that installs the well-known symbol after this module evaluates
|
|
31
|
-
the release. A class or an object literal that writes `[DISPOSE]()` has no
|
|
32
|
-
chance: it carries the key that existed when it was defined. Install an
|
|
33
|
-
Resource Management polyfill before the first import of `@xmachines/
|
|
34
|
-
ordinary contract of a polyfill.
|
|
28
|
+
This binding resolves ONE time, when the module evaluates. [asDisposable](../functions/asDisposable.md)
|
|
29
|
+
therefore reads `Symbol.dispose` again at each call, and it stores the release under
|
|
30
|
+
both keys. A polyfill that installs the well-known symbol after this module evaluates
|
|
31
|
+
still finds the release. A class or an object literal that writes `[DISPOSE]()` has no
|
|
32
|
+
such second chance: it carries the key that existed when it was defined. Install an
|
|
33
|
+
Explicit Resource Management polyfill before the first import of `@xmachines/core/utils`,
|
|
34
|
+
which is the ordinary contract of a polyfill.
|
|
@@ -4,29 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
> Core protocol layer for the Universal Player Architecture. It defines `PlayEvent`, `PlayError`, and the contracts that keep the business logic loosely coupled to the runtime adapters.
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play)
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
pnpm add @xmachines/play
|
|
14
|
+
pnpm add @xmachines/play @xmachines/core
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
**Peer dependencies.** Install them with the package:
|
|
18
|
+
|
|
19
|
+
- [`@xmachines/core`](../core/README.md) — the base of the errors. `PlayError` extends `BaseError` of its `errors` subpath.
|
|
20
|
+
|
|
17
21
|
> **This package requires Node.js `>= 24.0.0`.** Every package is an ES module (`"type": "module"`).
|
|
18
22
|
|
|
19
23
|
---
|
|
20
24
|
|
|
21
25
|
## Overview
|
|
22
26
|
|
|
23
|
-
`@xmachines/play` is the
|
|
27
|
+
`@xmachines/play` is the protocol package of the XMachines ecosystem. It defines the smallest set of types and utilities that every other Play package builds on:
|
|
24
28
|
|
|
25
29
|
- **`PlayEvent<TPayload>`** — the universal event contract for Actor ↔ Infrastructure communication
|
|
26
|
-
- **`PlayError`** — the typed base class for
|
|
30
|
+
- **`PlayError`** — the typed base class for the runtime errors of every Play package. It extends `BaseError` of [`@xmachines/core`](../core/README.md)
|
|
27
31
|
- **`NonNullableError`** — the error that a package throws when a required value is `null` or `undefined`
|
|
28
32
|
- **`assertNonNullable()`** — the assertion utility that narrows `T | null | undefined` to `T`
|
|
29
|
-
- **`Cleanup`**, **`asCleanup()`**, **`DISPOSE`** — the release protocol that every subscription of the ecosystem hands back
|
|
30
33
|
|
|
31
34
|
These protocols implement the architectural invariants that the Play RFC defines:
|
|
32
35
|
|
|
@@ -67,7 +70,7 @@ const invalid: LoginEvent = { type: "auth.login" }; // Error!
|
|
|
67
70
|
|
|
68
71
|
### `PlayError`
|
|
69
72
|
|
|
70
|
-
Base class for every `@xmachines
|
|
73
|
+
Base class for the runtime errors of every Play package. It extends `BaseError` of [`@xmachines/core/errors`](../core/README.md). Each error has a stable `scope` (the class or the module that throws it) and a stable `code` (a machine-readable identifier). Always branch on `.code` or on the subclass. Never branch on `.message`.
|
|
71
74
|
|
|
72
75
|
```typescript
|
|
73
76
|
import { assertNonNullable } from "@xmachines/play";
|
|
@@ -81,7 +84,7 @@ try {
|
|
|
81
84
|
// err.code === "PLAY_NON_NULLABLE"
|
|
82
85
|
console.error(`Missing value: ${err.message}`);
|
|
83
86
|
} else if (err instanceof PlayError) {
|
|
84
|
-
//
|
|
87
|
+
// Every other error of a Play package
|
|
85
88
|
console.error(`[${err.scope}:${err.code}] ${err.message}`);
|
|
86
89
|
} else {
|
|
87
90
|
throw err;
|
|
@@ -113,59 +116,9 @@ import { assertNonNullable } from "@xmachines/play";
|
|
|
113
116
|
const el = assertNonNullable(document.getElementById("app"), "#app");
|
|
114
117
|
```
|
|
115
118
|
|
|
116
|
-
###
|
|
117
|
-
|
|
118
|
-
Every subscription of the ecosystem hands one value back: the release. `Cleanup` is that
|
|
119
|
-
type. It is a function AND a `Disposable`, so one value serves both forms — the caller
|
|
120
|
-
that keeps the release in a field, and the caller that gives it to a scope.
|
|
121
|
-
|
|
122
|
-
```ts
|
|
123
|
-
import { asCleanup, type Cleanup } from "@xmachines/play";
|
|
124
|
-
|
|
125
|
-
// The explicit form. It stays correct.
|
|
126
|
-
const stop = watchAtom(count, render);
|
|
127
|
-
stop();
|
|
128
|
-
|
|
129
|
-
// The scoped form. The scope releases it, and an exception releases it too.
|
|
130
|
-
{
|
|
131
|
-
using stop = watchAtom(count, render);
|
|
132
|
-
render(count.get());
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
`asCleanup` publishes a release. It gives the SAME function back with the dispose key
|
|
137
|
-
added, and wraps nothing, so a caller that compares two releases or holds one in a `Set`
|
|
138
|
-
sees what it saw before.
|
|
139
|
-
|
|
140
|
-
```ts
|
|
141
|
-
export function watchAtom<T>(atom: Readable<T>, onValue: (v: T) => void): Cleanup {
|
|
142
|
-
const subscription = atom.subscribe(() => onValue(atom.get()));
|
|
143
|
-
return asCleanup(() => subscription.unsubscribe());
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
`DISPOSE` is the key that the release sits under, and a class implements the protocol
|
|
148
|
-
with it:
|
|
149
|
-
|
|
150
|
-
```ts
|
|
151
|
-
import { DISPOSE } from "@xmachines/play";
|
|
152
|
-
|
|
153
|
-
class Session {
|
|
154
|
-
close(): void {}
|
|
155
|
-
[DISPOSE](): void {
|
|
156
|
-
this.close();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
Use `DISPOSE` and not a bare `Symbol.dispose`. A bundler that downlevels `using` for a
|
|
162
|
-
target below Chrome 134 emits a helper that reads
|
|
163
|
-
`object[Symbol.dispose || Symbol.for("Symbol.dispose")]`, and `DISPOSE` is that same
|
|
164
|
-
pair.
|
|
119
|
+
### The release protocol
|
|
165
120
|
|
|
166
|
-
|
|
167
|
-
> A consumer on a lower `lib` reads `Cleanup` as the plain `() => void` that these
|
|
168
|
-
> functions returned before the protocol existed, and every call site keeps compiling.
|
|
121
|
+
The release protocol moved to [`@xmachines/core/utils`](../core/README.md). A subscription of the ecosystem hands back a plain release, and `asDisposable` of that package publishes the release for a `using` scope.
|
|
169
122
|
|
|
170
123
|
---
|
|
171
124
|
|
|
@@ -173,20 +126,16 @@ pair.
|
|
|
173
126
|
|
|
174
127
|
### Exported from `@xmachines/play`
|
|
175
128
|
|
|
176
|
-
| Export | Kind | Description
|
|
177
|
-
| --------------------- | ---------- |
|
|
178
|
-
| `PlayEvent<TPayload>` | `type` | Universal event contract — `{ type: string } & TPayload`
|
|
179
|
-
| `assertNonNullable` | `function` | Asserts that the value is not null. It returns the narrowed value
|
|
180
|
-
| `Cleanup` | `type` | The release of a subscription — `(() => void) & Disposable` |
|
|
181
|
-
| `asCleanup` | `function` | Publishes one release as a `Cleanup`. It changes the function itself |
|
|
182
|
-
| `DISPOSE` | `const` | The symbol key that a release sits under |
|
|
183
|
-
| `DisposeKey` | `type` | The type of that key, and `never` where the consumer omits the lib |
|
|
129
|
+
| Export | Kind | Description |
|
|
130
|
+
| --------------------- | ---------- | ----------------------------------------------------------------- |
|
|
131
|
+
| `PlayEvent<TPayload>` | `type` | Universal event contract — `{ type: string } & TPayload` |
|
|
132
|
+
| `assertNonNullable` | `function` | Asserts that the value is not null. It returns the narrowed value |
|
|
184
133
|
|
|
185
134
|
### Exported from `@xmachines/play/errors`
|
|
186
135
|
|
|
187
136
|
| Export | Kind | Description |
|
|
188
137
|
| ------------------ | ------- | --------------------------------------------------------- |
|
|
189
|
-
| `PlayError` | `class` | The base class of every
|
|
138
|
+
| `PlayError` | `class` | The base class of every typed error of a Play package |
|
|
190
139
|
| `NonNullableError` | `class` | `scope: "assertNonNullable"`, `code: "PLAY_NON_NULLABLE"` |
|
|
191
140
|
|
|
192
141
|
---
|
|
@@ -197,7 +146,7 @@ pair.
|
|
|
197
146
|
| ------------------- | ------------------ | ---------------------------------------------------- |
|
|
198
147
|
| `PLAY_NON_NULLABLE` | `NonNullableError` | `assertNonNullable()` receives `null` or `undefined` |
|
|
199
148
|
|
|
200
|
-
Every other
|
|
149
|
+
Every other Play package exports its own error subclasses from its `./errors` subpath. [`@xmachines/core/errors`](../core/README.md) holds `BaseError`, the base of `PlayError`:
|
|
201
150
|
|
|
202
151
|
| Package | Import path |
|
|
203
152
|
| ------------------------------------------------------------ | ------------------------------------------------------------------- |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: NonNullableError
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play/src/errors.ts:
|
|
5
|
+
Defined in: [packages/play/src/errors.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L104)
|
|
6
6
|
|
|
7
7
|
[@xmachines/play!index.assertNonNullable](../../index/functions/assertNonNullable.md) throws this error when a value is `null` or `undefined`.
|
|
8
8
|
|
|
@@ -35,7 +35,7 @@ try {
|
|
|
35
35
|
new NonNullableError(message, options?): NonNullableError;
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
Defined in: [packages/play/src/errors.ts:
|
|
38
|
+
Defined in: [packages/play/src/errors.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L105)
|
|
39
39
|
|
|
40
40
|
#### Parameters
|
|
41
41
|
|
|
@@ -57,10 +57,10 @@ Defined in: [packages/play/src/errors.ts:113](https://gitlab.com/xmachin-es/xmac
|
|
|
57
57
|
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
58
58
|
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
59
59
|
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](PlayError.md).[`cause`](PlayError.md#property-cause) | - |
|
|
60
|
-
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `PLAY_<PACKAGE>_<DESCRIPTION>`.
|
|
60
|
+
| <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. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/core/src/errors.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L56) |
|
|
61
61
|
| <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](PlayError.md).[`message`](PlayError.md#property-message) | - |
|
|
62
62
|
| <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](PlayError.md).[`name`](PlayError.md#property-name) | - |
|
|
63
|
-
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"
|
|
63
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/core/src/errors.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L46) |
|
|
64
64
|
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](PlayError.md).[`stack`](PlayError.md#property-stack) | - |
|
|
65
65
|
| <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. | [`PlayError`](PlayError.md).[`stackTraceLimit`](PlayError.md#property-stacktracelimit) | - |
|
|
66
66
|
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: PlayError
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play/src/errors.ts:
|
|
5
|
+
Defined in: [packages/play/src/errors.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L70)
|
|
6
6
|
|
|
7
|
-
The base class of every typed runtime error of
|
|
7
|
+
The base class of every typed runtime error of a Play package.
|
|
8
8
|
|
|
9
|
-
`PlayError` gives each error two
|
|
9
|
+
`PlayError` extends `BaseError` of `@xmachines/core/errors`, which gives each error two
|
|
10
|
+
structured fields:
|
|
10
11
|
|
|
11
12
|
- `scope` — the class or the module that threw the error, for example `"RouterBridgeBase"`
|
|
12
13
|
- `code` — a stable, machine-readable identifier, for example `"PLAY_ROUTER_SYNC_FAILED"`
|
|
@@ -29,7 +30,9 @@ An `@xmachines/*` package that defines typed subclasses exports them from an
|
|
|
29
30
|
| `@xmachines/play-xstate` | `@xmachines/play-xstate/errors` |
|
|
30
31
|
|
|
31
32
|
`PlayError` is the base of every subclass above, and it sits on the subpath with them.
|
|
32
|
-
The root barrel of `@xmachines/play` exports it never: one name has one import.
|
|
33
|
+
The root barrel of `@xmachines/play` exports it never: one name has one import. A
|
|
34
|
+
package below the Play protocol, such as `@xmachines/core`, extends `BaseError`
|
|
35
|
+
directly, so `err instanceof BaseError` matches every typed error of the workspace.
|
|
33
36
|
|
|
34
37
|
## How to catch an error by its type
|
|
35
38
|
|
|
@@ -46,7 +49,8 @@ try {
|
|
|
46
49
|
// err.cause — the original error of the failed synchronization
|
|
47
50
|
reportToMonitoring(err);
|
|
48
51
|
} else if (err instanceof PlayError) {
|
|
49
|
-
// Every other @xmachines
|
|
52
|
+
// Every other error of a Play package. `BaseError` of @xmachines/core/errors
|
|
53
|
+
// also matches an error of a package below the Play protocol.
|
|
50
54
|
console.error(`[${err.scope}:${err.code}] ${err.message}`);
|
|
51
55
|
} else {
|
|
52
56
|
throw err; // Throw an unknown error again
|
|
@@ -69,7 +73,7 @@ export class MyPackageError extends PlayError {
|
|
|
69
73
|
|
|
70
74
|
## Extends
|
|
71
75
|
|
|
72
|
-
- `
|
|
76
|
+
- [`BaseError`](../../../core/errors/classes/BaseError.md)
|
|
73
77
|
|
|
74
78
|
## Extended by
|
|
75
79
|
|
|
@@ -111,16 +115,16 @@ new PlayError(
|
|
|
111
115
|
): PlayError;
|
|
112
116
|
```
|
|
113
117
|
|
|
114
|
-
Defined in: [packages/play/src/errors.ts:
|
|
118
|
+
Defined in: [packages/play/src/errors.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/errors.ts#L78)
|
|
115
119
|
|
|
116
120
|
#### Parameters
|
|
117
121
|
|
|
118
|
-
| Parameter | Type | Description
|
|
119
|
-
| ---------- | -------------- |
|
|
120
|
-
| `scope` | `string` | The class or the module that throws this error.
|
|
121
|
-
| `code` | `string` | The machine-readable identifier of the error, for example `"PLAY_ROUTER_SYNC_FAILED"`.
|
|
122
|
-
| `message` | `string` | The description for a person. Never match on it in your code.
|
|
123
|
-
| `options?` | `ErrorOptions` | The standard `ErrorOptions`. Give `{ cause: originalError }` to make a chain of errors.
|
|
122
|
+
| Parameter | Type | Description |
|
|
123
|
+
| ---------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
124
|
+
| `scope` | `string` | The class or the module that throws this error. |
|
|
125
|
+
| `code` | `string` | The machine-readable identifier of the error, for example `"PLAY_ROUTER_SYNC_FAILED"`. A Play package names a code `PLAY_<PACKAGE>_<DESCRIPTION>`. |
|
|
126
|
+
| `message` | `string` | The description for a person. Never match on it in your code. |
|
|
127
|
+
| `options?` | `ErrorOptions` | The standard `ErrorOptions`. Give `{ cause: originalError }` to make a chain of errors. |
|
|
124
128
|
|
|
125
129
|
#### Returns
|
|
126
130
|
|
|
@@ -128,21 +132,19 @@ Defined in: [packages/play/src/errors.ts:84](https://gitlab.com/xmachin-es/xmach
|
|
|
128
132
|
|
|
129
133
|
#### Overrides
|
|
130
134
|
|
|
131
|
-
|
|
132
|
-
Error.constructor;
|
|
133
|
-
```
|
|
135
|
+
[`BaseError`](../../../core/errors/classes/BaseError.md).[`constructor`](../../../core/errors/classes/BaseError.md#constructor)
|
|
134
136
|
|
|
135
137
|
## Properties
|
|
136
138
|
|
|
137
|
-
| Property | Modifier | Type | Description | Inherited from
|
|
138
|
-
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
139
|
-
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `
|
|
140
|
-
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable identifier of the error. An error code follows the naming convention `PLAY_<PACKAGE>_<DESCRIPTION>`.
|
|
141
|
-
| <a id="property-message"></a> `message` | `public` | `string` | - | `
|
|
142
|
-
| <a id="property-name"></a> `name` | `public` | `string` | - | `
|
|
143
|
-
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"
|
|
144
|
-
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | `
|
|
145
|
-
| <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. | `
|
|
139
|
+
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
140
|
+
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
|
|
141
|
+
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`cause`](../../../core/errors/classes/BaseError.md#property-cause) | - |
|
|
142
|
+
| <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`](../../../core/errors/classes/BaseError.md).[`code`](../../../core/errors/classes/BaseError.md#property-code) | [packages/core/src/errors.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L56) |
|
|
143
|
+
| <a id="property-message"></a> `message` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`message`](../../../core/errors/classes/BaseError.md#property-message) | - |
|
|
144
|
+
| <a id="property-name"></a> `name` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`name`](../../../core/errors/classes/BaseError.md#property-name) | - |
|
|
145
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or the module that threw this error, for example `"asDisposable"`. | [`BaseError`](../../../core/errors/classes/BaseError.md).[`scope`](../../../core/errors/classes/BaseError.md#property-scope) | [packages/core/src/errors.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/core/src/errors.ts#L46) |
|
|
146
|
+
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`BaseError`](../../../core/errors/classes/BaseError.md).[`stack`](../../../core/errors/classes/BaseError.md#property-stack) | - |
|
|
147
|
+
| <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`](../../../core/errors/classes/BaseError.md).[`stackTraceLimit`](../../../core/errors/classes/BaseError.md#property-stacktracelimit) | - |
|
|
146
148
|
|
|
147
149
|
## Methods
|
|
148
150
|
|
|
@@ -211,9 +213,7 @@ a();
|
|
|
211
213
|
|
|
212
214
|
#### Inherited from
|
|
213
215
|
|
|
214
|
-
|
|
215
|
-
Error.captureStackTrace;
|
|
216
|
-
```
|
|
216
|
+
[`BaseError`](../../../core/errors/classes/BaseError.md).[`captureStackTrace`](../../../core/errors/classes/BaseError.md#capturestacktrace)
|
|
217
217
|
|
|
218
218
|
---
|
|
219
219
|
|
|
@@ -239,9 +239,7 @@ Indicates whether the argument provided is a built-in Error instance or not.
|
|
|
239
239
|
|
|
240
240
|
#### Inherited from
|
|
241
241
|
|
|
242
|
-
|
|
243
|
-
Error.isError;
|
|
244
|
-
```
|
|
242
|
+
[`BaseError`](../../../core/errors/classes/BaseError.md).[`isError`](../../../core/errors/classes/BaseError.md#iserror)
|
|
245
243
|
|
|
246
244
|
---
|
|
247
245
|
|
|
@@ -270,6 +268,4 @@ https://v8.dev/docs/stack-trace-api#customizing-stack-traces
|
|
|
270
268
|
|
|
271
269
|
#### Inherited from
|
|
272
270
|
|
|
273
|
-
|
|
274
|
-
Error.prepareStackTrace;
|
|
275
|
-
```
|
|
271
|
+
[`BaseError`](../../../core/errors/classes/BaseError.md).[`prepareStackTrace`](../../../core/errors/classes/BaseError.md#preparestacktrace)
|
|
@@ -60,16 +60,8 @@ These protocols enforce the invariants below:
|
|
|
60
60
|
|
|
61
61
|
## Type Aliases
|
|
62
62
|
|
|
63
|
-
- [Cleanup](type-aliases/Cleanup.md)
|
|
64
|
-
- [DisposeKey](type-aliases/DisposeKey.md)
|
|
65
63
|
- [PlayEvent](type-aliases/PlayEvent.md)
|
|
66
64
|
|
|
67
|
-
## Variables
|
|
68
|
-
|
|
69
|
-
- [DISPOSE](variables/DISPOSE.md)
|
|
70
|
-
|
|
71
65
|
## Functions
|
|
72
66
|
|
|
73
|
-
- [asCleanup](functions/asCleanup.md)
|
|
74
67
|
- [assertNonNullable](functions/assertNonNullable.md)
|
|
75
|
-
- [shallowEqualExcept](functions/shallowEqualExcept.md)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function assertNonNullable<V>(value, name?): NonNullable<V>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/utils.ts#L39)
|
|
10
10
|
|
|
11
11
|
Asserts that `value` is not `null` and not `undefined`, then returns it with the
|
|
12
12
|
type `NonNullable<V>`. One expression therefore holds the guard and the narrowed
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type PlayEvent<TPayload> = object & TPayload;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play/src/types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
9
|
+
Defined in: [packages/play/src/types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/types.ts#L71)
|
|
10
10
|
|
|
11
11
|
The generic event type of the Play Architecture
|
|
12
12
|
|
|
@@ -35,7 +35,7 @@ and of the other state machine libraries.
|
|
|
35
35
|
|
|
36
36
|
| Name | Type | Defined in |
|
|
37
37
|
| ------ | -------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
38
|
-
| `type` | `string` | [packages/play/src/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
38
|
+
| `type` | `string` | [packages/play/src/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play/src/types.ts#L72) |
|
|
39
39
|
|
|
40
40
|
## Type Parameters
|
|
41
41
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
The actor contract of the XMachines Play Architecture. It names no state machine library.
|
|
6
6
|
|
|
7
|
-
[](https://opensource.org/licenses/MIT) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/@xmachines/play-actor)
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ActorEvent
|
|
4
4
|
|
|
5
|
-
Defined in: [play-actor.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-actor.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L38)
|
|
6
6
|
|
|
7
7
|
The minimal shape of an event that an actor receives.
|
|
8
8
|
|
|
@@ -15,4 +15,4 @@ a union member holds no index signature, so it satisfies that default never.
|
|
|
15
15
|
|
|
16
16
|
| Property | Modifier | Type | Defined in |
|
|
17
17
|
| --------------------------------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
-
| <a id="property-type"></a> `type` | `readonly` | `string` | [play-actor.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
18
|
+
| <a id="property-type"></a> `type` | `readonly` | `string` | [play-actor.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L39) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayActor\<TSnapshot, TEvent\>
|
|
4
4
|
|
|
5
|
-
Defined in: [play-actor.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
5
|
+
Defined in: [play-actor.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L75)
|
|
6
6
|
|
|
7
7
|
The actor contract of the Play Architecture. It names NO engine.
|
|
8
8
|
|
|
@@ -45,7 +45,7 @@ function mount<TSnapshot, TEvent extends ActorEvent>(
|
|
|
45
45
|
|
|
46
46
|
| Property | Modifier | Type | Description | Defined in |
|
|
47
47
|
| ----------------------------------- | ---------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
48
|
-
| <a id="property-state"></a> `state` | `readonly` | [`Atom`](../../play-atom/interfaces/Atom.md)\<`TSnapshot`\> | The reactive snapshot of the current actor state. The infrastructure observes this atom, and it reacts to each state change. It therefore holds no coupling to the internal state machine of the actor. | [play-actor.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
48
|
+
| <a id="property-state"></a> `state` | `readonly` | [`Atom`](../../play-atom/interfaces/Atom.md)\<`TSnapshot`\> | The reactive snapshot of the current actor state. The infrastructure observes this atom, and it reacts to each state change. It therefore holds no coupling to the internal state machine of the actor. | [play-actor.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L82) |
|
|
49
49
|
|
|
50
50
|
## Methods
|
|
51
51
|
|
|
@@ -55,7 +55,7 @@ function mount<TSnapshot, TEvent extends ActorEvent>(
|
|
|
55
55
|
send(event): void;
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Defined in: [play-actor.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/
|
|
58
|
+
Defined in: [play-actor.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/src/play-actor.ts#L90)
|
|
59
59
|
|
|
60
60
|
Sends an event to the actor.
|
|
61
61
|
|