New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

busca-br

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

busca-br - npm Package Compare versions

Comparing version 0.2.0 to 0.2.1

114

buscaBR.js

@@ -18,3 +18,3 @@ (function() {

var codes = [
var CODES = [
[/BL|BR/, 'B'],

@@ -39,24 +39,49 @@ ['PH', 'F'],

/**
* Busca sincrona da palavrá
*
* @param {String} str - String fonética
* @param {Array} array - Dicionário de palavras
* @return {Array|Object}
*/
buscaBR.searchSync = function (str, array) {
var i;
var results = [];
buscaBR.searchSync = function(str, array){
var results = [];
for(var i = 0 ; i < array.length; i++){
if(this.encode(str) == this.encode(array[i])){
results.push({termo:array[i], index: i})
for (i = 0; i < array.length; i++) {
if (this.encode(str) == this.encode(array[i])) {
results.push({
termo: array[i],
index: i
});
}
}
return (results.length>0) ? results : {erro:"Não há registros"};
return results.length ? results : new Error('Não há registros');
};
buscaBR.search = function(str, array, callback){
callback(this.searchSync(str, array));
/**
* Buscar pela palavra foneticamente
*
* @param {String} str - String fonética
* @param {Array} array - Dicionário de palavras
* @param {Function} callback - Função para executar após a busca
*/
buscaBR.search = function (str, array, callback) {
tratar_erro(this.searchSync(str, array), callback);
};
/**
* Codifica uma string
*
* @param {String} str - String para codificar
* @return {String}
*/
buscaBR.encode = function (str) {
str = removeAcento(str.toUpperCase());
for(var i = 0; i < codes.length; i++){
// str = str.replace(this.codes[i][0],this.codes[i][1]);
str = str.split(codes[i][0]).join(codes[i][1])
for(var i = 0; i < CODES.length; i++){
// str = str.replace(this.CODES[i][0],this.CODES[i][1]);
str = str.split(CODES[i][0]).join(CODES[i][1])
}

@@ -70,29 +95,58 @@

function squeeze(str){
var cont = 0;
var newString='';
for(var i = 0 ; i < str.length; i++){
if(str[i] != str[i+1]){
newString +=str[i];
/**
* Remove os caracteres repetidos sequencialmente em uma string
*
* @param {String} str - String para tratar
* @return {String}
*/
function squeeze (str) {
str = str || '';
return str.replace(/(.)(?=\1)/g, '');
}
/**
* Passa o erro como parametro caso seja experado pelo callback
*
* @param {Object} result
* @param {Function} done
* @return {Function}
*/
function tratar_erro(result, done) {
if (done.length > 1) {
if (result instanceof Error) {
result = [result, null];
} else {
result = [null, result];
}
} else {
result = [result];
}
return newString;
done.apply(this, result);
}
function removeAcento(strToReplace) {
var str_acento = "ÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ";
var str_sem_acento = "AAAAAEEEEIIIIOOOOOUUUUC";
var nova = "";
for (var i = 0; i < strToReplace.length; i++) {
if (str_acento.indexOf(strToReplace.charAt(i)) != -1) {
nova += str_sem_acento.substr(str_acento.search(strToReplace.substr(i, 1)), 1);
} else {
nova += strToReplace.substr(i, 1);
/**
* Remove os acentos existentes em uma string
*
* @param {String} strToReplace - Texo para remover os acentos
* @return {String}
*/
function removeAcento(str) {
var i, x;
var ACENTOS = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž';
var SEM_ACENTOS = 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz';
str = str.split('');
for (i = 0; i < str.length; i++) {
x = ACENTOS.indexOf(str[i])
if (x != -1) {
str[i] = SEM_ACENTOS[x];
}
}
var nova = nova.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '');
return nova;
str = str.join('');
return str.replace(/[^a-z0-9\s]/gi, '');
}
}());

@@ -15,3 +15,3 @@ {

],
"version": "0.2.0",
"version": "0.2.1",
"author": {

@@ -18,0 +18,0 @@ "name": "Jayr Alencar",

@@ -1,21 +0,7 @@

const expect = require('chai').expect;
const buscaBR = require('../buscaBR');
var buscaBR = require('../buscaBR');
describe('Busca BR', function() {
describe("Buscar", function() {
it("Nome errado", function(done) {
buscaBR.search('feijaum',['arroz','feijão','feijoada'],function(res){
expect(res).with.length(1);
expect(res[0]).to.have.property('termo').with.equal("feijão");
expect(res[0]).to.have.property('index').with.equal(1);
done();
});
});
});
buscaBR.search('feijaum',['arroz','feijão','feijoada'],function(res){
console.log(res);
});
describe("Encode", function() {
it("Nome com acentos", function() {
expect(buscaBR.encode('Feijão')).to.equal('FJ');
});
});
});
console.log(buscaBR.encode('paralelepipedo'));
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc