PluginInstance
Import
import { PluginInstance } from "@hyper-fetch/core"
Source
Package
Preview
class Plugin<Client, PluginData> {
constructor(config: PluginOptionsType<PluginData>) {};
name: string;
data: PluginData;
config: PluginOptionsType<PluginData>;
client: undefined | Client;
initialize(client: Client) => Plugin<Client, PluginData>;
onAdapterFetch(callback: undefined | (data: { adapter: AdapterInstance; request: RequestInstance; requestId: string }) => void) => Plugin<Client, PluginData>;
onCacheItemChange(callback: undefined | <Requests>(data: { cache: Cache<ExtractClientAdapterType<Client>>; cacheKey: Requests[cacheKey]; newData: CacheValueType<Requests[response], Requests[error], ExtractClientAdapterType<Client>>; prevData: null | CacheValueType<Requests[response], Requests[error], ExtractClientAdapterType<Client>> }) => void) => Plugin<Client, PluginData>;
onCacheItemDelete(callback: undefined | (data: { cache: Cache<ExtractClientAdapterType<Client>>; cacheKey: string }) => void) => Plugin<Client, PluginData>;
onDispatcherCleared(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>> }) => void) => Plugin<Client, PluginData>;
onDispatcherItemAdded(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void) => Plugin<Client, PluginData>;
onDispatcherItemDeleted(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void) => Plugin<Client, PluginData>;
onDispatcherQueueCleared(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void) => Plugin<Client, PluginData>;
onDispatcherQueueCreated(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void) => Plugin<Client, PluginData>;
onDispatcherQueueDrained(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void) => Plugin<Client, PluginData>;
onDispatcherQueueRunning(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; status: paused | stopped | running }) => void) => Plugin<Client, PluginData>;
onMount(callback: undefined | (data: { client: Client }) => void) => Plugin<Client, PluginData>;
onRequestCreate(callback: undefined | (data: { request: PluginRequest<Client> }) => void) => Plugin<Client, PluginData>;
onRequestError(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseErrorType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void) => Plugin<Client, PluginData>;
onRequestFinished(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseType<any, any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void) => Plugin<Client, PluginData>;
onRequestStart(callback: undefined | (data: { request: PluginRequest<Client> }) => void) => Plugin<Client, PluginData>;
onRequestSuccess(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseSuccessType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void) => Plugin<Client, PluginData>;
onRequestTrigger(callback: undefined | (data: { request: PluginRequest<Client> }) => void) => Plugin<Client, PluginData>;
onUnmount(callback: undefined | (data: { client: Client }) => void) => Plugin<Client, PluginData>;
trigger<Key>(method: Key, data: PluginMethodParameters<Key, Client>) => void;
}