reduct-js
Version:
ReductStore Client SDK for Javascript/NodeJS/Typescript
24 lines (23 loc) • 1.15 kB
TypeScript
import { ClientOptions } from "../Client";
export type ValidResponse = object | string | ReadableStream<Uint8Array>;
export type FetchResult<T extends ValidResponse = ValidResponse> = {
data: T;
headers: Headers;
status: number;
};
export declare class HttpClient {
private baseURL;
private timeout?;
private headers;
private dispatcher?;
constructor(url: string, options?: ClientOptions);
private request;
private encodeBody;
private parseResponse;
get<T extends ValidResponse = ValidResponse>(url: string): Promise<FetchResult<T>>;
post<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
put<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
patch<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
delete<T extends ValidResponse = ValidResponse>(url: string, headers?: HeadersInit): Promise<FetchResult<T>>;
head(url: string): Promise<FetchResult<Record<string, never>>>;
}