zent
Version:
一套前端设计语言和基于React的实现
43 lines (42 loc) • 1.79 kB
TypeScript
import { BehaviorSubject, Subject } from 'rxjs';
import { IMaybeError, IValidation, IValidators, ValidateOption } from '../validate';
import { Maybe } from '../maybe';
import { IModel } from './base';
import { MODEL_ID } from './is';
declare abstract class BasicModel<Value> implements IModel<Value> {
readonly id: string;
protected abstract _displayName: string;
readonly validate$: Subject<IValidation>;
validators: IValidators<Value>;
initialValue: Maybe<Value>;
destroyOnUnmount: boolean;
private subscriptions;
abstract owner: IModel<any> | null;
[ ]: boolean;
abstract getRawValue(): Value;
abstract getSubmitValue(): any;
readonly error$: BehaviorSubject<import("../validate").IValidateResult<Value>>;
abstract get valid$(): BehaviorSubject<boolean>;
abstract get value$(): BehaviorSubject<Value>;
abstract _getValue$(shouldWarn?: boolean): BehaviorSubject<Value>;
abstract _getValid$(shouldWarn?: boolean): BehaviorSubject<boolean>;
get value(): Value;
set value(value: Value);
get form(): import("./form").FormModel<import("..").UnknownFieldSetModelChildren>;
protected constructor(id: string);
abstract pristine(): boolean;
abstract touched(): boolean;
abstract dirty(): boolean;
abstract patchValue(value: Value): void;
abstract reset(): void;
abstract clear(): void;
abstract clearError(): void;
abstract initialize(value: Value): void;
abstract validate(option?: ValidateOption): Promise<any>;
dispose(): void;
valid(): boolean;
protected triggerValidate(option: ValidateOption): Promise<import("../validate").IValidateResult<Value>>;
get error(): IMaybeError<Value>;
set error(error: IMaybeError<Value>);
}
export { BasicModel };