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

autocompleter-caba

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

autocompleter-caba - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

6

dist/src/index.js
// import {Autocompleter} from './services/Autocompleter.js';
import { Autocompleter } from "./services/Autocompleter.js";
import { Autocompleter } from './services/Autocompleter.js';
const autocompleter = new Autocompleter();
let calle = prompt("Ingrese la calle:");
if (calle) {
let suggestions = autocompleter.getSuggestions(calle);
console.log(suggestions);
// let suggestions = autocompleter.getSuggestions(calle);
// console.log(suggestions)
// autocompleter.getSearch(calle);
// autocompleter.getSearchPlaces(calle);
}

@@ -11,3 +11,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

import Suggester from "./Suggester.js";
import { address_suggestions_url, address_search_url, transform_coordinates_url } from "../api/urls.js";
import { address_suggestions_url, address_search_url, transform_coordinates_url, } from "../api/urls.js";
import { getCredentials } from "./NeoAutocompleter.js";

@@ -58,3 +58,2 @@ class AddressSuggester extends Suggester {

resolve(this.errorResponse);
;
}

@@ -89,3 +88,6 @@ else {

const atipicalStreets = ((_b = unsortedStreets === null || unsortedStreets === void 0 ? void 0 : unsortedStreets.data) === null || _b === void 0 ? void 0 : _b.calles_atipicas) || [];
const mergedStreets = [...streets, ...atipicalStreets];
const mergedStreets = [
...streets,
...atipicalStreets,
];
return mergedStreets.sort((a, b) => (b.similaridad - a.similaridad));

@@ -97,5 +99,7 @@ }

if (typeof street.intersecciones !== "undefined") {
return (street.intersecciones.map((intersection) => ({ direccion: `${street.nombre_calle} Y ${intersection.nombre_oficial}` })
return street.intersecciones.map((intersection) => ({
direccion: `${street.nombre_calle} Y ${intersection.nombre_oficial}`,
})
// return `${street.nombre_calle} Y ${intersection.nombre_oficial}`;
));
);
}

@@ -110,3 +114,3 @@ // Alturas válidas para calle ingresada

this.errorResponse = {
error: { error: message, "valid_numbers": valid_street_numbers },
error: { error: message, valid_numbers: valid_street_numbers },
status_code: 400,

@@ -118,2 +122,3 @@ };

if ("altura" in street) {
this.errorResponse = null;
return { direccion: `${street.nombre_calle} ${street.altura}` };

@@ -123,2 +128,3 @@ // return `${street.nombre_calle} ${street.altura}`;

// Calle sin altura
this.errorResponse = null;
return { direccion: `${street.nombre_calle}` };

@@ -125,0 +131,0 @@ // return street.nombre_calle;

@@ -10,19 +10,73 @@ import Suggester from "./Suggester.js";

constructor();
/**
* Retorna el atributo clientId
*/
getClientId(): string;
/**
* Retorna el atributo clientSecret
*/
getClientSecret(): string;
/**
* Permite establecer los atributos clientId y clientSecret
* @param clientId: string
* @param clientSecret: string
*/
setCredentials(clientId: string, clientSecret: string): void;
private investTypesSuggesters;
private findSuggesterByType;
/**
* Ecnuentra el suggester .
* @param suggester Tipo de suggester a activar.
*/
findSuggester(suggesterType: SuggestersOptions): Suggester;
createSuggester(suggester: SuggestersOptions, minTextLength: number, waitingTime: number, maxSuggestions: number): void;
/**
* Este método permite activar un Suggester específico.
* @param suggester Tipo de suggester a activar.
*/
enableSuggester(suggester: SuggestersOptions): void;
/**
* Este método permite desactivar un Suggester específico.
* @param suggester Tipo de suggester a activar.
*/
disableSuggester(suggester: SuggestersOptions): void;
/**
* Devuelve todos los suggesters disponibles.
* @returns Un objeto con los suggesters disponibles.
*/
getSuggesters(): {
[key: string]: Suggester;
};
/**
* Normaliza los distintos tipos de sugerencias según el tipo de suggester.
*
* @param suggesterName Nombre del suggester.
* @param suggestions Sugerencias a normalizar.
* @returns Sugerencias normalizadas.
*/
normalizeSuggestions(suggesterName: string, suggestions: Object[] | null | any): any;
getSuggestions(input: string, suggester?: string): Promise<any>;
/**
* Obtiene las sugerencias para el input ingresado.
* @param input Input de usuario.
* @param suggester (Opcional) Tipo de sugeridor a considerar("all", "address", "place"). Default = "all".
* @returns Sugerencias correspondientes a la input.
*/
getSuggestions(input: string, typeSuggester?: string): Promise<any>;
/**
* Realiza una búsqueda utilizando las sugerencias proporcionadas.
* @param suggestion Estructura de sugerencia o cadena de texto.
* @returns El resultado de la búsqueda.
*/
getSearch(suggestion: any): Promise<any>;
/**
* Realiza una búsqueda de direcciones utilizando las sugerencias proporcionadas.
* @param address Dirección a buscar.
* @returns El resultado de la búsqueda de direcciones.
*/
getSearchAddress(address: string): Promise<any>;
/**
* Realiza una búsqueda de lugares utilizando las sugerencias proporcionadas.
* @param place Lugar a buscar.
* @returns El resultado de la búsqueda de lugares.
*/
getSearchPlaces(place: string): Promise<any>;
}

