UNPKG

react-http-fetch

Version:

An http library for React JS built on top of native JS fetch

29 lines (28 loc) 1.31 kB
import { HttpCacheService, HttpCacheStore } from '../cache'; import { ReactElement } from 'react'; import { HttpRequestOptions, HttpResponseParser } from '../client'; export declare type ReqBodySerializerReturn = BodyInit | null; export declare type HttpRequestBodySerializer = (body: unknown) => ReqBodySerializerReturn; export interface HttpClientConfig<HttpRequestBodyT, HttpResponseT> { reqOptions: Partial<HttpRequestOptions<HttpRequestBodyT>>; baseUrl: string; responseParser: HttpResponseParser<HttpResponseT>; requestBodySerializer: HttpRequestBodySerializer; cache: HttpCacheService; } export interface HttpClientContextProps<HttpRequestBodyT, HttpResponseT> { config: HttpClientConfig<HttpRequestBodyT, HttpResponseT>; } export interface HttpClientProviderConfig<HttpRequestBodyT, HttpResponseT> { reqOptions: Partial<HttpRequestOptions<HttpRequestBodyT>>; baseUrl: string; responseParser: HttpResponseParser<HttpResponseT>; requestBodySerializer: HttpRequestBodySerializer; cacheStore: HttpCacheStore; cacheStorePrefix: string; cacheStoreSeparator: string; } export interface HttpClientProviderProps<HttpRequestBodyT, HttpResponseT> { children: ReactElement; config: Partial<HttpClientProviderConfig<HttpRequestBodyT, HttpResponseT>>; }