Skip to content

editor › Globals › EventEmitter

Class: EventEmitter ‹CallbackArgumentType›

Implements a basic event where callback listeners can be added by using register(), and the event can be fired by calling emit().

The event is (memdump-)serialization-safe, as it saves the callback method name as well. so the callback can be restored by knowing the receiving object and method name.

Type parameters

▪ CallbackArgumentType

Hierarchy

  • EventEmitter

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

+ new EventEmitter(): EventEmitter

Defined in src/util/EventEmitter.ts:33

Returns: EventEmitter

Properties

Private _handlers

• _handlers: Array‹object› = []

Defined in src/util/EventEmitter.ts:24


Private _serializationCanary

• _serializationCanary: function = null

Defined in src/util/EventEmitter.ts:22

This function indicates whether this event instance has been de-serialized recently. Because we do not serialize function references, this reference will become null, and by this we know that we have to restore function callbacks from their names.

Type declaration:

▸ (): void


Private eventSettledListeners

• eventSettledListeners: Array‹function› = []

Defined in src/util/EventEmitter.ts:32


Private isEmitting

• isEmitting: boolean = false

Defined in src/util/EventEmitter.ts:31


Private nextEmitPromise

• nextEmitPromise: ExternalControlPromise‹void› = null

Defined in src/util/EventEmitter.ts:33


Private silenced

• silenced: number = 0

Defined in src/util/EventEmitter.ts:30

Methods

Private _ensureCallbacksAreAssigned

▸ _ensureCallbacksAreAssigned(): void

Defined in src/util/EventEmitter.ts:151

Returns: void


deregister

▸ deregister(receiver: object, callback: function): void

Defined in src/util/EventEmitter.ts:70

Parameters:

▪ receiver: object

▪ callback: function

▸ (CallbackArgumentType: any, emitter?: IEmittingEventEmitter): void

Parameters:

Name Type
CallbackArgumentType any
emitter? IEmittingEventEmitter

Returns: void


emit

▸ emit(data: CallbackArgumentType): any[]

Defined in src/util/EventEmitter.ts:97

Parameters:

Name Type
data CallbackArgumentType

Returns: any[]


getExternalInterface

▸ getExternalInterface(): IPublicEventEmitterInterface‹CallbackArgumentType›

Defined in src/util/EventEmitter.ts:46

This basically reduces this event to the register/deregister interface, preventing other classes to emit the event (since that should only be done by the class that owns it).

Returns: IPublicEventEmitterInterface‹CallbackArgumentType›


getNextEmitPromise

▸ getNextEmitPromise(): Promise‹void›

Implementation of IPublicEventEmitterInterface

Defined in src/util/EventEmitter.ts:90

Returns: Promise‹void›


hasListeners

▸ hasListeners(): boolean

Defined in src/util/EventEmitter.ts:124

Returns: boolean

whether there are any event listeners bound to this event


register

▸ register(receiver: object, callback: function): void

Defined in src/util/EventEmitter.ts:50

Parameters:

▪ receiver: object

▪ callback: function

▸ (CallbackArgumentType: any, emitter?: IEmittingEventEmitter): void

Parameters:

Name Type
CallbackArgumentType any
emitter? IEmittingEventEmitter

Returns: void


registerOnEventSettledListener

▸ registerOnEventSettledListener(callback: function): void

Defined in src/util/EventEmitter.ts:128

Parameters:

▪ callback: function

▸ (): void

Returns: void


removeListeners

▸ removeListeners(): void

Defined in src/util/EventEmitter.ts:136

Returns: void


setSilenced

▸ setSilenced(increase: boolean): void

Implementation of IPublicEventEmitterInterface

Defined in src/util/EventEmitter.ts:143

Parameters:

Name Type Default
increase boolean true

Returns: void