ChainGraph API Documentation / @badaitech/chaingraph-trpc / server / zAsyncIterable
Function: zAsyncIterable()
zAsyncIterable<
TYieldIn,TYieldOut,TReturnIn,TReturnOut,Tracked>(opts):ZodType<AsyncIterable<Trackedextendstrue?TrackedEnvelope<TYieldIn> :TYieldIn,TReturnIn,unknown>,any,AsyncIterable<Trackedextendstrue?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:
- The value being validated is an async iterable.
- Each item yielded by the async iterable conforms to a specified type.
- 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>>