Interface ExpiringStorage<TKey, TValue>

A KeyValueStorage in which the values can expire. Entries with no expiration date never expire.

Type Parameters

  • TKey

  • TValue

Hierarchy

Implemented by

Properties

Methods

Properties

delete: ((key: TKey) => Promise<boolean>)

Type declaration

    • (key: TKey): Promise<boolean>
    • Deletes the value stored for the given key.

      Returns

      If there was a value to delete.

      Parameters

      • key: TKey

        Key to delete.

      Returns Promise<boolean>

entries: (() => AsyncIterableIterator<[TKey, TValue]>)

Type declaration

    • (): AsyncIterableIterator<[TKey, TValue]>
    • An iterable of entries in the storage.

      Returns AsyncIterableIterator<[TKey, TValue]>

get: ((key: TKey) => Promise<undefined | TValue>)

Type declaration

    • (key: TKey): Promise<undefined | TValue>
    • Returns the value stored for the given identifier. undefined if no value is stored.

      Parameters

      • key: TKey

      Returns Promise<undefined | TValue>

has: ((key: TKey) => Promise<boolean>)

Type declaration

    • (key: TKey): Promise<boolean>
    • Checks if there is a value stored for the given key.

      Parameters

      • key: TKey

      Returns Promise<boolean>

Methods

  • Sets the value for the given key. Should error if the data is already expired.

    Returns

    The storage.

    Parameters

    • key: TKey

      Key to set/update.

    • value: TValue

      Value to store.

    • Optional expiration: number

      How long this data should stay valid in milliseconds.

    Returns Promise<ExpiringStorage<TKey, TValue>>

  • Sets the value for the given key. Should error if the data is already expired.

    Returns

    The storage.

    Parameters

    • key: TKey

      Key to set/update.

    • value: TValue

      Value to store.

    • Optional expires: Date

      When this value expires. Never if undefined.

    Returns Promise<ExpiringStorage<TKey, TValue>>