Options
All
  • Public
  • Public/Protected
  • All
Menu

The default storage hierarchy implementation relying on IStorageProvider for actual data access

Type parameters

  • TKey

  • TValue

Hierarchy

  • StorageHierarchy

Implements

Index

Constructors

constructor

Properties

Readonly isPersistable

isPersistable: boolean = ...

Private Readonly logger

logger: Logger = ...

Private Readonly pendingUpdates

pendingUpdates: Set<Promise<void>> = ...

Private Optional Readonly publishLevel

publishLevel?: number

Private Readonly storageChangedHandlers

storageChangedHandlers: Map<number, StorageProviderUpdateHandler<TKey, TValue>> = ...

Private Readonly topLevel

topLevel: IStorageProvider<TKey, TValue> = ...

Readonly totalLevels

totalLevels: number = ...

Methods

deleteAtLevel

dispose

  • dispose(): Promise<void>

getAtLevel

  • getAtLevel(key: TKey, level?: number, isAscending?: boolean): Promise<null | IAgedValue<TValue>>
  • Parameters

    • key: TKey

      The key to retrieve

    • Optional level: number

      The level at which to retrieve the key

    • isAscending: boolean = true

      To go up the hierarchy (true) or down (false) from level

    Returns Promise<null | IAgedValue<TValue>>

    The value if it's in the hierarchy from the level going up/down or null

Private getCurrentLevelOrNull

  • getCurrentLevelOrNull(isAscending: boolean, level?: number): null | number

Private getFullWriteStatus

getKeysAtTopLevel

  • getKeysAtTopLevel(): Promise<TKey[]>

Private getManagedPromiseSubscribe

  • getManagedPromiseSubscribe(func: SubscriberUpdateHandler<TKey, TValue>): (key: TKey, value?: IAgedValue<TValue>) => void

Private getPartialWriteStatus

getSizeAtLevel

  • getSizeAtLevel(level: number): Promise<number>

Private getUpdateHandlerAlways

  • getUpdateHandlerAlways(updateLevel: number): (key: TKey, value?: IAgedValue<TValue>) => Promise<boolean>

Private getUpdateHandlerOnlyIfKeyExist

  • getUpdateHandlerOnlyIfKeyExist(updateLevel: number, updateUnconditionally: SubscriberUpdateHandler<TKey, TValue>): (key: TKey, value?: IAgedValue<TValue>) => Promise<boolean>

getValueAtBottomLevel

  • getValueAtBottomLevel(key: TKey): Promise<null | IAgedValue<TValue>>

getValueAtTopLevel

  • getValueAtTopLevel(key: TKey): Promise<null | IAgedValue<TValue>>

setAtLevel

setBelowTopLevel

Private subscribeAtLevel

  • subscribeAtLevel(level: number, publishLevel?: number): undefined | number

Generated using TypeDoc