Automerge Repo - v2.5.2-alpha.1
    Preparing search index...

    Class Presence<State, DocType>

    Presence encapsulates ephemeral state communication for a specific doc handle. It tracks caller-provided local state and broadcasts that state to all peers. It sends periodic heartbeats when there are no state updates.

    It also tracks ephemeral state broadcast by peers and emits events when peers send ephemeral state updates (see PresenceEvents).

    Presence starts out in an inactive state. Call start and stop to activate and deactivate it.

    Type Parameters

    Hierarchy

    • EventEmitter<PresenceEvents>
      • Presence
    Index

    Constructors

    Properties

    deviceId?: unknown
    userId?: unknown
    prefixed: string | boolean

    Accessors

    Methods

    • Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • fn: (...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]) => void
      • Optionalcontext: any

      Returns this

    • Calls each of the listeners registered for a given event.

      Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • ...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]

      Returns boolean

    • Return an array listing the events for which the emitter has registered listeners.

      Returns (keyof PresenceEvents)[]

    • Return the number of listeners listening to a given event.

      Parameters

      • event: keyof PresenceEvents

      Returns number

    • Return the listeners registered for a given event.

      Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T

      Returns (
          (
              ...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>],
          ) => void
      )[]

    • Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • Optionalfn: (...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]) => void
      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Add a listener for a given event.

      Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • fn: (...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]) => void
      • Optionalcontext: any

      Returns this

    • Add a one-time listener for a given event.

      Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • fn: (...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]) => void
      • Optionalcontext: any

      Returns this

    • Remove all listeners, or those of the specified event.

      Parameters

      • Optionalevent: keyof PresenceEvents

      Returns this

    • Remove the listeners of a given event.

      Type Parameters

      • T extends keyof PresenceEvents

      Parameters

      • event: T
      • Optionalfn: (...args: ArgumentMap<PresenceEvents>[Extract<T, keyof PresenceEvents>]) => void
      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Stop this Presence: broadcast a "goodbye" message (when received, other peers will immediately forget the sender), stop sending heartbeats, and stop listening to ephemeral-messages broadcast from peers.

      This can be used with browser events like "pagehide" or "visibilitychange" to stop sending and receiving updates when not active.

      Returns void