vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
203 lines (192 loc) • 4.35 kB
JavaScript
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
import { isInteger, isNumeric, toNumber } from "../utils/index.js";
import { VaeLocale } from "./VaeLocale.js";
import { VaeSchema } from "./VaeSchema.js";
export var VaeNumberSchema = /*#__PURE__*/function (_VaeSchema) {
_inheritsLoose(VaeNumberSchema, _VaeSchema);
function VaeNumberSchema(message) {
var _this;
if (message === void 0) {
message = VaeLocale.number.type;
}
_this = _VaeSchema.call(this, {
type: 'number'
}) || this;
_this.check({
fn: isNumeric,
message: message
}).transform(toNumber);
return _this;
}
/**
* 最小值
*/
var _proto = VaeNumberSchema.prototype;
_proto.min = function min(value, message) {
if (message === void 0) {
message = VaeLocale.number.min;
}
return this.check({
fn: function fn(v) {
return v >= value;
},
message: message,
messageParams: {
min: value
},
tag: 'min'
});
}
/**
* 最大值
*/;
_proto.max = function max(value, message) {
if (message === void 0) {
message = VaeLocale.number.max;
}
return this.check({
fn: function fn(v) {
return v <= value;
},
message: message,
messageParams: {
max: value
},
tag: 'max'
});
}
/**
* 小于
*/;
_proto.lessThan = function lessThan(value, message) {
if (message === void 0) {
message = VaeLocale.number.lessThan;
}
return this.check({
fn: function fn(v) {
return v < value;
},
message: message,
messageParams: {
lessThan: value
},
tag: 'lessThan'
});
}
/**
* 大于
*/;
_proto.moreThan = function moreThan(value, message) {
if (message === void 0) {
message = VaeLocale.number.moreThan;
}
return this.check({
fn: function fn(v) {
return v > value;
},
message: message,
messageParams: {
moreThan: value
},
tag: 'moreThan'
});
}
/**
* 整数,即 -100, -1, 0, 1, 2, 100, ...
*/;
_proto.integer = function integer(message) {
if (message === void 0) {
message = VaeLocale.number.integer;
}
return this.check({
fn: isInteger,
message: message,
tag: 'integer'
});
}
/**
* 正数,即 0.01, 0.1, 1, 2, 3, ...
*/;
_proto.positive = function positive(message) {
if (message === void 0) {
message = VaeLocale.number.positive;
}
return this.check({
fn: function fn(v) {
return v > 0;
},
message: message,
tag: 'positive'
});
}
/**
* 非正数,即 0, -0.01, -1, -100, ...
*/;
_proto.nonpositive = function nonpositive(message) {
if (message === void 0) {
message = VaeLocale.number.nonpositive;
}
return this.check({
fn: function fn(v) {
return v <= 0;
},
message: message,
tag: 'nonpositive'
});
}
/**
* 负数,即 -0.01, -1, -100, ...
*/;
_proto.negative = function negative(message) {
if (message === void 0) {
message = VaeLocale.number.negative;
}
return this.check({
fn: function fn(v) {
return v < 0;
},
message: message,
tag: 'negative'
});
}
/**
* 非负数,即 0, 0.01, 0.1, 1, 2.1, 100, ...
*/;
_proto.nonnegative = function nonnegative(message) {
if (message === void 0) {
message = VaeLocale.number.nonnegative;
}
return this.check({
fn: function fn(v) {
return v >= 0;
},
message: message,
tag: 'nonnegative'
});
}
/**
* 正整数,即 1, 2, 3, 4, 5, ...
*/;
_proto.positiveInteger = function positiveInteger(message) {
if (message === void 0) {
message = VaeLocale.number.positiveInteger;
}
return this.check({
fn: function fn(v) {
return v > 0 && isInteger(v);
},
message: message,
tag: 'positiveInteger'
});
}
/**
* ID,即正整数,即 1, 2, 3, 4, 5, ...
*/;
_proto.id = function id(message) {
if (message === void 0) {
message = VaeLocale.number.positiveInteger;
}
return this.positiveInteger(message);
};
return VaeNumberSchema;
}(VaeSchema);