UNPKG

@regionorebrolan/extensions

Version:
67 lines 2.75 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var BasicComparer_1 = __importDefault(require("./BasicComparer")); var StringComparer_1 = __importDefault(require("./StringComparer")); var QueryValueComparer = /** @class */ (function (_super) { __extends(QueryValueComparer, _super); // Constructors function QueryValueComparer(caseInsensitive) { var _this = _super.call(this) || this; _this._stringComparer = new StringComparer_1.default(caseInsensitive); return _this; } Object.defineProperty(QueryValueComparer.prototype, "stringComparer", { // Properties get: function () { return this._stringComparer; }, enumerable: false, configurable: true }); // Methods QueryValueComparer.prototype.compareInternal = function (first, second) { first = this.tryGetValueAsInteger(first); second = this.tryGetValueAsInteger(second); if (first && typeof first === "number") { if (second && typeof second === "number") { var firstNumber = first; var secondNumber = second; return firstNumber - secondNumber; } return -1; } if (second && typeof second === "number") return 1; return this.stringComparer.compare(first, second); }; QueryValueComparer.prototype.equalsInternal = function (first, second) { return this.compareInternal(first, second) === 0; }; QueryValueComparer.prototype.tryGetValueAsInteger = function (value) { if (value && typeof value === "string") { var integer = parseInt(value); if (!isNaN(integer)) return integer; } return value; }; return QueryValueComparer; }(BasicComparer_1.default)); exports.default = QueryValueComparer; //# sourceMappingURL=QueryValueComparer.js.map