.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / eslint / lib / rules / no-iterator.js
1 /**
2  * @fileoverview Rule to flag usage of __iterator__ property
3  * @author Ian Christian Myers
4  */
5
6 "use strict";
7
8 //------------------------------------------------------------------------------
9 // Requirements
10 //------------------------------------------------------------------------------
11
12 const { getStaticPropertyName } = require("./utils/ast-utils");
13
14 //------------------------------------------------------------------------------
15 // Rule Definition
16 //------------------------------------------------------------------------------
17
18 module.exports = {
19     meta: {
20         type: "suggestion",
21
22         docs: {
23             description: "disallow the use of the `__iterator__` property",
24             category: "Best Practices",
25             recommended: false,
26             url: "https://eslint.org/docs/rules/no-iterator"
27         },
28
29         schema: [],
30
31         messages: {
32             noIterator: "Reserved name '__iterator__'."
33         }
34     },
35
36     create(context) {
37
38         return {
39
40             MemberExpression(node) {
41
42                 if (getStaticPropertyName(node) === "__iterator__") {
43                     context.report({
44                         node,
45                         messageId: "noIterator"
46                     });
47                 }
48             }
49         };
50
51     }
52 };