• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * @fileoverview Rule to check use of chained assignment expressions
3 * @author Stewart Rand
4 */
5
6"use strict";
7
8
9//------------------------------------------------------------------------------
10// Rule Definition
11//------------------------------------------------------------------------------
12
13module.exports = {
14    meta: {
15        type: "suggestion",
16
17        docs: {
18            description: "disallow use of chained assignment expressions",
19            category: "Stylistic Issues",
20            recommended: false,
21            url: "https://eslint.org/docs/rules/no-multi-assign"
22        },
23
24        schema: [],
25
26        messages: {
27            unexpectedChain: "Unexpected chained assignment."
28        }
29    },
30
31    create(context) {
32
33        //--------------------------------------------------------------------------
34        // Public
35        //--------------------------------------------------------------------------
36
37        return {
38            AssignmentExpression(node) {
39                if (["AssignmentExpression", "VariableDeclarator"].indexOf(node.parent.type) !== -1) {
40                    context.report({
41                        node,
42                        messageId: "unexpectedChain"
43                    });
44                }
45            }
46        };
47
48    }
49};
50