@@ -2,19 +2,19 @@ import { EventEmitter } from 'events';
22
33const CHANGE_EVENT = 'change' ;
44
5- class FluxStore < TState > {
5+ class FluxStore < PayloadType , TState > {
66 _changed : boolean ;
77 _emitter : EventEmitter ;
88 dispatchToken : string ;
9- _dispatcher : Flux . Dispatcher < any > ;
9+ _dispatcher : Flux . Dispatcher < PayloadType > ;
1010 _cleanStateFn : ( ) => TState ;
1111 _state : TState ;
1212
13- constructor ( dispatcher , cleanStateFn ) {
13+ constructor ( dispatcher : Flux . Dispatcher < PayloadType > , cleanStateFn : ( ) => TState ) {
1414 this . _emitter = new EventEmitter ( ) ;
1515 this . _changed = false ;
1616 this . _dispatcher = dispatcher ;
17- this . dispatchToken = dispatcher . register ( payload => {
17+ this . dispatchToken = dispatcher . register ( ( payload : PayloadType ) => {
1818 this . _invokeOnDispatch ( payload ) ;
1919 } ) ;
2020
@@ -31,11 +31,11 @@ class FluxStore<TState> {
3131
3232 hasChanged ( ) { return this . _changed ; }
3333
34- addChangeListener ( callback ) {
34+ addChangeListener ( callback : ( ) => void ) {
3535 this . _emitter . on ( CHANGE_EVENT , callback ) ;
3636 }
3737
38- removeChangeListener ( callback ) {
38+ removeChangeListener ( callback : ( ) => void ) {
3939 this . _emitter . removeListener ( CHANGE_EVENT , callback ) ;
4040 }
4141
@@ -44,15 +44,15 @@ class FluxStore<TState> {
4444 this . _state = this . _cleanStateFn ( ) ;
4545 }
4646
47- _invokeOnDispatch ( payload ) {
47+ _invokeOnDispatch ( payload : PayloadType ) {
4848 this . _changed = false ;
4949 this . _onDispatch ( payload ) ;
5050 if ( this . _changed ) {
5151 this . _emitter . emit ( CHANGE_EVENT ) ;
5252 }
5353 }
5454
55- _onDispatch ( payload ) {
55+ _onDispatch ( payload : PayloadType ) {
5656 if ( process . env . NODE_ENV !== 'production' ) {
5757 console . error ( `${ this . constructor . name } has not overridden FluxStore.__onDispatch(), which is required` ) ; // eslint-disable-line no-console
5858 }
0 commit comments