import { IModel } from '../models/base'; import { IValidators } from '../validate'; import { Maybe } from '../maybe'; export abstract class BasicBuilder> { /** * @internal */ readonly phantomValue!: Value; /** * @internal */ readonly phantomModel!: Model; protected _validators: IValidators = []; abstract build(defaultValue?: Maybe): Model; /** * 设置 builder 上的校验规则 * @param validators 校验规则 */ validators(...validators: IValidators) { this._validators = validators; return this; } }