Permalink
Cannot retrieve contributors at this time
| /** | |
| * @fileoverview Rule to flag use of unary increment and decrement operators. | |
| * @author Ian Christian Myers | |
| * @author Brody McKee (github.com/mrmckeb) | |
| */ | |
| "use strict"; | |
| //------------------------------------------------------------------------------ | |
| // Rule Definition | |
| //------------------------------------------------------------------------------ | |
| module.exports = { | |
| meta: { | |
| type: "suggestion", | |
| docs: { | |
| description: "disallow the unary operators `++` and `--`", | |
| category: "Stylistic Issues", | |
| recommended: false, | |
| url: "https://eslint.org/docs/rules/no-plusplus" | |
| }, | |
| schema: [ | |
| { | |
| type: "object", | |
| properties: { | |
| allowForLoopAfterthoughts: { | |
| type: "boolean", | |
| default: false | |
| } | |
| }, | |
| additionalProperties: false | |
| } | |
| ] | |
| }, | |
| create(context) { | |
| const config = context.options[0]; | |
| let allowInForAfterthought = false; | |
| if (typeof config === "object") { | |
| allowInForAfterthought = config.allowForLoopAfterthoughts === true; | |
| } | |
| return { | |
| UpdateExpression(node) { | |
| if (allowInForAfterthought && node.parent.type === "ForStatement") { | |
| return; | |
| } | |
| context.report({ | |
| node, | |
| message: "Unary operator '{{operator}}' used.", | |
| data: { | |
| operator: node.operator | |
| } | |
| }); | |
| } | |
| }; | |
| } | |
| }; |