UNPKG

@cosva-lab/form-builder

Version:
31 lines (30 loc) 1.83 kB
import InputsValidator from '../validate/InputsValidator'; import type { GlobalProps, FieldsProps, EventField, PropsField, EventChangeValue, NameField, GetArrayValues, value } from '../../types'; import { Reducer } from '../types'; import { GetFields } from '../../types'; export declare class FieldsBuilder<Name extends NameField = any, Item extends PropsField<value, Name> = PropsField<value, Name>, Fields extends Item[] = Item[], FieldsObject = Reducer<Fields>, Partial = false> extends InputsValidator<Name, Item, Fields, FieldsObject> { private _ns?; get ns(): string | undefined; set ns(ns: string | undefined); globalProps?: GlobalProps; actionsExtra?: object; get values(): { [Key in keyof FieldsObject]: FieldsObject[Key]; }; private paramsLast?; constructor(props: FieldsProps<Name, Item, Fields, FieldsObject>); private setField; private setFields; saveData(): void; restore(): void; restoreLast(): void; getValues(): { [Key in keyof FieldsObject]: FieldsObject[Key]; }; get<FieldName extends keyof FieldsObject>(fieldName: FieldName): (Partial extends true ? undefined : never) | GetFields<FieldsObject>[FieldName]; getField<FieldName extends keyof FieldsObject>(fieldName: FieldName): (Partial extends true ? undefined : never) | GetFields<FieldsObject>[FieldName]; onChangeField<Field extends keyof FieldsObject>(event: EventField<FieldsObject[Field], Field>): void; onChangeFields<Fields extends keyof FieldsObject>(events: GetArrayValues<{ [Field in Fields]: EventField<FieldsObject[Field], Field>; }>): void; changeValue({ name, value }: EventChangeValue): void; changeValues(events: EventChangeValue[]): void; setValidation(validate: boolean): void; } export default FieldsBuilder;