agsamantha/node_modules/openai/_vendor/zod-to-json-schema/parsers/array.mjs

26 lines
1,020 B
JavaScript
Raw Normal View History

2024-10-02 15:15:21 -05:00
import { ZodFirstPartyTypeKind } from 'zod';
import { setResponseValueAndErrors } from "../errorMessages.mjs";
import { parseDef } from "../parseDef.mjs";
export function parseArrayDef(def, refs) {
const res = {
type: 'array',
};
if (def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
res.items = parseDef(def.type._def, {
...refs,
currentPath: [...refs.currentPath, 'items'],
});
}
if (def.minLength) {
setResponseValueAndErrors(res, 'minItems', def.minLength.value, def.minLength.message, refs);
}
if (def.maxLength) {
setResponseValueAndErrors(res, 'maxItems', def.maxLength.value, def.maxLength.message, refs);
}
if (def.exactLength) {
setResponseValueAndErrors(res, 'minItems', def.exactLength.value, def.exactLength.message, refs);
setResponseValueAndErrors(res, 'maxItems', def.exactLength.value, def.exactLength.message, refs);
}
return res;
}
//# sourceMappingURL=array.mjs.map