UNPKG

@hyper-fetch/react

Version:

React hooks and utils for the hyper-fetch

64 lines 2.12 kB
import { ProgressType, RequestInstance, ResolvedQueueItemType, Dispatcher, ExtractAdapterType } from '@hyper-fetch/core'; export type UseQueueOptionsType = { /** Which dispatcher to use: "auto" picks based on request method, "fetch" or "submit" forces a specific one */ dispatcherType?: "auto" | "fetch" | "submit"; /** When true, completed requests remain in the queue list for inspection */ keepFinishedRequests?: boolean; }; export type QueueRequest<Request extends RequestInstance> = ResolvedQueueItemType<Request> & { /** Whether the request has failed after all retry attempts */ failed?: boolean; /** Whether the request was canceled before completing */ canceled?: boolean; /** Whether the request was removed from the queue */ removed?: boolean; /** Whether the request completed successfully */ success?: boolean; /** * Uploading progress for given request */ uploading: ProgressType; /** * Downloading progress for given request */ downloading: ProgressType; /** * Callback which allow to start previously stopped request. */ startRequest: () => void; /** * Callback which allow to stop request and cancel it if it's ongoing. */ stopRequest: () => void; /** * Removes request from the queue */ deleteRequest: () => void; }; export type UseQueueReturnType<T extends RequestInstance> = { /** * Queue status for provided request */ stopped: boolean; /** * List of requests for provided request */ requests: QueueRequest<T>[]; /** * Request dispatcher instance */ dispatcher: Dispatcher<ExtractAdapterType<T>>; /** * Callback which allow to stop queue, it will cancel ongoing requests. */ stop: () => void; /** * Callback which allow to pause queue. It will allow ongoing requests to be finished, but will stop next from being send. */ pause: () => void; /** * Callback which allow to start queue. */ start: () => void; }; //# sourceMappingURL=use-queue.types.d.ts.map