UNPKG

@ai-stack/payloadcms

Version:

<p align="center"> <img alt="Payload AI Plugin" src="assets/payload-ai-intro.gif" width="100%" /> </p>

38 lines (37 loc) 1.1 kB
/** * fieldToJsonSchema * Convert a Payload Field (server or client) into a minimal JSON Schema object, * wrapped as { type: 'object', properties: { [name]: valueSchema }, required: [...] } * * Supported types: * - text, textarea, select, number, date, code, email, json * Arrays are emitted only when field.hasMany is true and the field type supports hasMany * (text, textarea, select; for others only if your config truly sets hasMany). */ export type JsonSchema = Record<string, any>; type BaseField = { admin?: { description?: unknown; language?: unknown; }; hasMany?: boolean; jsonSchema?: unknown; max?: number; maxRows?: number; min?: number; minRows?: number; name?: string; options?: Array<{ label?: unknown; value: number | string; } | number | string>; required?: boolean; schema?: unknown; type?: string; typescriptSchema?: unknown; }; export declare function fieldToJsonSchema(fieldInput: BaseField, opts?: { nameOverride?: string; wrapObject?: boolean; }): JsonSchema; export {};