alecxe/eslint-plugin-protractor

View on GitHub
lib/rules/no-array-finder-methods.js

Summary

Maintainability
A
25 mins
Test Coverage
'use strict'
 
/**
* @fileoverview Disallow using `ElementArrayFinder` methods on `ElementFinder`
* @author Alexander Afanasyev
*/
 
var isElementFinder = require('../is-element-finder')
var elementArrayFinderMethods = [
'first',
'last',
'get',
'filter',
'map',
'each',
'reduce',
'count'
]
 
module.exports = {
meta: {
schema: []
},
 
Function `create` has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
create: function (context) {
return {
MemberExpression: function (node) {
var property = node.property
 
if (property && elementArrayFinderMethods.indexOf(property.name) > -1) {
if (isElementFinder(node.object)) {
context.report({
node: node,
message: 'Unexpected "' + property.name + '()" call on ElementFinder'
})
}
}
}
}
}
}