UNPKG

mongo-base-crud

Version:

Class to handler access and handler database

46 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringToRegex = exports.removerAcentos = void 0; function removerAcentos(str) { return str .normalize("NFD") .replace(/[\u0300-\u036f]/g, ""); } exports.removerAcentos = removerAcentos; function stringToRegex(value) { if (value instanceof RegExp) { return value; } value = removerAcentos(value).toLocaleLowerCase(); const escapeRegExp = (str) => str .replace(/[*+?^${}()|[\]\\]/g, "\\$&") .replace(".", ".?") .replace("-", ""); const replaceLetters = (str) => str .replace(/a/gi, "[aáãâàä]+") .replace(/e/gi, "[eéêèë]+") .replace(/i/gi, "[iíîìï]+") .replace(/o/gi, "[oóôõòö]+") .replace(/u/gi, "[uúûùü]+") .replace(/ +/, ".+?"); const replaceSpecificLetters = (str) => str .replace(/ç/gi, "[cçs]+") .replace(/ck/gi, "[ck]+") .replace(/f/gi, "(f|ph)+") .replace(/cs/gi, "(x|cs)+"); const replaceNumbers = (str) => str .replace(/zero/gi, "(zero|0)") .replace(/um/gi, "(um|1)") .replace(/dois/gi, "(dois|2)") .replace(/três/gi, "(três|3)") .replace(/quatro/gi, "(quatro|4)") .replace(/cinco/gi, "(cinco|5)") .replace(/seis/gi, "(seis|6)") .replace(/sete/gi, "(sete|7)") .replace(/oito/gi, "(oito|8)") .replace(/nove/gi, "(nove|9)"); const regexStr = `.*${replaceNumbers(replaceSpecificLetters(replaceLetters(escapeRegExp(value))))}.*`; return new RegExp(regexStr, "i"); } exports.stringToRegex = stringToRegex; //# sourceMappingURL=prepare.js.map