UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

24 lines (23 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _default = (input)=>{ const words = input.split(' '); // Regex word boundaries that work for cyrillic characters - https://stackoverflow.com/a/47062016/1717697 const wordBoundaryBefore = '(?:(?:[^\\p{L}\\p{N}])|^)' // Converted to a non-matching group instead of positive lookbehind for Safari ; const wordBoundaryAfter = '(?=[^\\p{L}\\p{N}]|$)'; const regex = words.reduce((pattern, word, i)=>{ const escapedWord = word.replace(/[\\^$*+?.()|[\]{}]/g, '\\$&'); return `${pattern}(?=.*${wordBoundaryBefore}.*${escapedWord}.*${wordBoundaryAfter})${i + 1 === words.length ? '.+' : ''}`; }, ''); return new RegExp(regex, 'i'); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCAoaW5wdXQ6IHN0cmluZyk6IFJlZ0V4cCA9PiB7XG4gIGNvbnN0IHdvcmRzID0gaW5wdXQuc3BsaXQoJyAnKVxuXG4gIC8vIFJlZ2V4IHdvcmQgYm91bmRhcmllcyB0aGF0IHdvcmsgZm9yIGN5cmlsbGljIGNoYXJhY3RlcnMgLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDcwNjIwMTYvMTcxNzY5N1xuICBjb25zdCB3b3JkQm91bmRhcnlCZWZvcmUgPSAnKD86KD86W15cXFxccHtMfVxcXFxwe059XSl8XiknIC8vIENvbnZlcnRlZCB0byBhIG5vbi1tYXRjaGluZyBncm91cCBpbnN0ZWFkIG9mIHBvc2l0aXZlIGxvb2tiZWhpbmQgZm9yIFNhZmFyaVxuICBjb25zdCB3b3JkQm91bmRhcnlBZnRlciA9ICcoPz1bXlxcXFxwe0x9XFxcXHB7Tn1dfCQpJ1xuICBjb25zdCByZWdleCA9IHdvcmRzLnJlZHVjZSgocGF0dGVybiwgd29yZCwgaSkgPT4ge1xuICAgIGNvbnN0IGVzY2FwZWRXb3JkID0gd29yZC5yZXBsYWNlKC9bXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpXG4gICAgcmV0dXJuIGAke3BhdHRlcm59KD89Lioke3dvcmRCb3VuZGFyeUJlZm9yZX0uKiR7ZXNjYXBlZFdvcmR9Lioke3dvcmRCb3VuZGFyeUFmdGVyfSkke1xuICAgICAgaSArIDEgPT09IHdvcmRzLmxlbmd0aCA/ICcuKycgOiAnJ1xuICAgIH1gXG4gIH0sICcnKVxuICByZXR1cm4gbmV3IFJlZ0V4cChyZWdleCwgJ2knKVxufVxuIl0sIm5hbWVzIjpbImlucHV0Iiwid29yZHMiLCJzcGxpdCIsIndvcmRCb3VuZGFyeUJlZm9yZSIsIndvcmRCb3VuZGFyeUFmdGVyIiwicmVnZXgiLCJyZWR1Y2UiLCJwYXR0ZXJuIiwid29yZCIsImkiLCJlc2NhcGVkV29yZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJSZWdFeHAiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUNBO0lBQ2QsTUFBTUMsUUFBUUQsTUFBTUUsS0FBSyxDQUFDO0lBRTFCLHlHQUF5RztJQUN6RyxNQUFNQyxxQkFBcUIsNEJBQTRCLDhFQUE4RTs7SUFDckksTUFBTUMsb0JBQW9CO0lBQzFCLE1BQU1DLFFBQVFKLE1BQU1LLE1BQU0sQ0FBQyxDQUFDQyxTQUFTQyxNQUFNQztRQUN6QyxNQUFNQyxjQUFjRixLQUFLRyxPQUFPLENBQUMsdUJBQXVCO1FBQ3hELE9BQU8sQ0FBQyxFQUFFSixRQUFRLEtBQUssRUFBRUosbUJBQW1CLEVBQUUsRUFBRU8sWUFBWSxFQUFFLEVBQUVOLGtCQUFrQixDQUFDLEVBQ2pGSyxJQUFJLE1BQU1SLE1BQU1XLE1BQU0sR0FBRyxPQUFPLEdBQ2pDLENBQUM7SUFDSixHQUFHO0lBQ0gsT0FBTyxJQUFJQyxPQUFPUixPQUFPO0FBQzNCIn0=