UNPKG

hook-fetch

Version:

A lightweight and modern HTTP request library developed based on the native Fetch API of the browser, providing a user-friendly interface similar to Axios and powerful extensibility.

39 lines (38 loc) 2.33 kB
import { default as QueryString } from 'qs'; import { AnyObject } from 'typescript-api-pro'; import { ResponseErrorOptions } from './error'; import { BaseRequestOptions, RequestConfig, RequestMethod, StreamContext } from './types'; export declare const delay: (ms: number) => Promise<unknown>; export declare const timeoutCallback: (controller: AbortController) => void; export declare class ResponseError<E = unknown> extends Error { #private; constructor({ message, status, statusText, response, config, name }: ResponseErrorOptions<E>); get message(): string; get status(): number | undefined; get statusText(): string | undefined; get response(): Response | undefined; get config(): RequestConfig<unknown, unknown, E> | undefined; get name(): string; } export declare const buildUrl: (url: string, params?: AnyObject, qsArrayFormat?: QueryString.IStringifyOptions["arrayFormat"]) => string; export declare const mergeHeaders: (_baseHeaders?: HeadersInit | Headers, _newHeaders?: HeadersInit | Headers) => Headers; export declare const getBody: (body: AnyObject, method: RequestMethod, headers?: HeadersInit, qsArrayFormat?: QueryString.IStringifyOptions["arrayFormat"]) => BodyInit | null; export declare class HookFetchRequest<T, E> implements PromiseLike<T> { #private; constructor(options: BaseRequestOptions<unknown, unknown, E>); json(): Promise<any>; then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>; catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>; finally(onfinally?: (() => void) | null | undefined): void; abort(): void; blob(): Promise<any>; text(): Promise<any>; arrayBuffer(): Promise<any>; formData(): Promise<any>; bytes(): Promise<any>; stream<T>(): AsyncGenerator<StreamContext<T> | StreamContext<null>, ResponseError<unknown> | undefined, unknown>; retry(): HookFetchRequest<unknown, E>; get response(): Promise<Response>; } export declare const isGenerator: (v: any) => boolean; export declare const isAsyncGenerator: (v: any) => boolean;