UNPKG

earljs

Version:

Ergonomic, modern and type-safe assertion library

72 lines (71 loc) 2.09 kB
"use strict"; 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;