UNPKG

fetch-api-client

Version:

A TypeScript API client using fetch with axios-like interface

52 lines (51 loc) 1.49 kB
import { InterceptorManager, RequestInterceptor, ResponseInterceptor } from './types'; /** * Generic interceptor manager implementation */ declare class InterceptorManagerImpl<T> implements InterceptorManager<T> { private interceptors; private nextId; /** * Add an interceptor and return its ID */ use(interceptor: T): number; /** * Remove an interceptor by ID */ eject(id: number): void; /** * Clear all interceptors */ clear(): void; /** * Get all interceptors as an array */ getInterceptors(): T[]; } /** * Request interceptor manager */ export declare class RequestInterceptorManager extends InterceptorManagerImpl<RequestInterceptor> { /** * Execute all request interceptors in sequence */ execute(config: import('./types').RequestConfig): Promise<import('./types').RequestConfig>; } /** * Response interceptor manager */ export declare class ResponseInterceptorManager extends InterceptorManagerImpl<ResponseInterceptor> { /** * Execute fulfilled interceptors */ executeFulfilled<T>(response: import('./types').ApiResponse<T>): Promise<import('./types').ApiResponse<T>>; /** * Execute rejected interceptors - Fixed to handle proper return types */ executeRejected(error: import('./types').ApiError): Promise<import('./types').ApiError>; /** * Type guard to check if result is ApiError */ private isApiError; } export {};