Import
import { isAsyncData } from "@typed/async-data";Signatures
export declare const isAsyncData: <A, E>(u: unknown) => u is AsyncData<A, E>;Why
Boundary validation rejects malformed progress, failure causes, and cyclic optimistic histories before application logic depends on them.
Ownership and lifetime
Validation is iterative, acquires no resources, and retains no visited objects after returning.
Examples
import { isAsyncData } from "@typed/async-data"
isAsyncData({ _tag: "Loading", progress: { loaded: 1 } })