ai-functions
Version:
A powerful TypeScript library for building AI-powered applications with template literals and structured outputs
25 lines • 761 B
JavaScript
import { z } from 'zod';
function convertValue(value) {
if (Array.isArray(value)) {
return z.array(z.string().describe(value[0] || ''));
}
else if (typeof value === 'string') {
if (value.includes('|')) {
const enumValues = value.split('|').map(v => v.trim());
return z.enum(enumValues);
}
return z.string().describe(value);
}
else if (typeof value === 'object') {
return convertToZodSchema(value);
}
return z.string();
}
export function convertToZodSchema(schema) {
const zodSchema = {};
for (const [key, value] of Object.entries(schema)) {
zodSchema[key] = convertValue(value);
}
return z.object(zodSchema);
}
//# sourceMappingURL=schema.js.map