import { ZodSetDef } from "zod"; import { JsonSchema7Type, parseDef } from "../parseDef"; import { References } from "../References"; export type JsonSchema7SetType = { type: "array"; items?: JsonSchema7Type; minItems?: number; maxItems?: number; }; export function parseSetDef( def: ZodSetDef, refs: References ): JsonSchema7SetType { const items = parseDef(def.valueType._def, refs.addToPath("items")); const schema: JsonSchema7SetType = { type: "array", items } if (def.minSize) { schema.minItems = def.minSize.value } if (def.maxSize) { schema.maxItems = def.maxSize.value } return schema }