Vize

capability

Create an available capability supplied directly by the current runtime.

Package @vizejs/composable/capability
Own the source vize lib pull composable:capability
Runtime exports availableCapability, unavailableCapability, isCapabilityAvailable, isCapabilityUnavailable
Gzip budget 1024 B

Usage

import { availableCapability, unavailableCapability, isCapabilityAvailable, isCapabilityUnavailable } from "@vizejs/composable/capability";

Runtime contract

Utility Category Stability SSR Hydration Cleanup Targets Host globals Uses
availableCapability capability experimental safe not-applicable none web, server, worker, native, desktop, terminal — —
unavailableCapability capability experimental safe not-applicable none web, server, worker, native, desktop, terminal — —
isCapabilityAvailable capability experimental safe not-applicable none web, server, worker, native, desktop, terminal — —
isCapabilityUnavailable capability experimental safe not-applicable none web, server, worker, native, desktop, terminal — —

API

availableCapability

Create an available capability supplied directly by the current runtime. The value and source retain literal types. The helper performs no global access and is safe during server rendering and module evaluation.

function availableCapability<const Value>( value: Value, ): AvailableCapability<Value, "runtime">

availableCapability

Create an available capability with an explicit, literal-preserving source.

function availableCapability<const Value, const Source extends string>( value: Value, source: Source, ): AvailableCapability<Value, Source>

availableCapability

function availableCapability<const Value, const Source extends string>( value: Value, source?: Source, ): AvailableCapability<Value, Source | "runtime">

unavailableCapability

Create an unavailable capability without additional details. The reason retains its string-literal type. Capability absence is returned as data rather than thrown, making unsupported server, worker, native, desktop, and terminal environments deterministic.

function unavailableCapability<const Reason extends string>( reason: Reason, ): UnavailableCapability<Reason, undefined>

unavailableCapability

Create an unavailable capability with typed recovery or diagnostic details. Passing undefined explicitly is distinct at the call boundary and still preserves the exact undefined details type.

function unavailableCapability<const Reason extends string, const Details>( reason: Reason, details: Details, ): UnavailableCapability<Reason, Details>

unavailableCapability

function unavailableCapability<const Reason extends string, const Details>( reason: Reason, details?: Details, ): UnavailableCapability<Reason, Details | undefined>

isCapabilityAvailable

Narrow a capability result to its available branch.

function isCapabilityAvailable<Value, Reason extends string, Details, Source extends string>( result: CapabilityResult<Value, Reason, Details, Source>, ): result is AvailableCapability<Value, Source>

isCapabilityUnavailable

Narrow a capability result to its unavailable branch.

function isCapabilityUnavailable< Value, Reason extends string, Details, Source extends string, >( result: CapabilityResult<Value, Reason, Details, Source>, ): result is UnavailableCapability<Reason, Details>

Types

AvailableCapability

A capability value that is ready for use.

Member Type Description
status "available" Stable discriminant for serialization and exhaustive matching.
available true Boolean discriminant for ergonomic guards in templates and JavaScript.
value Value Resolved capability implementation or value.
source Source Origin that supplied the value, preserved as a string literal.

UnavailableCapability

A capability that cannot currently provide a value.

Member Type Description
status "unavailable" Stable discriminant for serialization and exhaustive matching.
available false Boolean discriminant for ergonomic guards in templates and JavaScript.
reason Reason Typed, machine-readable explanation of the unavailable state.
details Details Structured diagnostic or recovery information supplied by the adapter.