Refactored rules

This commit is contained in:
Tim Schaub
2016-08-07 23:17:09 -06:00
parent c203f6a841
commit dd2e9c9ac9
10 changed files with 181 additions and 46 deletions

28
rules/util.js Normal file
View File

@@ -0,0 +1,28 @@
function isGoogCallExpression(node, name) {
const callee = node.callee;
return callee && callee.type === 'MemberExpression' &&
callee.object.type === 'Identifier' && callee.object.name === 'goog' &&
callee.property.type === 'Identifier' && !callee.property.computed &&
callee.property.name === name;
}
function isGoogStatement(node, name) {
return node.expression && node.expression.type === 'CallExpression' &&
isGoogCallExpression(node.expression, name);
}
exports.isProvideExpression = function(node) {
return isGoogCallExpression(node, 'provide');
};
exports.isProvideStatement = function(node) {
return isGoogStatement(node, 'provide');
};
exports.isRequireExpression = function(node) {
return isGoogCallExpression(node, 'require');
};
exports.isRequireStatement = function(node) {
return isGoogStatement(node, 'require');
};