earljs
Version:
Ergonomic, modern and type-safe assertion library
72 lines (71 loc) • 2.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.NumberLessThanOrEqualToMatcher = exports.NumberLessThanMatcher = exports.NumberGreaterThanOrEqualToMatcher = exports.NumberGreaterThanMatcher = void 0;
const Base_1 = require("./Base");
class BaseNumberMatcher extends Base_1.Matcher {
constructor(target) {
super();
this.target = target;
}
check(value) {
if (typeof value !== 'number') {
return false;
}
return this.compare(value, this.target);
}
toString() {
return `[${this.name}: ${this.target}]`;
}
}
class NumberGreaterThanMatcher extends BaseNumberMatcher {
constructor() {
super(...arguments);
this.name = 'NumberGreaterThan';
}
compare(a, b) {
return a > b;
}
static make(target) {
return new NumberGreaterThanMatcher(target);
}
}
exports.NumberGreaterThanMatcher = NumberGreaterThanMatcher;
class NumberGreaterThanOrEqualToMatcher extends BaseNumberMatcher {
constructor() {
super(...arguments);
this.name = 'NumberGreaterThanOrEqualTo';
}
compare(a, b) {
return a >= b;
}
static make(target) {
return new NumberGreaterThanOrEqualToMatcher(target);
}
}
exports.NumberGreaterThanOrEqualToMatcher = NumberGreaterThanOrEqualToMatcher;
class NumberLessThanMatcher extends BaseNumberMatcher {
constructor() {
super(...arguments);
this.name = 'NumberLessThan';
}
compare(a, b) {
return a < b;
}
static make(target) {
return new NumberLessThanMatcher(target);
}
}
exports.NumberLessThanMatcher = NumberLessThanMatcher;
class NumberLessThanOrEqualToMatcher extends BaseNumberMatcher {
constructor() {
super(...arguments);
this.name = 'NumberLessThanOrEqualTo';
}
compare(a, b) {
return a <= b;
}
static make(target) {
return new NumberLessThanOrEqualToMatcher(target);
}
}
exports.NumberLessThanOrEqualToMatcher = NumberLessThanOrEqualToMatcher;
;