UNPKG

@putdotio/api-client

Version:

JavaScript SDK for interacting with the put.io API.

40 lines (33 loc) 1.07 kB
import { AxiosError, AxiosResponse } from 'axios' export interface IPutioAPIClientOptions { clientID?: number baseURL?: string webAppURL?: string } export interface IPutioAPIClientResponse<T> extends AxiosResponse { data: T & { status: 'OK' } body?: T & { status: 'OK' } // @TODO: Remove when it's irrelevant. } export interface IPutioAPIClientErrorData { 'x-trace-id'?: string error_id?: string error_uri?: string error_type: string error_message: string status_code: number extra: Record<string, unknown> } export interface IPutioAPIClientError extends AxiosError<IPutioAPIClientErrorData | string> { data: IPutioAPIClientErrorData toJSON: () => IPutioAPIClientErrorData } export type PutioAPIClientResponseInterceptor = { onFulfilled: ( response: IPutioAPIClientResponse<any>, ) => IPutioAPIClientResponse<any> onRejected: (error: IPutioAPIClientError) => Promise<IPutioAPIClientError> } export type PutioAPIClientResponseInterceptorFactory = ( options: IPutioAPIClientOptions, ) => PutioAPIClientResponseInterceptor