Skip to main content
Version: v7.0.0

Plugin


Import
import { Plugin } from "@hyper-fetch/core"

Parameters

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;
}
Parameters
NameTypeDescription
config
PluginOptionsType<PluginData>

Properties

client

Type
undefined | Client

config

Type
PluginOptionsType<PluginData>

data

Type
PluginData

name

Type
string

Methods

initialize()

Preview
initialize(client: Client)
Parameters
Parameters
NameTypeDescription
client
Client
Returns
Plugin<Client, PluginData>

onAdapterFetch()

Preview
onAdapterFetch(callback: undefined | (data: { adapter: AdapterInstance; request: RequestInstance; requestId: string }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { adapter: AdapterInstance; request: RequestInstance; requestId: string }) => void
Returns
Plugin<Client, PluginData>

onCacheItemChange()

Preview
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)
Parameters
Parameters
NameTypeDescription
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
Returns
Plugin<Client, PluginData>

onCacheItemDelete()

Preview
onCacheItemDelete(callback: undefined | (data: { cache: Cache<ExtractClientAdapterType<Client>>; cacheKey: string }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { cache: Cache<ExtractClientAdapterType<Client>>; cacheKey: string }) => void
Returns
Plugin<Client, PluginData>

onDispatcherCleared()

Preview
onDispatcherCleared(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherItemAdded()

Preview
onDispatcherItemAdded(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherItemDeleted()

Preview
onDispatcherItemDeleted(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; queueItem: QueueItemType<ExtendRequest<RequestInstance, { client: Client }>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherQueueCleared()

Preview
onDispatcherQueueCleared(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherQueueCreated()

Preview
onDispatcherQueueCreated(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherQueueDrained()

Preview
onDispatcherQueueDrained(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>> }) => void
Returns
Plugin<Client, PluginData>

onDispatcherQueueRunning()

Preview
onDispatcherQueueRunning(callback: undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; status: paused | stopped | running }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { dispatcher: Dispatcher<ExtractClientAdapterType<Client>>; queue: QueueDataType<ExtendRequest<RequestInstance, { client: Client }>>; status: paused | stopped | running }) => void
Returns
Plugin<Client, PluginData>

onMount()

Callback that will be executed when plugin is mounted

Preview
onMount(callback: undefined | (data: { client: Client }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { client: Client }) => void
Returns
Plugin<Client, PluginData>

onRequestCreate()

Callback that will be executed when request is created

Preview
onRequestCreate(callback: undefined | (data: { request: PluginRequest<Client> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client> }) => void
Returns
Plugin<Client, PluginData>

onRequestError()

Callback that will be executed when response is failed

Preview
onRequestError(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseErrorType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client>; response: ResponseErrorType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void
Returns
Plugin<Client, PluginData>

onRequestFinished()

Callback that will be executed when response is finished

Preview
onRequestFinished(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseType<any, any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client>; response: ResponseType<any, any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void
Returns
Plugin<Client, PluginData>

onRequestStart()

Callback that will be executed when request starts

Preview
onRequestStart(callback: undefined | (data: { request: PluginRequest<Client> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client> }) => void
Returns
Plugin<Client, PluginData>

onRequestSuccess()

Callback that will be executed when response is successful

Preview
onRequestSuccess(callback: undefined | (data: { request: PluginRequest<Client>; response: ResponseSuccessType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client>; response: ResponseSuccessType<any, ExtractClientAdapterType<Client extends ClientInstance ? Client<Client> : ClientInstance>> }) => void
Returns
Plugin<Client, PluginData>

onRequestTrigger()

Callback that will be executed when request gets triggered

Preview
onRequestTrigger(callback: undefined | (data: { request: PluginRequest<Client> }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { request: PluginRequest<Client> }) => void
Returns
Plugin<Client, PluginData>

onUnmount()

Callback that will be executed when plugin is unmounted

Preview
onUnmount(callback: undefined | (data: { client: Client }) => void)
Parameters
Parameters
NameTypeDescription
callback
undefined | (data: { client: Client }) => void
Returns
Plugin<Client, PluginData>

trigger()

Preview
trigger<Key>(method: Key, data: PluginMethodParameters<Key, Client>)
Parameters
Parameters
NameTypeDescription
method
Key
data
PluginMethodParameters<Key, Client>
Returns
void