You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							79 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							79 lines
						
					
					
						
							2.3 KiB
						
					
					
				/** | 
						|
 * @fileoverview Rule to check that spaced function application | 
						|
 * @author Matt DuVall <http://www.mattduvall.com> | 
						|
 * @deprecated in ESLint v3.3.0 | 
						|
 */ | 
						|
 | 
						|
"use strict"; | 
						|
 | 
						|
//------------------------------------------------------------------------------ | 
						|
// Rule Definition | 
						|
//------------------------------------------------------------------------------ | 
						|
 | 
						|
module.exports = { | 
						|
    meta: { | 
						|
        type: "layout", | 
						|
 | 
						|
        docs: { | 
						|
            description: "disallow spacing between function identifiers and their applications (deprecated)", | 
						|
            category: "Stylistic Issues", | 
						|
            recommended: false, | 
						|
            url: "https://eslint.org/docs/rules/no-spaced-func" | 
						|
        }, | 
						|
 | 
						|
        deprecated: true, | 
						|
 | 
						|
        replacedBy: ["func-call-spacing"], | 
						|
 | 
						|
        fixable: "whitespace", | 
						|
        schema: [] | 
						|
    }, | 
						|
 | 
						|
    create(context) { | 
						|
 | 
						|
        const sourceCode = context.getSourceCode(); | 
						|
 | 
						|
        /** | 
						|
         * Check if open space is present in a function name | 
						|
         * @param {ASTNode} node node to evaluate | 
						|
         * @returns {void} | 
						|
         * @private | 
						|
         */ | 
						|
        function detectOpenSpaces(node) { | 
						|
            const lastCalleeToken = sourceCode.getLastToken(node.callee); | 
						|
            let prevToken = lastCalleeToken, | 
						|
                parenToken = sourceCode.getTokenAfter(lastCalleeToken); | 
						|
 | 
						|
            // advances to an open parenthesis. | 
						|
            while ( | 
						|
                parenToken && | 
						|
                parenToken.range[1] < node.range[1] && | 
						|
                parenToken.value !== "(" | 
						|
            ) { | 
						|
                prevToken = parenToken; | 
						|
                parenToken = sourceCode.getTokenAfter(parenToken); | 
						|
            } | 
						|
 | 
						|
            // look for a space between the callee and the open paren | 
						|
            if (parenToken && | 
						|
                parenToken.range[1] < node.range[1] && | 
						|
                sourceCode.isSpaceBetweenTokens(prevToken, parenToken) | 
						|
            ) { | 
						|
                context.report({ | 
						|
                    node, | 
						|
                    loc: lastCalleeToken.loc.start, | 
						|
                    message: "Unexpected space between function name and paren.", | 
						|
                    fix(fixer) { | 
						|
                        return fixer.removeRange([prevToken.range[1], parenToken.range[0]]); | 
						|
                    } | 
						|
                }); | 
						|
            } | 
						|
        } | 
						|
 | 
						|
        return { | 
						|
            CallExpression: detectOpenSpaces, | 
						|
            NewExpression: detectOpenSpaces | 
						|
        }; | 
						|
 | 
						|
    } | 
						|
};
 | 
						|
 |