UNPKG

eslint-plugin-lodash

Version:

Lodash specific linting rules for ESLint

47 lines (37 loc) 1.65 kB
/** * @fileoverview Rule to disallow using _.prototype.commit. */ 'use strict'; /** * @fileoverview Rule to disallow using _.prototype.commit. */ //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { create: function create(context) { var _require = require('../util/lodashUtil'); var isLodashChainStart = _require.isLodashChainStart; var isCallToMethod = _require.isCallToMethod; var getLodashImportVisitors = _require.getLodashImportVisitors; var _require2 = require('../util/astUtil'); var isMethodCall = _require2.isMethodCall; var _require$getSettings = require('../util/settingsUtil').getSettings(context); var pragma = _require$getSettings.pragma; var version = _require$getSettings.version; var _require3 = require('../util/ruleUtil'); var combineVisitorObjects = _require3.combineVisitorObjects; return combineVisitorObjects({ CallExpression: function CallExpression(node) { if (isLodashChainStart(node, pragma, context)) { do { node = node.parent.parent; } while (isMethodCall(node) && !isCallToMethod(node, version, 'commit')); if (isCallToMethod(node, version, 'commit')) { context.report(node, 'Do not end chain with commit.'); } } } }, getLodashImportVisitors(context)); } };