Skip to content

AIDC Toolkit / Core / Cache

Abstract Class: Cache<TCache, TSource>

Defined in: cache.ts:12

Generic cache. Typically used to manage a local copy of remote data that is not refreshed regularly.

Type Parameters

TCache

TCache

Type of cached data.

TSource

TSource = TCache

Type of source data. The type may be different from the cached data type if a transformation is required.

Constructors

Constructor

new Cache<TCache, TSource>(): Cache<TCache, TSource>

Returns

Cache<TCache, TSource>

Accessors

nextCheckDateTime

Get Signature

get abstract nextCheckDateTime(): Promisable<Date | undefined>

Defined in: cache.ts:17

Get the date/time at or after which the source should be checked for updates. If the value is undefined, this is the first usage.

Returns

Promisable<Date | undefined>


cacheDateTime

Get Signature

get abstract cacheDateTime(): Promisable<Date | undefined>

Defined in: cache.ts:23

Get the date/time at which the cache was last updated. This may more accurately reflect the date/time at which the last source retrieved was updated. If the value is undefined, there is no data in the cache.

Returns

Promisable<Date | undefined>


cacheData

Get Signature

get abstract cacheData(): Promisable<TCache>

Defined in: cache.ts:28

Get the cache data. This should only ever be called if the cache date/time is defined.

Returns

Promisable<TCache>


sourceDateTime

Get Signature

get abstract sourceDateTime(): Promisable<Date>

Defined in: cache.ts:34

Get the date/time at which the source was last updated. This should not be called unless the next check date/time has passed, as it may trigger an expensive remote retrieval.

Returns

Promisable<Date>


sourceData

Get Signature

get abstract sourceData(): Promisable<TSource>

Defined in: cache.ts:40

Get the source data. This should not be called unless the next check date/time has passed, as it may trigger an expensive remote retrieval.

Returns

Promisable<TSource>

Methods

update()

Call Signature

abstract update(nextCheckDateTime): Promisable<void>

Defined in: cache.ts:49

Update the cache with only the next check date/time. The cache date/time and cache data must not be modified. This is typically called when the cache is up to date with the source or source retrieval has failed.

Parameters
nextCheckDateTime

Date

Next check date/time.

Returns

Promisable<void>

Call Signature

abstract update(nextCheckDateTime, cacheDateTime, cacheData): Promisable<void>

Defined in: cache.ts:63

Update all cache parameters. This is typically called when the cache is updated from the source.

Parameters
nextCheckDateTime

Date

Next check date/time.

cacheDateTime

Date

Cache date/time.

cacheData

TCache

Cache data.

Returns

Promisable<void>