@@ -10,70 +10,70 @@ log.disable()
1010
1111export default class EventTarget {
1212
13- listeners : any ;
13+ listeners : any ;
1414
15- constructor ( ) {
16- log . info ( 'constructor called' )
17- this . listeners = { }
18- }
19-
20- /**
21- * Add an event listener to given event type
22- * @param {string } type Event type string
23- * @param {(Event) => void } cb Event handler function
24- */
25- addEventListener ( type :string , cb : ( ) = > void ) {
26- log . info ( 'add event listener' , type , cb )
27- if ( ! ( type in this . listeners ) ) {
28- this . listeners [ type ] = [ ]
15+ constructor ( ) {
16+ log . info ( 'constructor called' )
17+ this . listeners = { }
2918 }
30- this . listeners [ type ] . push ( cb )
31- }
3219
33- /**
34- * Remove an event listener
35- * @param {string } type Type of the event listener
36- * @param {()=>void } cb Event listener function.
37- * @return {[type] } [description]
38- */
39- removeEventListener ( type :string , cb :( ) = > void ) {
40- log . info ( 'remove event listener' , type , cb )
41- if ( ! ( type in this . listeners ) )
42- return
43- let handlers = this . listeners [ type ]
44- for ( let i in handlers ) {
45- if ( cb === handlers [ i ] ) {
46- handlers . splice ( i , 1 )
47- return this . removeEventListener ( type , cb )
48- }
20+ /**
21+ * Add an event listener to given event type
22+ * @param {string } type Event type string
23+ * @param {(Event) => void } cb Event handler function
24+ */
25+ addEventListener ( type : string , cb : ( ) = > void ) {
26+ log . info ( 'add event listener' , type , cb )
27+ if ( ! ( type in this . listeners ) ) {
28+ this . listeners [ type ] = [ ]
29+ }
30+ this . listeners [ type ] . push ( cb )
4931 }
50- }
5132
52- /**
53- * Dispatch an event
54- * @param {string } type Event type.
55- * @param {Event } event Event data payload.
56- */
57- dispatchEvent ( type :string , event :Event ) {
58- log . info ( 'dispatch event' , event )
59- if ( ! ( type in this . listeners ) )
60- return
61- let handlers = this . listeners [ type ]
62- for ( let i in handlers ) {
63- handlers [ i ] . call ( this , event )
33+ /**
34+ * Remove an event listener
35+ * @param {string } type Type of the event listener
36+ * @param {()=>void } cb Event listener function.
37+ * @return {[type] } [description]
38+ */
39+ removeEventListener ( type : string , cb : ( ) = > void ) {
40+ log . info ( 'remove event listener' , type , cb )
41+ if ( ! ( type in this . listeners ) )
42+ return
43+ let handlers = this . listeners [ type ]
44+ for ( let i in handlers ) {
45+ if ( cb === handlers [ i ] ) {
46+ handlers . splice ( i , 1 )
47+ return this . removeEventListener ( type , cb )
48+ }
49+ }
6450 }
6551
66- }
52+ /**
53+ * Dispatch an event
54+ * @param {string } type Event type.
55+ * @param {Event } event Event data payload.
56+ */
57+ dispatchEvent ( type : string , event : Event ) {
58+ log . info ( 'dispatch event' , event )
59+ if ( ! ( type in this . listeners ) )
60+ return
61+ let handlers = this . listeners [ type ]
62+ for ( let i in handlers ) {
63+ handlers [ i ] . call ( this , event )
64+ }
65+
66+ }
6767
68- /**
69- * Remove all registered listeners from this object.
70- * @nonstandard
71- * @return {[type] } [description]
72- */
73- clearEventListeners ( ) {
74- for ( let i in this . listeners ) {
75- delete this . listeners [ i ]
68+ /**
69+ * Remove all registered listeners from this object.
70+ * @nonstandard
71+ * @return {[type] } [description]
72+ */
73+ clearEventListeners ( ) {
74+ for ( let i in this . listeners ) {
75+ delete this . listeners [ i ]
76+ }
7677 }
77- }
7878
7979}
0 commit comments