handle( inputType ) {
        const states = this._states,
            current = this.state;

        let args = Array.prototype.slice.call( arguments, 0 );
        this.currentActionArgs = args;

        let handler = states[ current ][ inputType ];
        let hasHandler = true;
        let action;
        if ( 'function' === typeof handler ) {
            action = `${current}.${inputType}`;
            args = args.slice( 1 );
        } else if ( 'function' === typeof states[ current ]._anyEvents ) {
            handler = states[ current ]._anyEvents;
            action = '_anyEvents';
        } else {
            hasHandler = false;
        }

        if ( hasHandler ) {
            if ( !this._currentAction ) {
                this._currentAction = action;
            }
            this.emit( HANDLING, {
                inputType,
                args
            } );
            handler.apply( states[ current ], args );
            this.emit( HANDLED, {
                inputType,
                args
            } );

            this._priorAction = this._currentAction;
            this._currentAction = '';
            this.processQueue( NEXT_HANDLER );
        } else {
            this.emit( NO_HANDLER, {
                inputType,
                args
            } );
        }

        this.currentActionArgs = undefined;
    }
/**
     * Call handler in state
     * @param {string} inputType
     */
Call handler in state
@param {string} inputType
Call handler in state @param { string } inputType
handle( inputType ) {
        const states = this._states,
            current = this.state;
        let args = Array.prototype.slice.call( arguments, 0 );
        this.currentActionArgs = args;
        let handler = states[ current ][ inputType ];
        let hasHandler = true;
        let action;
        if ( 'function' === typeof handler ) {
            action = `${current}.${inputType}`;
            args = args.slice( 1 );
        } else if ( 'function' === typeof states[ current ]._anyEvents ) {
            handler = states[ current ]._anyEvents;
            action = '_anyEvents';
        } else {
            hasHandler = false;
        }
        if ( hasHandler ) {
            if ( !this._currentAction ) {
                this._currentAction = action;
            }
            this.emit( HANDLING, {
                inputType,
                args
            } );
            handler.apply( states[ current ], args );
            this.emit( HANDLED, {
                inputType,
                args
            } );
            this._priorAction = this._currentAction;
            this._currentAction = '';
            this.processQueue( NEXT_HANDLER );
        } else {
            this.emit( NO_HANDLER, {
                inputType,
                args
            } );
        }
        this.currentActionArgs = undefined;
    }
handle ( inputType ) { const states = this . _states , current = this . state ; let args = Array . prototype . slice . call ( arguments , 0 ) ; this . currentActionArgs = args ; let handler = states [ current ] [ inputType ] ; let hasHandler = true ; let action ; if ( 'function' === typeof handler ) { action = ` ${ current } ${ inputType } ` ; args = args . slice ( 1 ) ; } else if ( 'function' === typeof states [ current ] . _anyEvents ) { handler = states [ current ] . _anyEvents ; action = '_anyEvents' ; } else { hasHandler = false ; } if ( hasHandler ) { if ( ! this . _currentAction ) { this . _currentAction = action ; } this . emit ( HANDLING , { inputType , args } ) ; handler . apply ( states [ current ] , args ) ; this . emit ( HANDLED , { inputType , args } ) ; this . _priorAction = this . _currentAction ; this . _currentAction = '' ; this . processQueue ( NEXT_HANDLER ) ; } else { this . emit ( NO_HANDLER , { inputType , args } ) ; } this . currentActionArgs = undefined ; }
Call handler in state
 @param {string} inputType
Call handler in state @param { string } inputType