UNPKG

1.19 kBJavaScriptView Raw
1/**
2 * Requires space before `()` in call expressions.
3 *
4 * Type: `Boolean`
5 *
6 * Value: `true`
7 *
8 * #### Example
9 *
10 * ```js
11 * "requireSpacesInCallExpression": true
12 * ```
13 *
14 * ##### Valid
15 *
16 * ```js
17 * var x = foobar ();
18 * ```
19 *
20 * ##### Invalid
21 *
22 * ```js
23 * var x = foobar();
24 * ```
25 */
26
27var assert = require('assert');
28
29module.exports = function() {};
30
31module.exports.prototype = {
32 configure: function(options) {
33 assert(
34 options === true,
35 this.getOptionName() + ' option requires a true value or should be removed'
36 );
37 },
38
39 getOptionName: function() {
40 return 'requireSpacesInCallExpression';
41 },
42
43 check: function(file, errors) {
44 file.iterateNodesByType('CallExpression', function(node) {
45 var lastCalleeToken = file.getLastNodeToken(node.callee);
46 var roundBraceToken = file.findNextToken(lastCalleeToken, 'Punctuator', '(');
47
48 errors.assert.whitespaceBetween({
49 token: file.getPrevToken(roundBraceToken),
50 nextToken: roundBraceToken,
51 message: 'Missing space before opening round brace'
52 });
53 });
54 }
55};