Skip to main content
Version: 5.x.x

Cache


import { Cache } from "@hyper-fetch/core"

Description

Cache class handles the data exchange with the dispatchers.

Defined in cache/cache.ts:25

Parameters

NameDetails

client

Required

C

options

Optional

CacheOptionsType<ClientInstance>

Properties

clearKey

Description

Defined in cache/cache.ts:31

Type

string

client

Description

Defined in cache/cache.ts:35

Type

C

emitter

Description

Defined in cache/cache.ts:26

Type

EventEmitter

events

Description

Defined in cache/cache.ts:27

Type

{ emitCacheData: <Response,Error,Adapter>(cacheKey: string, data: CacheValueType<Response, Error, Adapter>) => void; emitInvalidation: (cacheKey: string) => void; onData: <Response,Error,Adapter>(cacheKey: string, callback: (data: CacheValueType<Response, Error, Adapter>) => void) => VoidFunction; onInvalidate: (cacheKey: string, callback: () => void) => VoidFunction }

garbageCollectors

Description

Defined in cache/cache.ts:32

Type

Map<string, Timeout>

lazyStorage

Description

Defined in cache/cache.ts:30

Type

CacheAsyncStorageType

options

Description

Defined in cache/cache.ts:35

Type

CacheOptionsType<ClientInstance>

storage

Description

Defined in cache/cache.ts:29

Type

CacheStorageType

Methods

clear()

Preview

clear()

Description

Clear cache storages

Defined in cache/cache.ts:274

Return

Promise<void>

delete()

Preview

delete(cacheKey)

Description

Delete record from storages and trigger invalidation event

Defined in cache/cache.ts:161

Parameters

NameDetails

cacheKey

Required

string

Return

void

get()

Preview

get<Response, Error, Adapter>(cacheKey)

Description

Get particular record from storage by cacheKey. It will trigger lazyStorage to emit lazy load event for reading it's data.

Defined in cache/cache.ts:139

Parameters

NameDetails

cacheKey

Required

string

Return

{
data: GenericDataType | null;
error: GenericErrorType | null;
extra: T extends AdapterType<any, any, any, infer A, any> ? A : never | null;
status: T extends AdapterType<any, any, infer S, any, any> ? S : never | null;
success: boolean;
isCanceled: boolean;
isOffline: boolean;
retries: number;
timestamp: number;
cacheTime: number;
clearKey: string;
garbageCollection: number;
}

getLazyKeys()

Preview

getLazyKeys()

Description

Used to receive keys from sync storage and lazy storage

Defined in cache/cache.ts:229

Return

Promise<string[]>

getLazyResource()

Preview

getLazyResource<Response, Error, Adapter>(cacheKey)

Description

Used to receive data from lazy storage

Defined in cache/cache.ts:194

Parameters

NameDetails

cacheKey

Required

string

Return

Promise<CacheValueType<Response, Error, Adapter>>

invalidate()

Preview

invalidate(cacheKey)

Description

Invalidate cache by cacheKey or partial matching with RegExp

Defined in cache/cache.ts:172

Parameters

NameDetails

cacheKey

Required

string | RegExp

Return

Promise<void>

keys()

Preview

keys()

Description

Get sync storage keys, lazyStorage keys will not be included

Defined in cache/cache.ts:151

Return

string[]

scheduleGarbageCollector()

Preview

scheduleGarbageCollector(cacheKey)

Description

Schedule garbage collection for given key

Defined in cache/cache.ts:242

Parameters

NameDetails

cacheKey

Required

string

Return

Promise<void>

set()

Preview

set<Request>(request, response)

Description

Set the cache data to the storage

Defined in cache/cache.ts:62

Parameters

NameDetails

request

Required

RequestInstance | RequestJSON<any, unknown, QueryParamsType, null>

response

Required

CacheMethodType<ResponseReturnType<ExtractResponseType<Request>, ExtractErrorType<Request>, ExtractAdapterType<Request>> & ResponseDetailsType>

Return

void

update()

Preview

update<Request>(request, partialResponse)

Description

Update the cache data with partial response data

Defined in cache/cache.ts:111

Parameters

NameDetails

request

Required

RequestInstance | RequestJSON<RequestInstance, unknown, QueryParamsType, null>

partialResponse

Required

CacheMethodType<Partial<ResponseReturnType<ExtractResponseType<Request>, ExtractErrorType<Request>, ExtractAdapterType<Request>> & ResponseDetailsType>>

Return

void