autocompleter-typescript-gcba
Version:
Autocompleter para direcciones y lugares de la Ciudad de Buenos Aires
76 lines (75 loc) • 3 kB
TypeScript
import { SuggesterStatus } from '../types';
interface SuggesterOptions {
ignorarTextoSobrante: any;
searchOptions: any;
afterAbort: (suggesterName: string) => void;
afterRetry: (suggesterName: string) => void;
afterServerRequest: (suggesterName: string) => void;
afterServerResponse: (suggesterName: string) => void;
debug: boolean;
serverTimeout: number;
maxRetries: number;
maxSuggestions: number;
inputPause: number;
minTextLength: number;
}
interface Suggestion {
[key: string]: any;
}
type SuggestionCallback = (suggestions: Suggestion[]) => void;
export declare class MethodNotImplemented extends Error {
constructor();
}
export declare class GeoCodingTypeError extends Error {
constructor();
}
export declare abstract class Suggester {
name: string;
options: SuggesterOptions;
status: SuggesterStatus;
inputTimer: NodeJS.Timeout | undefined;
suggestionsPromises: Map<Suggestion, Promise<any>[]>;
constructor(name: string, options?: Partial<SuggesterOptions>);
/**
* Retorna un array de promises del suggestion recibido como parámetro
* @param suggestion uno de los objetos retornado por getSuggestions
*/
static getSuggestionPromises(suggestion: Suggestion): Promise<any>[];
/**
* Agrega una promesa a las sugerencias
* @param suggestion La sugerencia a la que se le agrega la promesa
* @param promise La promesa a agregar
*/
addSuggestionPromise(suggestion: Suggestion, promise: Promise<any>): void;
/**
* Dado un string, realiza una búsqueda de sugerencias y llama al callback con las
* opciones encontradas.
* En algunos casos los objetos retornados tienen data incompleta que serán cargadas con posterioridad
* Si se desea esperar por esta carga puede hacer un Promise.all del array retornado por getSuggestionPromises
* @param text Texto de input
* @param callback Función que es llamada con la lista de sugerencias
* @param maxSuggestions (opcional) Máximo número de sugerencias a devolver
*/
abstract getSuggestions(text: string, callback: SuggestionCallback, maxSuggestions?: number): void;
/**
* Permite abortar la última consulta realizada
*/
abstract abort(): void;
/**
* Actualiza la configuración del componente a partir de un objeto con overrides para las
* opciones disponibles
* @param options Objeto conteniendo overrides para las opciones disponibles
*/
setOptions(options: Partial<SuggesterOptions>): void;
/**
* Devuelve las opciones actualmente vigentes para el componente.
* @returns Objeto conteniendo las opciones actualmente vigentes para el componente.
*/
getOptions(): SuggesterOptions;
/**
* Indica si el componente está listo para realizar sugerencias
* @returns Verdadero si el componente se encuentra listo para responder sugerencias
*/
abstract ready(): boolean;
}
export {};