@inkline/inkline
Version:
Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.
30 lines (29 loc) • 1.1 kB
TypeScript
import type { Form, FormField, FormSchema, ResolvedFormField, ResolvedFormSchema } from '@inkline/inkline/types';
/**
* Create form field schema
*
* @param field { FormField<T> }
* @return { ResolvedFormField<T> }
*/
export declare function createFormFieldSchema<T>(field: FormField<T>): ResolvedFormField<T>;
/**
* Create form array schema
*
* @param items { (FormSchema<T> | FormField<T>)[] }
* @return { (ResolvedFormSchema<T> | ResolvedFormField<T>)[] }
*/
export declare function createFormArraySchema<T>(items: (FormSchema<T extends Form ? T : never> | FormField<T>)[]): (ResolvedFormSchema<T extends Form ? T : never> | ResolvedFormField<T>)[];
/**
* Recursively create form schema
*
* @param schema { FormSchema<T> }
* @return { ResolvedFormSchema<T> }
*/
export declare function createFormSchema<T extends Form>(schema: FormSchema<T>): ResolvedFormSchema<T>;
/**
* Alias for createFormSchema
*
* @param schema { FormSchema<T> }
* @return { ResolvedFormSchema<T> }
*/
export declare function createSchema<T extends Form>(schema: FormSchema<T>): ResolvedFormSchema<T>;