Skip to main content

Function: withConcurrency()

withConcurrency<T>(schema): ZodObject<{ [k in string | number | symbol]: ((keyof T & ("maxRetries" | "concurrency" | "delayMs")) extends never ? T & { concurrency: ZodDefault<ZodNumber>; delayMs: ZodDefault<ZodNumber>; maxRetries: ZodDefault<ZodNumber> } : { [K in string | number | symbol as K extends "maxRetries" | "concurrency" | "delayMs" ? never : K]: T[K] } & { concurrency: ZodDefault<ZodNumber>; delayMs: ZodDefault<ZodNumber>; maxRetries: ZodDefault<ZodNumber> })[k] }, $strip>

Defined in: packages/workflow-engine/src/core/config-presets.ts:134

Add concurrency configuration to any schema

Type Parameters​

T​

T extends Readonly<{[k: string]: $ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>; }>

Parameters​

schema​

ZodObject<T>

Returns​

ZodObject<{ [k in string | number | symbol]: ((keyof T & ("maxRetries" | "concurrency" | "delayMs")) extends never ? T & { concurrency: ZodDefault<ZodNumber>; delayMs: ZodDefault<ZodNumber>; maxRetries: ZodDefault<ZodNumber> } : { [K in string | number | symbol as K extends "maxRetries" | "concurrency" | "delayMs" ? never : K]: T[K] } & { concurrency: ZodDefault<ZodNumber>; delayMs: ZodDefault<ZodNumber>; maxRetries: ZodDefault<ZodNumber> })[k] }, $strip>

Example​

const myConfig = withConcurrency(z.object({
items: z.array(z.string()),
}));
// Result has: concurrency, delayMs, maxRetries, items