import { PadroneSchema } from "../types/schema.mjs"; import { StandardSchemaV1 } from "@standard-schema/spec"; //#region src/util/stream.d.ts interface AsyncStreamMeta { [x: string]: unknown; readonly asyncStream: number; readonly itemSchema?: StandardSchemaV1; } /** * Returns metadata to mark a schema field as an async stream via `.meta()`. * * When used with `stdin`, padrone pipes stdin data as an `AsyncIterable` instead of * buffering it. Each line is validated against the item schema (if provided) as it arrives. * * @param itemSchema - Optional item schema for per-item validation. * Non-string schemas cause each stdin line to be `JSON.parse`'d before validation. * * @example * ```ts * import { asyncStream } from 'padrone'; * * // String lines * z.object({ lines: z.custom>().meta(asyncStream()) }) * * // Typed items — each line JSON.parse'd and validated * z.object({ records: z.custom>().meta(asyncStream(recordSchema)) }) * ``` */ declare function asyncStream(itemSchema?: PadroneSchema): AsyncStreamMeta; //#endregion export { AsyncStreamMeta, asyncStream }; //# sourceMappingURL=stream.d.mts.map