UNPKG

vtils

Version:

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

115 lines (109 loc) 2.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; exports.__esModule = true; exports.VaeArraySchema = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _utils = require("../utils"); var _VaeLocale = require("./VaeLocale"); var _VaeSchema2 = require("./VaeSchema"); var VaeArraySchema = exports.VaeArraySchema = /*#__PURE__*/function (_VaeSchema) { (0, _inheritsLoose2.default)(VaeArraySchema, _VaeSchema); function VaeArraySchema(element, message) { var _this; if (message === void 0) { message = _VaeLocale.VaeLocale.array.type; } _this = _VaeSchema.call(this, { type: 'array' }) || this; _this.check({ fn: _utils.isArray, message: message }); if (element) { _this.element(element); } return _this; } /** * 数组元素定义 */ var _proto = VaeArraySchema.prototype; _proto.element = function element(_element) { return this.check({ fn: _element, message: '', tag: 'element' }); } /** * 数组非空,即长度应大于 0 */; _proto.nonempty = function nonempty(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.array.nonempty; } return this.check({ fn: function fn(v) { return v.length > 0; }, message: message, tag: 'nonempty' }); } /** * 数组最小长度 */; _proto.min = function min(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.array.min; } return this.check({ fn: function fn(v) { return v.length >= value; }, message: message, messageParams: { min: value }, tag: 'min' }); } /** * 数组最大长度 */; _proto.max = function max(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.array.max; } return this.check({ fn: function fn(v) { return v.length <= value; }, message: message, messageParams: { max: value }, tag: 'max' }); } /** * 数组固定长度 */; _proto.length = function length(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.array.length; } return this.check({ fn: function fn(v) { return v.length === value; }, message: message, messageParams: { length: value }, tag: 'length' }); }; return VaeArraySchema; }(_VaeSchema2.VaeSchema);