UNPKG

eze-link

Version:
47 lines (46 loc) 1.69 kB
export declare const ApiService: { create: <Headers_1>({ headers, onResponse, onError, onRequest, options }: CreateApiProps<Headers_1>) => IApiService<Headers_1>; }; interface CreateApiProps<Headers = any> { headers?: Headers; onResponse?: OnResponse; onError?: OnError; onRequest?: OnRequest<Headers>; options?: { mode?: RequestMode; cache?: RequestCache; credentials?: RequestCredentials; redirect?: RequestRedirect; referrerPolicy?: ReferrerPolicy; }; } type OnResponse = (res: any) => any; type OnError = (err: any) => any; type OnRequest<T> = (props: OnRequestProps<T>) => void; type OnRequestProps<Headers> = { method: "GET" | "DELETE" | "POST" | "PUT" | "PATCH" | "UPDATE"; signal: AbortSignal; body?: any; headers: Headers; }; export interface IMethod<Headers> { url: string; body?: any; headers?: Headers; abortId?: string; } export interface IApiService<Headers = any> { get: (props: IMethod<Headers>) => Promise<any>; delete: (props: IMethod<Headers>) => Promise<any>; post: (props: IMethod<Headers>) => Promise<any>; put: (props: IMethod<Headers>) => Promise<any>; patch: (props: IMethod<Headers>) => Promise<any>; update: (props: IMethod<Headers>) => Promise<any>; getBlob: (props: IMethod<Headers>) => Promise<Blob>; postBlob: (props: IMethod<Headers>) => Promise<Blob>; setHeader: (headers: Headers) => void; setOnResponse: (onResponse: OnResponse) => void; setOnError: (onError: OnError) => void; setOnRequest: (onRequest: OnRequest<Headers>) => void; } export default ApiService;