gcba-normalizador-typescript
Version:
Normalizador de direcciones para el AMBA
56 lines (55 loc) • 1.97 kB
TypeScript
import type { DireccionType, Calle } from './types';
export interface NormalizadorAMBAOptions {
debug?: boolean;
exclude?: string;
server?: string;
maxSuggestions?: number;
serverTimeout?: number;
maxRetries?: number;
afterAbort?: (error: Error) => void;
afterRetry?: (attempt: number) => void;
afterServerRequest?: (url: string) => void;
afterServerResponse?: (response: any) => void;
}
export declare class NormalizadorAMBA {
private static instance;
private options;
private lastRequest;
private retryCount;
private constructor();
/**
* Obtiene la instancia única del normalizador AMBA
* @param options - Opciones de configuración
* @returns Instancia del normalizador
*/
static getInstance(options?: NormalizadorAMBAOptions): NormalizadorAMBA;
/**
* Inicializa el normalizador con las opciones especificadas
* @param options - Opciones de configuración
* @returns Instancia del normalizador
*/
init(options?: NormalizadorAMBAOptions): NormalizadorAMBA;
/**
* Busca y normaliza una dirección de forma asíncrona
* @param text - Texto a buscar
* @param success - Callback de éxito
* @param error - Callback de error
* @param maxSug - Máximo número de sugerencias
*/
buscar(text: string, success?: (results: Array<DireccionType | Calle>) => void, error?: (error: Error) => void, maxSug?: number): Promise<void>;
/**
* Realiza una petición al servidor
* @param data - Datos de la petición
* @returns Promise con la respuesta
*/
private makeRequest;
/**
* Procesa los resultados de la búsqueda
* @param results - Resultados de la búsqueda
* @param maxSuggestions - Máximo número de sugerencias
* @returns Array de direcciones o calles normalizadas
*/
private processResults;
}
declare const _default: NormalizadorAMBA;
export default _default;