UNPKG

@stackend/api

Version:

JS bindings to api.stackend.com

27 lines 817 B
"use strict"; 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