earljs
Version:
Ergonomic, modern and type-safe assertion library
27 lines (26 loc) • 787 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.NumberCloseToMatcher = void 0;
const Base_1 = require("./Base");
class NumberCloseToMatcher extends Base_1.Matcher {
constructor(target, delta) {
super();
this.target = target;
this.delta = delta;
}
check(v) {
if (typeof v !== 'number') {
return false;
}
const max = this.target + this.delta;
const min = this.target - this.delta;
return v >= min && v <= max;
}
toString() {
return `[NumberCloseTo: ${this.target}, delta=${this.delta}]`;
}
static make(target, { delta }) {
return new NumberCloseToMatcher(target, delta);
}
}
exports.NumberCloseToMatcher = NumberCloseToMatcher;
;