@@ -12,3 +12,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

import PlaceSuggester from "./PlacesSuggesters.js";
import { SuggestersOptions, SuggesterTypes } from "../models/options/SuggesterOptions.js";
import { SuggestersOptions, SuggesterTypes, } from "../models/options/SuggesterOptions.js";
export class Autocompleter {

@@ -30,11 +30,21 @@ constructor() {

}
;
}
}
/**
* Retorna el atributo clientId
*/
getClientId() {
return this.clientId;
}
/**
* Retorna el atributo clientSecret
*/
getClientSecret() {
return this.clientSecret;
}
/**
* Permite establecer los atributos clientId y clientSecret
* @param clientId: string
* @param clientSecret: string
*/
setCredentials(clientId, clientSecret) {

@@ -65,2 +75,6 @@ this.clientId = clientId;

}
/**
* Ecnuentra el suggester .
* @param suggester Tipo de suggester a activar.
*/
findSuggester(suggesterType) {

@@ -74,17 +88,6 @@ let options = Object.values(SuggestersOptions);

}
createSuggester(suggester, minTextLength, waitingTime, maxSuggestions) {
const selectedSuggester = this.findSuggester(suggester);
// Validación para minTextLength
if (minTextLength < 3) {
console.error("El valor mínimo posible del campo minTextLength es 3. Se ajustará automáticamente.");
minTextLength = 3;
}
// Validación para maxSuggestions
if (maxSuggestions > 10) {
console.error("El valor máximo del campo maxSuggestions es 10. Se ajustará automáticamente.");
maxSuggestions = 10;
}
// Configuración del sugestor después de las validaciones
selectedSuggester.setConfigurations(minTextLength, waitingTime, maxSuggestions);
}
/**
* Este método permite activar un Suggester específico.
* @param suggester Tipo de suggester a activar.
*/
enableSuggester(suggester) {

@@ -94,2 +97,6 @@ let selectedSuggester = this.findSuggester(suggester);

}
/**
* Este método permite desactivar un Suggester específico.
* @param suggester Tipo de suggester a activar.
*/
disableSuggester(suggester) {

@@ -99,14 +106,33 @@ let selectedSuggester = this.findSuggester(suggester);

}
/**
* Devuelve todos los suggesters disponibles.
* @returns Un objeto con los suggesters disponibles.
*/
getSuggesters() {
return this.suggesters;
}
/**
* Normaliza los distintos tipos de sugerencias según el tipo de suggester.
*
* @param suggesterName Nombre del suggester.
* @param suggestions Sugerencias a normalizar.
* @returns Sugerencias normalizadas.
*/
normalizeSuggestions(suggesterName, suggestions) {
let response = [];
if (suggestions === null || suggestions === undefined) {
return response.push({ error: true, type: SuggesterTypes[suggesterName], value: "No se encontraron sugerencias." });
return response.push({
error: true,
type: SuggesterTypes[suggesterName],
value: "No se encontraron sugerencias.",
});
}
if ("error" in suggestions) {
response.push({ error: true, type: SuggesterTypes[suggesterName], value: suggestions.error, status_code: suggestions.status_code });
response.push({
error: true,
type: SuggesterTypes[suggesterName],
value: suggestions.error,
status_code: suggestions.status_code,
});
}
// if (suggesterName.toString() in Object.keys(this.suggesters)) >>> NO FUNCIONA
if (suggesterName == "AddressSuggester") {

@@ -116,3 +142,7 @@ if (suggestions.length > 0) {

if (!("error" in suggestion)) {
response.push({ error: false, type: SuggesterTypes[suggesterName], value: suggestion.direccion });
response.push({
error: false,
type: SuggesterTypes[suggesterName],
value: suggestion.direccion,
});
}

@@ -126,3 +156,8 @@ });

if (!("error" in suggestion)) {
response.push({ error: false, type: SuggesterTypes[suggesterName], value: suggestion.nombre, category: suggestion.categoria });
response.push({
error: false,
type: SuggesterTypes[suggesterName],
value: suggestion.nombre,
category: suggestion.categoria,
});
}

@@ -134,3 +169,9 @@ });

}
getSuggestions(input, suggester = "all") {
/**
* Obtiene las sugerencias para el input ingresado.
* @param input Input de usuario.
* @param suggester (Opcional) Tipo de sugeridor a considerar("all", "address", "place"). Default = "all".
* @returns Sugerencias correspondientes a la input.
*/
getSuggestions(input, typeSuggester = "all") {
return __awaiter(this, void 0, void 0, function* () {

@@ -152,6 +193,6 @@ let response = [];

response = response.flat();
if (suggester == "address") {
if (typeSuggester == "address") {
response = response.filter((element) => element.type == "address");
}
else if (suggester == "place") {
else if (typeSuggester == "place") {
response = response.filter((element) => element.type == "place");

@@ -162,2 +203,7 @@ }

}
/**
* Realiza una búsqueda utilizando las sugerencias proporcionadas.
* @param suggestion Estructura de sugerencia o cadena de texto.
* @returns El resultado de la búsqueda.
*/
getSearch(suggestion) {

@@ -181,3 +227,2 @@ return __awaiter(this, void 0, void 0, function* () {

response = { errors: response };
console.log(">>", response);
return { response };

@@ -201,6 +246,11 @@ }

catch (error) {
return { "error": true, msg: error };
return { error: true, msg: error };
}
});
}
/**
* Realiza una búsqueda de direcciones utilizando las sugerencias proporcionadas.
* @param address Dirección a buscar.
* @returns El resultado de la búsqueda de direcciones.
*/
getSearchAddress(address) {

@@ -238,12 +288,17 @@ return __awaiter(this, void 0, void 0, function* () {

else {
return { "error": true, "msg": "AddressSuggester no está activo" };
return { error: true, msg: "AddressSuggester no está activo" };
}
}
return { "error": true, "msg": "No se encontró Suggester" };
return { error: true, msg: "No se encontró Suggester" };
}
catch (error) {
return { "error": true, msg: error };
return { error: true, msg: error };
}
});
}
/**
* Realiza una búsqueda de lugares utilizando las sugerencias proporcionadas.
* @param place Lugar a buscar.
* @returns El resultado de la búsqueda de lugares.
*/
getSearchPlaces(place) {

@@ -281,9 +336,9 @@ return __awaiter(this, void 0, void 0, function* () {

else {
return { "error": true, "msg": "PlaceSuggester no está activo" };
return { error: true, msg: "PlaceSuggester no está activo" };
}
}
return { "error": true, "msg": "No se encontró Suggester" };
return { error: true, msg: "No se encontró Suggester" };
}
catch (error) {
return { "error": true, msg: error };
return { error: true, msg: error };
}

@@ -290,0 +345,0 @@ });

@@ -36,3 +36,2 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

return __awaiter(this, void 0, void 0, function* () {
// if (this.active && place.length >= this.minTextLength)
if (this.active) {

@@ -57,3 +56,2 @@ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {

getFormattedSuggestions(suggestions) {
// TODOD: reemplazar any por PlaceSuggestionResponse[]
var _a;

@@ -71,8 +69,9 @@ if (suggestions != null && "error" in suggestions) {

if (Array.isArray(places)) {
// Verifica si sitios es una matriz
const results = places.map((place) => {
return { nombre: place.nombre, categoria: place.categoria };
});
this.errorResponse = null;
return results;
}
this.errorResponse = null;
return response;

@@ -79,0 +78,0 @@ }

{
"name": "autocompleter-caba",
"version": "0.1.1",
"version": "0.1.2",
"private": false,

@@ -5,0 +5,0 @@ "description": "Un paquete para autocompletar datos geográficos.",

@@ -35,11 +35,2 @@ # Documentación del Paquete Autocompleter

## Creación de Suggesters
El paquete proporciona dos tipos de suggesters: AddressSuggester y PlaceSuggester. Se puede crear instancias de estos suggesters utilizando el método createSuggester(suggester, minTextLength, waitingTime, maxSuggestions):
```javascript
autocompleter.createSuggester("AddressSuggester", 3, 500, 10);
autocompleter.createSuggester("PlaceSuggester", 3, 500, 10);
```
## Habilitar/Desactivar Suggesters

@@ -59,3 +50,3 @@

```javascript
const suggestions = await autocompleter.getSuggestions("123 Main Street");
const suggestions = await autocompleter.getSuggestions("Callao 520");
```

@@ -68,3 +59,3 @@

```javascript
const searchResult = await autocompleter.getSearch("123 Main Street");
const searchResult = await autocompleter.getSearch("Callao 520");
```

@@ -77,3 +68,3 @@

```javascript
const searchResult = await autocompleter.getSearchPlaces("restaurantes");
const searchResult = await autocompleter.getSearchPlaces("hospital");
```

@@ -83,15 +74,14 @@

## Funciones
## Métodos
- getClientId(): Devuelve el ID del cliente que ha sido previamente establecido mediante el método setCredentials(clientId, clientSecret).
- getClientId(): Devuelve el atributo clientId.
- getClientSecret(): Similar a getClientId(), devuelve el secreto del cliente que ha sido previamente establecido mediante el método setCredentials(clientId, clientSecret).
- getClientSecret(): Devuelve el atributo clientSecret.
- setCredentials(clientId: string, clientSecret: string): Permite establecer las credenciales del cliente proporcionando un ID de cliente y un secreto de cliente.
- setCredentials(clientId: string, clientSecret: string): Permite establecer las credenciales del cliente proporcionando los atributos clientId y clientSecret.
- findSuggester(suggesterType: SuggestersOptions): Busca y devuelve el suggester correspondiente según el tipo especificado.
- createSuggester(suggester: SuggestersOptions, minTextLength: number, waitingTime: number, maxSuggestions: number): Crea un suggester del tipo especificado y configura sus opciones.
- enableSuggester(suggester: SuggestersOptions): Permite habilitar un suggester específico.
- enableSuggester(suggester: SuggestersOptions): Permite habilitar un suggester específico.
- disableSuggester(suggester: SuggestersOptions): Desactiva un suggester específico.

@@ -101,8 +91,10 @@

- getSuggestions(input: string): Busca sugerencias basadas en la entrada de texto proporcionada.
- getSuggestions(input: string, typeSuggester: string): Busca sugerencias basadas en la entrada de texto proporcionada. TypeSuggester pueder ser "address" o "place", por dafault es "all".
- getSearch(address: string): Busca direcciones basadas en la entrada de texto proporcionada.
- getSearch(input: string): Busca información sobre la dirección o sitio de interés ingresado.
- getSearchPlaces(place: string): Busca lugares de interés basados en la entrada de texto proporcionada.
- getSearchPlaces(place: string): Busca información del sitios de interés ingresado.
- getSearchAddress(address: string): Busca información de la dirección ingresada.
## Notas

@@ -109,0 +101,0 @@

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