UNPKG

xenos

Version:

Xenos is a data grid built upon angular2 and bootstrap.

44 lines 1.83 kB
"use strict"; var DefaultCandidateMatcher = (function () { function DefaultCandidateMatcher() { this.cases = new Map(); this.cases.set(String.prototype.constructor, DefaultCandidateMatcher.matchString); this.cases.set(Number.prototype.constructor, DefaultCandidateMatcher.matchNumber); this.cases.set(Boolean.prototype.constructor, DefaultCandidateMatcher.matchBoolean); this.cases.set(Date.prototype.constructor, DefaultCandidateMatcher.matchDate); } DefaultCandidateMatcher.prototype.match = function (phrase, value) { if (value == null) { return false; } if (this.cases.has(value.constructor)) { return this.cases.get(value.constructor)(phrase, value); } return false; }; DefaultCandidateMatcher.matchDate = function (phrase, value) { var date = value.toLocaleDateString(); var index = date.indexOf(phrase); return index >= 0; }; DefaultCandidateMatcher.matchBoolean = function (phrase, value) { var regex = new RegExp("yes|no|true|false|1|0", "i"); var result = regex.exec(phrase); if (result.length == 0) { return false; } var b = new Boolean(result[0]); return value == b; }; DefaultCandidateMatcher.matchString = function (phrase, value) { var regex = new RegExp("" + phrase, "i"); return regex.test(value); }; DefaultCandidateMatcher.matchNumber = function (phrase, value) { var regex = new RegExp("" + phrase, "i"); return regex.test(value.toString()); }; return DefaultCandidateMatcher; }()); exports.DefaultCandidateMatcher = DefaultCandidateMatcher; //# sourceMappingURL=default-candidate-matcher.js.map