nope-validator
Version:
Fast and simple JS validator
132 lines (127 loc) • 5.04 kB
JavaScript
define(['exports', './_virtual/_tslib', './NopePrimitive'], (function (exports, _tslib, NopePrimitive) { 'use strict';
var NopeNumber = /** @class */ (function (_super) {
_tslib.__extends(NopeNumber, _super);
function NopeNumber(message) {
if (message === void 0) { message = 'The field is not a valid number'; }
var _this = _super.call(this) || this;
_this.message = 'The field is not a number';
_this._type = 'number';
_this.message = message;
return _this;
}
NopeNumber.prototype.integer = function (message) {
var _this = this;
if (message === void 0) { message = 'Input must be an integer'; }
var rule = function (entry) {
if (_this.isEmpty(entry)) {
return;
}
if (entry !== Math.floor(entry)) {
return message;
}
};
return this.test(rule);
};
NopeNumber.prototype.min = function (size, message) {
this.greaterThan(size, message);
return this;
};
NopeNumber.prototype.max = function (size, message) {
this.lessThan(size, message);
return this;
};
NopeNumber.prototype.greaterThan = function (size, message) {
var _this = this;
if (message === void 0) { message = 'Input is too small'; }
var rule = function (entry) {
if (_this.isEmpty(entry)) {
return;
}
if (entry <= size) {
return message;
}
};
return this.test(rule);
};
NopeNumber.prototype.lessThan = function (size, message) {
var _this = this;
if (message === void 0) { message = 'Input is too large'; }
var rule = function (entry) {
if (_this.isEmpty(entry)) {
return;
}
if (entry >= size) {
return message;
}
};
return this.test(rule);
};
NopeNumber.prototype.atLeast = function (size, message) {
var _this = this;
if (message === void 0) { message = 'Input is too small'; }
var rule = function (entry) {
if (_this.isEmpty(entry)) {
return;
}
if (entry < size) {
return message;
}
};
return this.test(rule);
};
NopeNumber.prototype.atMost = function (size, message) {
var _this = this;
if (message === void 0) { message = 'Input is too large'; }
var rule = function (entry) {
if (_this.isEmpty(entry)) {
return;
}
if (entry > size) {
return message;
}
};
return this.test(rule);
};
NopeNumber.prototype.between = function (sizeStart, sizeEnd, atLeastMessage, atMostMessage) {
if (atLeastMessage === void 0) { atLeastMessage = 'Input is too small'; }
if (atMostMessage === void 0) { atMostMessage = 'Input is too large'; }
if (sizeStart && sizeEnd && sizeStart > sizeEnd) {
var rule = function () {
throw Error('between must receive an initial size (sizeStart) smaller than the final size (sizeEnd) parameter');
};
return this.test(rule);
}
this.atLeast(sizeStart, atLeastMessage);
this.atMost(sizeEnd, atMostMessage);
return this;
};
NopeNumber.prototype.positive = function (message) {
if (message === void 0) { message = 'Input must be positive'; }
this.greaterThan(0, message);
return this;
};
NopeNumber.prototype.negative = function (message) {
if (message === void 0) { message = 'Input must be negative'; }
this.lessThan(0, message);
return this;
};
NopeNumber.prototype.validate = function (entry, context) {
var value = !!entry ? Number(entry) : entry;
if (!this.isEmpty(value) && Number.isNaN(value)) {
return this.message;
}
return _super.prototype.validate.call(this, value, context);
};
NopeNumber.prototype.validateAsync = function (entry, context) {
var value = !!entry ? Number(entry) : entry;
if (!this.isEmpty(value) && Number.isNaN(value)) {
return Promise.resolve(this.message);
}
return _super.prototype.validateAsync.call(this, value, context);
};
return NopeNumber;
}(NopePrimitive.NopePrimitive));
exports.NopeNumber = NopeNumber;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=NopeNumber.js.map