The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
The relation event's type, such as "m.reaction", etc.
The client which created this instance. For backwards compatibility also accepts a Room.
OptionalaltEventTypes: string[]alt event types for relation events, for example to support unstable prefixed event types
Optional Readonlyaltalt event types for relation events, for example to support unstable prefixed event types
ReadonlyeventThe relation event's type, such as "m.reaction", etc.
ReadonlyrelationThe type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
Add relation events to this collection.
The new relation event to be added.
Alias for on.
Synchronously calls each of the listeners registered for the event named
event, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Synchronously calls each of the listeners registered for the event named
event, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Similar to emit but calls all listeners within a Promise.all and returns the promise chain
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Similar to emit but calls all listeners within a Promise.all and returns the promise chain
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Get all events in this collection grouped by sender.
This is currently only supported for the annotation relation type.
An object with each relation sender as a key and the matching Set of events for that sender as a value.
Returns the most recent (and allowed) m.replace relation, if any.
This is currently only supported for the m.replace relation type,
once the target event is known, see addEvent.
Get all relation events in this collection.
These are currently in the order of insertion to this collection, which
won't match timeline order in the case of scrollback.
TODO: Tweak addEvent to insert correctly for scrollback.
Relation events in insertion order.
Get all events in this collection grouped by key and sorted by descending event count in each group.
This is currently only supported for the annotation relation type.
An array of [key, events] pairs sorted by descending event count. The events are stored in a Set (which preserves insertion order).
Returns the number of listeners listening to the event named event.
The name of the event being listened for
Returns a copy of the array of listeners for the event named event.
Alias for removeListener
Adds the listener function to the end of the listeners array for the
event named event.
No checks are made to see if the listener has already been added. Multiple calls
passing the same combination of event and listener will result in the listener
being added, and called, multiple times.
By default, event listeners are invoked in the order they are added. The prependListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Adds a one-time listener function for the event named event. The
next time event is triggered, this listener is removed and then invoked.
Returns a reference to the EventEmitter, so that calls can be chained.
By default, event listeners are invoked in the order they are added. The prependOnceListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Adds the listener function to the beginning of the listeners array for the
event named event.
No checks are made to see if the listener has already been added. Multiple calls
passing the same combination of event and listener will result in the listener
being added, and called, multiple times.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Adds a one-timelistener function for the event named event to the beginning of the listeners array.
The next time event is triggered, this listener is removed, and then invoked.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Returns a copy of the array of listeners for the event named eventName,
including any wrappers (such as those created by .once()).
Removes all listeners, or those of the specified event.
It is bad practice to remove listeners added elsewhere in the code,
particularly when the EventEmitter instance was created by some other
component or module (e.g. sockets or file streams).
Optionalevent: EventEmitterEvents | RelationsEventThe name of the event. If undefined, all listeners everywhere are removed.
a reference to the EventEmitter, so that calls can be chained.
Remove relation event from this collection.
The relation event to remove.
Removes the specified listener from the listener array for the event named event.
a reference to the EventEmitter, so that calls can be chained.
A container for relation events that supports easy access to common ways of aggregating such events. Each instance holds events that of a single relation type and event type. All of the events also relate to the same original event.
The typical way to get one of these containers is via EventTimelineSet#getRelationsForEvent.