Class DataStore

Data packet storage based on LevelDB or other abstract-leveldown store.

Hierarchy

  • TypedEventEmitter<Events, this>
    • DataStore

Implements

  • Close
  • ListNames
  • ListData
  • Get
  • Find
  • Insert<InsertOptions>
  • Delete

Constructors

  • Constructor.

    Parameters

    • db: AbstractLevelDOWN<any, any>

      an abstract-leveldown compatible store. It must support Buffer as keys.

    Returns DataStore

Properties

mutex: (<TResult, TArgs>(fn, ...args) => Promise<TResult>) = ...

Type declaration

    • <TResult, TArgs>(fn, ...args): Promise<TResult>
    • Create a throttle that only allows size calls in parallel. Extra calls will be queued until one of the earlier calls completes.

      To create an exclusive lock, just use a size of 1.

      Type Parameters

      • TResult

      • TArgs extends any[] = []

      Parameters

      • fn: ((...args) => Promise<TResult>)
          • (...args): Promise<TResult>
          • Parameters

            • Rest ...args: TArgs

            Returns Promise<TResult>

      • Rest ...args: TArgs

      Returns Promise<TResult>

Methods

  • Delete Data packets with given names.

    Parameters

    • Rest ...names: Name[]

    Returns Promise<void>

  • Find Data that satisfies Interest.

    Parameters

    • interest: Interest

    Returns Promise<undefined | Data>

  • Retrieve Data by exact name.

    Parameters

    • name: Name

    Returns Promise<undefined | Data>

  • Insert one or more Data packets.

    Parameters

    • Rest ...args: (Data | AnyIterable<Data>)[] | [InsertOptions, ...(Data | AnyIterable<Data>)[]]

    Returns Promise<void>

  • List Data packets, optionally filtered by name prefix.

    Parameters

    • Optional prefix: Name

    Returns AsyncIterable<Data>

  • List Data names, optionally filtered by name prefix.

    Parameters

    • Optional prefix: Name

    Returns AsyncIterable<Name>

Generated using TypeDoc