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
- IPublicEventEmitterInterface‹CallbackArgumentType›
- IEmittingEventEmitter
Index
Constructors
Properties
Methods
- _ensureCallbacksAreAssigned
- deregister
- emit
- getExternalInterface
- getNextEmitPromise
- hasListeners
- register
- registerOnEventSettledListener
- removeListeners
- setSilenced
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