UNPKG

pretur.clay

Version:
25 lines (24 loc) 1.09 kB
import { SpecType } from 'pretur.spec'; import { ValidationError } from 'pretur.validation'; import { Action, Dispatch } from 'reducible-node'; import { Clay, State } from './clay'; import { Fields } from './fields'; export declare class Record<T extends SpecType> implements Clay<Record<T>> { readonly identifier: symbol; readonly original: this; readonly state: State; readonly fields: Fields<T>; readonly error: ValidationError; constructor(fields: Fields<T>, error?: ValidationError, state?: State, original?: Record<T>, identifier?: symbol); readonly modified: boolean; readonly valid: boolean; reduce(action: Action<any>): this; clear(dispatch: Dispatch): void; replace(dispatch: Dispatch, by: this): void; setField<K extends keyof Fields<T>>(dispatch: Dispatch, field: K, value: Fields<T>[K]): void; setError(dispatch: Dispatch, error: ValidationError): void; setState(dispatch: Dispatch, state: State): void; remove(dispatch: Dispatch): void; discard(dispatch: Dispatch): void; unremove(dispatch: Dispatch): void; }