coddyger
Version:
Coddyger est une bibliothèque JavaScript/TypeScript qui fournit des fonctions communes et des plugins pour la gestion des données, la communication entre services, et des utilitaires avancés pour le développement d'applications.
53 lines (52 loc) • 2.06 kB
TypeScript
import { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios';
interface AxiosServiceConfig extends AxiosRequestConfig {
baseURL: string;
timeout?: number;
headers?: Record<string, string>;
withCredentials?: boolean;
retryConfig?: {
maxRetries: number;
delayMs: number;
retryCondition?: (error: AxiosError) => boolean;
};
cacheConfig?: {
enabled: boolean;
ttlMs?: number;
};
}
export declare class AxiosService {
private static instance;
private static cache;
private static retryConfig;
static connect(config: AxiosServiceConfig): AxiosInstance;
private static setupInterceptors;
private static sanitizeHeaders;
private static handleAxiosError;
private static getCacheKey;
private static getFromCache;
private static setCache;
static withRetry<T>(requestFn: () => Promise<AxiosResponse<T>>, customConfig?: Partial<typeof this.retryConfig>): Promise<AxiosResponse<T>>;
static get<T>(url: string, config?: AxiosRequestConfig & {
retry?: boolean;
cache?: boolean;
cacheTTL?: number;
}): Promise<AxiosResponse<T>>;
static post<T>(url: string, data?: any, config?: AxiosRequestConfig & {
retry?: boolean;
}): Promise<AxiosResponse<T>>;
static put<T>(url: string, data?: any, config?: AxiosRequestConfig & {
retry?: boolean;
}): Promise<AxiosResponse<T>>;
static delete<T>(url: string, config?: AxiosRequestConfig & {
retry?: boolean;
}): Promise<AxiosResponse<T>>;
static patch<T>(url: string, data?: any, config?: AxiosRequestConfig & {
retry?: boolean;
}): Promise<AxiosResponse<T>>;
static setHeader(key: string, value: string, type?: 'common' | 'get' | 'post' | 'put' | 'patch' | 'delete'): void;
static removeHeader(key: string, type?: 'common' | 'get' | 'post' | 'put' | 'patch' | 'delete'): void;
static getInstance(): AxiosInstance;
static clearCache(): void;
static getCacheSize(): number;
}
export {};