url: "https://eslint.org/docs/rules/no-multi-assign"
},
- schema: []
+ schema: [{
+ type: "object",
+ properties: {
+ ignoreNonDeclaration: {
+ type: "boolean",
+ default: false
+ }
+ },
+ additionalProperties: false
+ }],
+
+ messages: {
+ unexpectedChain: "Unexpected chained assignment."
+ }
},
create(context) {
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
+ const options = context.options[0] || {
+ ignoreNonDeclaration: false
+ };
+ const targetParent = options.ignoreNonDeclaration ? ["VariableDeclarator"] : ["AssignmentExpression", "VariableDeclarator"];
return {
AssignmentExpression(node) {
- if (["AssignmentExpression", "VariableDeclarator"].indexOf(node.parent.type) !== -1) {
+ if (targetParent.indexOf(node.parent.type) !== -1) {
context.report({
node,
- message: "Unexpected chained assignment."
+ messageId: "unexpectedChain"
});
}
}