validator-list
Version:
53 lines (52 loc) • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseCompareValidator = void 0;
const _ = require("lodash");
const base_validator_1 = require("./base-validator");
class BaseCompareValidator extends base_validator_1.BaseValidator {
constructor(attributeLabel, value, options) {
super(attributeLabel, value, options);
this.message = '{attribute} is invalid.';
this.operator = '==';
this.setOptions(options);
if (_.isUndefined(options.compareValue)) {
throw new Error('The `compareValue` property must be set.');
}
}
getOptionNameList(...childrenList) {
return super.getOptionNameList(...childrenList, ['compareValue', 'operator']);
}
copmare(compareValue) {
const operator = this.operator;
const value = this.value;
let result = false;
switch (operator) {
case '==':
result = compareValue == value;
break;
case '===':
result = compareValue === value;
break;
case '!=':
result = compareValue != value;
break;
case '!==':
result = compareValue !== value;
break;
case '>':
result = compareValue > value;
break;
case '>=':
result = compareValue >= value;
break;
case '<':
result = compareValue < value;
break;
case '<=':
result = compareValue <= value;
break;
}
return result;
}
}
exports.BaseCompareValidator = BaseCompareValidator;