@stackend/api
Version:
JS bindings to api.stackend.com
27 lines • 817 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseSearchString = void 0;
/**
* Split a search expression into parts, remove all characters that are not letters or digits.
*
* For example: "Wow! <Räksmörgås>" returns ["wow", "räksmörgås"]
* @param text
* @returns {null|[]}
*/
function parseSearchString(text) {
if (!text) {
return null;
}
text = text.toLowerCase();
text = text.replace(NOT_LETTER_DIGIT_RE, ' ');
var parts = text.split(/\s+/);
var v = [];
for (var i = 0; i < parts.length; i++) {
var x = parts[i];
v.push(x.trim());
}
return v.length === 0 ? null : v;
}
exports.parseSearchString = parseSearchString;
var NOT_LETTER_DIGIT_RE = /[^\p{L}\d]/gu;
//# sourceMappingURL=parseSearchString.js.map