Interface AsyncTTLCacheManagerOptions<T>

interface AsyncTTLCacheManagerOptions<T> {
    capacity?: null | number;
    fetchFunction: ((id) => Promise<T>);
    onCapacityExceeded?: ((key) => void | Promise<void>);
    onClear?: ((itemCount) => void | Promise<void>);
    onKeyAdd?: ((key) => void | Promise<void>);
    onKeyDelete?: ((key, reason?) => void | Promise<void>);
    onKeyExpire?: ((key) => void | Promise<void>);
    onKeyFetch?: ((key) => void | Promise<void>);
    onKeyFetchFail?: ((key, start, end) => void | Promise<void>);
    onKeyFetchSuccess?: ((key, start, end) => void | Promise<void>);
    onKeyUpdate?: ((key) => void | Promise<void>);
    ttl?: number;
}

Type Parameters

  • T

Hierarchy (view full)

Properties

capacity?: null | number

Maximum number of items to store in this cache

fetchFunction: ((id) => Promise<T>)

Function to fetch data for a key

Type declaration

    • (id): Promise<T>
    • Parameters

      • id: string

      Returns Promise<T>

onCapacityExceeded?: ((key) => void | Promise<void>)

Callback to run when cache capacity is exceeded

Type declaration

    • (key): void | Promise<void>
    • Parameters

      • key: string

      Returns void | Promise<void>

onClear?: ((itemCount) => void | Promise<void>)

Callback to run when cache is cleared

Type declaration

    • (itemCount): void | Promise<void>
    • Parameters

      • itemCount: number

      Returns void | Promise<void>

onKeyAdd?: ((key) => void | Promise<void>)

Callback to run when a key is added

Type declaration

    • (key): void | Promise<void>
    • Parameters

      • key: string

      Returns void | Promise<void>

onKeyDelete?: ((key, reason?) => void | Promise<void>)

Callback to run when a key is deleted

Type declaration

    • (key, reason?): void | Promise<void>
    • Parameters

      • key: string
      • Optional reason: string

      Returns void | Promise<void>

onKeyExpire?: ((key) => void | Promise<void>)

Callback to run when a key expires

Type declaration

    • (key): void | Promise<void>
    • Parameters

      • key: string

      Returns void | Promise<void>

onKeyFetch?: ((key) => void | Promise<void>)

Callback to run when fetchFunction is invoked for a key

Type declaration

    • (key): void | Promise<void>
    • Parameters

      • key: string

      Returns void | Promise<void>

onKeyFetchFail?: ((key, start, end) => void | Promise<void>)

Callback to run when fetchFunction failed to resolve data

Type declaration

    • (key, start, end): void | Promise<void>
    • Parameters

      • key: string
      • start: [number, number]
      • end: [number, number]

      Returns void | Promise<void>

onKeyFetchSuccess?: ((key, start, end) => void | Promise<void>)

Callback to run when fetchFunction ran successfully

Type declaration

    • (key, start, end): void | Promise<void>
    • Parameters

      • key: string
      • start: [number, number]
      • end: [number, number]

      Returns void | Promise<void>

onKeyUpdate?: ((key) => void | Promise<void>)

Callback to run when a key is updated

Type declaration

    • (key): void | Promise<void>
    • Parameters

      • key: string

      Returns void | Promise<void>

ttl?: number

Time to live for data added to this cache