1'use strict'; 2 3const { isDefiningError } = require('./rules-utils.js'); 4 5const prefix = 'Out of ASCIIbetical order - '; 6const opStr = ' >= '; 7 8function errorForNode(node) { 9 return node.expression.arguments[0].value; 10} 11 12module.exports = { 13 create: function(context) { 14 let previousNode; 15 return { 16 ExpressionStatement: function(node) { 17 if (!isDefiningError(node)) return; 18 if (!previousNode) { 19 previousNode = node; 20 return; 21 } 22 const prev = errorForNode(previousNode); 23 const curr = errorForNode(node); 24 previousNode = node; 25 if (prev >= curr) { 26 const message = [prefix, prev, opStr, curr].join(''); 27 context.report({ node, message }); 28 } 29 } 30 }; 31 } 32}; 33