punkapi-lib
Version:
A javascript library for interacting with the punkapi-db
25 lines (21 loc) • 772 B
JavaScript
;
function stringFuzzyMatch(str, predicate) {
if (str == null || predicate == null) return false;
var parsedStr = str.toLowerCase();
var parsedPredicate = predicate.toLowerCase().replace(/_/g, " ");
return fuzzyMatch(parsedStr, parsedPredicate);
}
function stringMatch(str, predicate) {
if (str == null || predicate == null) return false;
var parsedStr = str.toLowerCase();
var parsedPredicate = predicate.toLowerCase().replace(/_/g, " ");
return parsedStr.includes(parsedPredicate);
}
function fuzzyMatch(str, pattern) {
pattern = pattern.split("").reduce(function (a, b) {
return a + "[^" + b + "]*" + b;
});
return new RegExp(pattern).test(str);
}
exports.stringFuzzyMatch = stringFuzzyMatch;
exports.stringMatch = stringMatch;