UNPKG

eslint-plugin-reselect

Version:

eslint rules to enforce best practices in selectors made with reselect

27 lines (19 loc) 732 B
const utils = require('../utils'); const isReselectImported = utils.isReselectImported; const getSelectors = utils.getSelectors; module.exports = (context) => { const selectorMethodPrefix = utils.getSelectorMethodPrefix(context); const condition = ` :matches(CallExpression[callee.name=/^${selectorMethodPrefix}.+/][parent.type=/Function/], :not(Property) > CallExpression[callee.name=/^${selectorMethodPrefix}.+/][arguments.length=1][arguments.0.name=/state/])`; function test(node) { if (!isReselectImported(context)) { return; } context.report(node, 'Prefer use of createSelector function'); } return getSelectors(condition, test, context); }; module.schema = [ { type: 'string', }, ];