Flatlogic Bot c2aa0f3687 V5
2026-02-16 07:39:54 +00:00

38 lines
742 B
JavaScript

const constants = require('./constants')
const symbols = {
[constants.EQ]: '=',
[constants.LT]: '<',
[constants.LTE]: '<=',
[constants.GT]: '>',
[constants.GTE]: '>='
}
module.exports = class Comparator {
constructor(operator, version) {
this.operator = operator
this.version = version
}
test(version) {
const result = version.compare(this.version)
switch (this.operator) {
case constants.LT:
return result < 0
case constants.LTE:
return result <= 0
case constants.GT:
return result > 0
case constants.GTE:
return result >= 0
default:
return result === 0
}
}
toString() {
return symbols[this.operator] + this.version
}
}