vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
46 lines • 2.18 kB
JavaScript
import { VaeArraySchema } from "./VaeArraySchema.js";
import { VaeBooleanSchema } from "./VaeBooleanSchema.js";
import { VaeDateSchema } from "./VaeDateSchema.js";
import { VaeNumberSchema } from "./VaeNumberSchema.js";
import { VaeObjectSchema } from "./VaeObjectSchema.js";
import { VaeSchema } from "./VaeSchema.js";
import { VaeStringSchema } from "./VaeStringSchema.js";
export var VaeSchemaBuilder = function VaeSchemaBuilder() {
var _this = this;
this.string = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeStringSchema(message)) : new VaeStringSchema(schema);
};
this.stringOf = function (key, schema, message) {
return _this.string(schema, message);
};
this.number = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeNumberSchema(message)) : new VaeNumberSchema(schema);
};
this.numberOf = function (key, schema, message) {
return _this.number(schema, message);
};
this.date = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeDateSchema(message)) : new VaeDateSchema(schema);
};
this.dateOf = function (key, schema, message) {
return _this.date(schema, message);
};
this.boolean = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeBooleanSchema(message)) : new VaeBooleanSchema(schema);
};
this.booleanOf = function (key, schema, message) {
return _this.boolean(schema, message);
};
this.object = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeObjectSchema(undefined, message)) : typeof schema === 'object' ? new VaeObjectSchema(schema, message) : new VaeObjectSchema(undefined, schema);
};
this.objectOf = function (key, schema, message) {
return _this.object(schema, message);
};
this.array = function (schema, message) {
return typeof schema === 'function' ? schema(new VaeArraySchema(undefined, message)) : schema instanceof VaeSchema ? new VaeArraySchema(schema, message) : new VaeArraySchema(undefined, schema);
};
this.arrayOf = function (key, schema, message) {
return _this.array(schema, message);
};
};