Quellcode durchsuchen

feat(ts) migrate Listenable to TS

dev0
Naman Jain vor 9 Monaten
Ursprung
Commit
c469abc5a2
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
2 geänderte Dateien mit 13 neuen und 5 gelöschten Zeilen
  1. 2
    0
      modules/util/EventEmitter.ts
  2. 11
    5
      modules/util/Listenable.ts

+ 2
- 0
modules/util/EventEmitter.ts Datei anzeigen

@@ -1,5 +1,7 @@
1 1
 import { EventEmitter as NodeEventEmitter } from 'events';
2 2
 
3
+export type EventListener = (...args: any[]) => void;
4
+
3 5
 /**
4 6
  * The class creates our own EventEmitter instance
5 7
  */

modules/util/Listenable.js → modules/util/Listenable.ts Datei anzeigen

@@ -1,4 +1,4 @@
1
-import EventEmitter from './EventEmitter';
1
+import EventEmitter, { EventListener } from './EventEmitter';
2 2
 
3 3
 /**
4 4
  * The class implements basic event operations - add/remove listener.
@@ -6,6 +6,12 @@ import EventEmitter from './EventEmitter';
6 6
  * this functionality to other classes.
7 7
  */
8 8
 export default class Listenable {
9
+    public eventEmitter: EventEmitter;
10
+    public addEventListener: typeof EventEmitter.prototype.addListener;
11
+    public removeEventListener: typeof EventEmitter.prototype.removeListener;
12
+    public on: typeof EventEmitter.prototype.addListener;
13
+    public off: typeof EventEmitter.prototype.removeListener;
14
+
9 15
     /**
10 16
      * Creates new instance.
11 17
      * @constructor
@@ -24,7 +30,7 @@ export default class Listenable {
24 30
      * @param {Function} listener the listener.
25 31
      * @returns {Function} - The unsubscribe function.
26 32
      */
27
-    addCancellableListener(eventName, listener) {
33
+    addCancellableListener(eventName: string, listener: EventListener): () => void {
28 34
         this.addListener(eventName, listener);
29 35
 
30 36
         return () => this.removeListener(eventName, listener);
@@ -36,7 +42,7 @@ export default class Listenable {
36 42
      * @param {Function} listener the listener.
37 43
      * @returns {EventEmitter} - The emitter, so that calls can be chained.
38 44
      */
39
-    addListener(eventName, listener) {
45
+    addListener(eventName: string, listener: EventListener): EventEmitter {
40 46
         return this.eventEmitter.addListener(eventName, listener);
41 47
     }
42 48
 
@@ -47,7 +53,7 @@ export default class Listenable {
47 53
      * @param {Function} listener the listener.
48 54
      * @returns {EventEmitter} - The emitter, so that calls can be chained.
49 55
      */
50
-    removeListener(eventName, listener) {
56
+    removeListener(eventName: string, listener: EventListener): EventEmitter {
51 57
         return this.eventEmitter.removeListener(eventName, listener);
52 58
     }
53 59
 
@@ -55,7 +61,7 @@ export default class Listenable {
55 61
      * Emits an event.
56 62
      * @param {string} event - event name
57 63
      */
58
-    emit(event, ...args) {
64
+    emit(event: string, ...args: any[]): void {
59 65
         this.eventEmitter.emit(event, ...args);
60 66
     }
61 67
 }

Laden…
Abbrechen
Speichern