UNPKG

validator-list

Version:
53 lines (52 loc) 1.76 kB
"use strict"; 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;