simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
20 lines • 1.98 kB
JavaScript
import { removeDiacritics } from "./diacritics";
/**Realiza una busqueda de texto y devuelve true si text encaja con pattern */
export function search(pattern, text) {
if (!pattern)
return true;
if (!text)
return false;
pattern = removeDiacritics(pattern.toLowerCase());
text = removeDiacritics(text.toLowerCase());
const splitter = /(?:\s|\n|\r)/g;
const tw = text.split(splitter);
const pw = pattern.split(splitter);
if (pw.length == 0)
return true;
if (pw.length == 1)
return text.indexOf(pattern) != -1;
const cadaPalabra = pw.map(x => text.indexOf(x) != -1).reduce((a, b) => a && b, true);
return cadaPalabra;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPaEQsOEVBQThFO0FBQzlFLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBa0MsRUFBRSxJQUErQjtJQUN0RixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzFCLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFeEIsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUU1QyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUE7SUFDaEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRW5DLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDaEMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFdkQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXZGLE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUMifQ==