UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

46 lines 2.18 kB
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); }; };