Skip to content

ChainGraph API Documentation / @badaitech/chaingraph-trpc / server / zAsyncIterable

Function: zAsyncIterable()

zAsyncIterable<TYieldIn, TYieldOut, TReturnIn, TReturnOut, Tracked>(opts): ZodType<AsyncIterable<Tracked extends true ? TrackedEnvelope<TYieldIn> : TYieldIn, TReturnIn, unknown>, any, AsyncIterable<Tracked extends true ? TrackedEnvelope<TYieldOut> : TYieldOut, TReturnOut, unknown>>

Defined in: packages/chaingraph-trpc/server/procedures/subscriptions/utils/zAsyncIterable.ts:26

A Zod schema helper designed specifically for validating async iterables. This schema ensures that:

  1. The value being validated is an async iterable.
  2. Each item yielded by the async iterable conforms to a specified type.
  3. The return value of the async iterable, if any, also conforms to a specified type.

Type Parameters

TYieldIn

TYieldIn

TYieldOut

TYieldOut

TReturnIn

TReturnIn = void

TReturnOut

TReturnOut = void

Tracked

Tracked extends boolean = false

Parameters

opts

return?

ZodType<TReturnIn, any, TReturnOut>

Validate the return value of the async generator

Remark

not applicable for subscriptions

tracked?

Tracked

Whether if the yielded values are tracked

Remark

only applicable for subscriptions

yield

ZodType<TYieldIn, any, TYieldOut>

Validate the value yielded by the async generator

Returns

ZodType<AsyncIterable<Tracked extends true ? TrackedEnvelope<TYieldIn> : TYieldIn, TReturnIn, unknown>, any, AsyncIterable<Tracked extends true ? TrackedEnvelope<TYieldOut> : TYieldOut, TReturnOut, unknown>>

Licensed under BUSL-1.1