vec-idp-web-sdk
Version:
VECU Identity Verification Web SDK - A secure, easy-to-integrate identity verification solution
59 lines • 1.99 kB
TypeScript
interface IInterceptorConfig {
request?: (config: RequestInit) => RequestInit | Promise<RequestInit>;
response?: (response: Response) => Response | Promise<Response>;
error?: (error: Error) => Error | Promise<Error>;
}
interface IAPIConfig {
baseUrl: string;
timeout?: number;
maxRetries?: number;
retryDelay?: number;
}
export declare class APIClient {
private readonly baseUrl;
private readonly timeout;
private readonly maxRetries;
private readonly retryDelay;
private requestInterceptors;
private responseInterceptors;
private sessionToken?;
constructor(config: IAPIConfig);
useRequestInterceptor(interceptor: IInterceptorConfig['request']): void;
useResponseInterceptor(onFulfilled?: IInterceptorConfig['response'], onRejected?: IInterceptorConfig['error']): void;
setSessionToken(token: string): void;
updateBaseUrl(newBaseUrl: string): void;
getBaseUrl(): string;
request<T = unknown>(endpoint: string, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
private fetchWithRetry;
get<T = unknown>(endpoint: string, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
post<T = unknown>(endpoint: string, data?: unknown, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
put<T = unknown>(endpoint: string, data?: unknown, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
patch<T = unknown>(endpoint: string, data?: unknown, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
delete<T = unknown>(endpoint: string, options?: RequestInit): Promise<{
success: boolean;
data?: T;
error?: unknown;
}>;
}
export {};
//# sourceMappingURL=APIClient.d.ts.map