# isAsyncData

Validates the runtime structure of an unknown AsyncData value.

## Signatures

```ts
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

```ts
import { isAsyncData } from "@typed/async-data"
isAsyncData({ _tag: "Loading", progress: { loaded: 1 } })
```
