Applesauce
    Preparing search index...

    Class EventMemory<E>

    An in-memory database of events

    Type Parameters

    Implements

    Index
    authors: Map<string, Set<E>> = ...
    claims: WeakMap<E, number> = ...

    A weak map of events to claim reference counts

    created_at: TimeIndex<E> = ...
    events: LRU<E> = ...

    LRU cache of last events touched

    kindAuthor: Map<string, Set<E>> = ...

    Composite index for kind+author queries (common pattern)

    kinds: Map<number, Set<E>> = ...

    Indexes

    log: Debugger = ...
    replaceable: Map<string, E[]> = ...

    A sorted array of replaceable events by address

    tags: LRU<Set<E>> = ...
    • Builds the indexes for any tag values that are not indexed yet with a single pass over the events

      Parameters

      • tagAndValues: Iterable<string>

      Returns Map<string, Set<E>>

    • Iterates over all events by time

      Parameters

      • since: number | undefined
      • until: number | undefined

      Returns Generator<E>

    • Helper method to remove an event from a sorted array using binary search. Falls back to indexOf if binary search doesn't find exact match.

      Parameters

      • array: E[]
      • event: E

      Returns void