2 * @fileoverview Rule to check that spaced function application
3 * @author Matt DuVall <http://www.mattduvall.com>
4 * @deprecated in ESLint v3.3.0
9 //------------------------------------------------------------------------------
11 //------------------------------------------------------------------------------
18 description: "disallow spacing between function identifiers and their applications (deprecated)",
19 category: "Stylistic Issues",
21 url: "https://eslint.org/docs/rules/no-spaced-func"
26 replacedBy: ["func-call-spacing"],
28 fixable: "whitespace",
34 const sourceCode = context.getSourceCode();
37 * Check if open space is present in a function name
38 * @param {ASTNode} node node to evaluate
42 function detectOpenSpaces(node) {
43 const lastCalleeToken = sourceCode.getLastToken(node.callee);
44 let prevToken = lastCalleeToken,
45 parenToken = sourceCode.getTokenAfter(lastCalleeToken);
47 // advances to an open parenthesis.
50 parenToken.range[1] < node.range[1] &&
51 parenToken.value !== "("
53 prevToken = parenToken;
54 parenToken = sourceCode.getTokenAfter(parenToken);
57 // look for a space between the callee and the open paren
59 parenToken.range[1] < node.range[1] &&
60 sourceCode.isSpaceBetweenTokens(prevToken, parenToken)
64 loc: lastCalleeToken.loc.start,
65 message: "Unexpected space between function name and paren.",
67 return fixer.removeRange([prevToken.range[1], parenToken.range[0]]);
74 CallExpression: detectOpenSpaces,
75 NewExpression: detectOpenSpaces