zent
Version:
一套前端设计语言和基于React的实现
13 lines (12 loc) • 733 B
TypeScript
import { INormalizeBeforeSubmit } from '../models';
import { IModel } from '../models/base';
import { IValidators } from '../validate';
export declare type $GetBuilderValue<T> = T extends BasicBuilder<infer V, infer _> ? V : never;
export declare type $GetBuilderModel<T> = T extends BasicBuilder<infer _, infer M> ? M : never;
export declare abstract class BasicBuilder<Value, Model extends IModel<Value>> {
protected _validators: IValidators<Value>;
protected _normalizeBeforeSubmit: INormalizeBeforeSubmit<Value, any>;
normalizeBeforeSubmit<T>(normalizeBeforeSubmit: INormalizeBeforeSubmit<Value, T>): this;
abstract build(defaultValue?: unknown): Model;
validators(...validators: IValidators<Value>): this;
}