index.js
function(state, noError) {
        if(validators.isSemicolon(state)) {
            state.next();
        }
        else if(state.token && !validators.isBlockEnd(state)) {
            var lb = state.lookback();
            if(!lb || state.token.line === lb.line) {
                if(!noError) state.error(constants.unexpectedToken);
                return false;
            }
        }

        return true;
    }
function(state, noError) {
        if(validators.isSemicolon(state)) {
            state.next();
        }
        else if(state.token && !validators.isBlockEnd(state)) {
            var lb = state.lookback();
            if(!lb || state.token.line === lb.line) {
                if(!noError) state.error(constants.unexpectedToken);
                return false;
            }
        }

        return true;
    }
function ( state , noError ) { if ( validators . isSemicolon ( state ) ) { state . next ( ) ; } else if ( state . token && ! validators . isBlockEnd ( state ) ) { var lb = state . lookback ( ) ; if ( ! lb || state . token . line === lb . line ) { if ( ! noError ) state . error ( constants . unexpectedToken ) ; return false ; } } return true ; }
Parses a semicolon or applies automatic semicolon insertion.
@param state The parser state.
@param [noError] {boolean} Whether a missing semicolon should cause an error.
@returns {boolean} Whether the parsing or the insertion was successful.
Parses a semicolon or applies automatic semicolon insertion .