UNPKG

integration-websocket-rest-api

Version:

A JavaScript library for easy integration of REST API and WebSocket communication with state management in JS applications.

54 lines (46 loc) 1.66 kB
// typings/index.d.ts // index.d.ts // declare module "integration-websocket-rest-api" { // export class ApiClient { // constructor(apiUrl: string, headers?: Record<string, string>); // apiUrl: string; // sendRequest(method: string, data: any): Promise<any>; // } declare module "integration-websocket-rest-api" { interface ApiClientOptions { apiUrl: string; headers?: Record<string, string>; maxRetries?: number; retryDelay?: number; timeout?: number; errorHandler?: (error: Error) => void; } type RequestInterceptor = ( config: import("axios").AxiosRequestConfig ) => void; type ResponseInterceptor = ( response: import("axios").AxiosResponse ) => import("axios").AxiosResponse; export class ApiClient { constructor(apiUrl: string, headers?: Record<string, string>); setGlobalHeaders(headers: Record<string, string>): void; setMaxRetries(maxRetries: number): void; setRetryDelay(retryDelay: number): void; setTimeout(timeout: number): void; setErrorHandler(errorHandler: (error: Error) => void): void; addRequestInterceptor(interceptor: RequestInterceptor): void; addResponseInterceptor(interceptor: ResponseInterceptor): void; sendRequest(method: string, data?: any, retryCount?: number): Promise<any>; } export class WebSocketClient { constructor(wsUrl: string); wsUrl: string; openConnection(): Promise<void>; connect(): Promise<void>; reconnect(): void; sendMessage(message: string): void; getMessage(callback: (message: string) => void): void; getReceivedMessages(): string[]; closeConnection(): void; } }