Skip to content

Commit b3d7b09

Browse files
perf(event): Reference the underlying functions directly
1 parent f5c41de commit b3d7b09

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/utils/event.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,23 @@ export class Event<T> {
2424
* @param The function to be executed when the event is raised.
2525
* @return A convenience function which removes this event listener when called
2626
*/
27-
addEventListener(listener: (data: T) => void): RemoveCallback {
28-
return this._event.addEventListener(listener);
29-
}
27+
addEventListener: (listener: (data: T) => void) => RemoveCallback =
28+
this._event.addEventListener.bind(this._event);
3029

3130
/**
3231
* Remove an event listener.
3332
* @param The function to be unregistered.
3433
* @return True if the listener was removed;
3534
* false if the listener and scope are not registered with the event.
3635
*/
37-
removeEventListener(listener: (data: T) => void): boolean {
38-
return this._event.removeEventListener(listener);
39-
}
36+
removeEventListener: (listener: (data: T) => void) => boolean =
37+
this._event.removeEventListener.bind(this._event);
4038

4139
/**
4240
* Raises the event by calling each registered listener with all supplied arguments.
4341
* @param This method takes any number of parameters and passes them through to the listener functions.
4442
*/
45-
raiseEvent(data: T): void {
46-
this._event.raiseEvent(data);
47-
}
43+
raiseEvent: (data: T) => void =
44+
this._event.raiseEvent.bind(this._event);
4845

4946
}

0 commit comments

Comments
 (0)