UNPKG

jscs

Version:
40 lines (31 loc) 1.28 kB
var assert = require('assert'); var tokenHelper = require('../token-helper'); module.exports = function() {}; module.exports.prototype = { configure: function(operators) { assert(Array.isArray(operators), 'disallowSpaceAfterBinaryOperators option requires array value'); this._operatorIndex = {}; for (var i = 0, l = operators.length; i < l; i++) { this._operatorIndex[operators[i]] = true; } }, getOptionName: function () { return 'disallowSpaceAfterBinaryOperators'; }, check: function(file, errors) { var operators = this._operatorIndex; // 2 + 2, 2 == 2 file.iterateNodesByType(['BinaryExpression'], function (node) { if (operators[node.operator]) { // get token before right part of expression var tokenBeforeRightPart = tokenHelper.getTokenByRangeStart(file, node.right.range[0] - 1, true); if (!tokenHelper.tokenIsPunctuator(tokenBeforeRightPart, node.operator)) { errors.add( 'Operator ' + node.operator + ' should stick to following expression', node.right.loc.start ); } } }); } };