.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / eslint / lib / rules / no-async-promise-executor.js
1 /**
2  * @fileoverview disallow using an async function as a Promise executor
3  * @author Teddy Katz
4  */
5 "use strict";
6
7 //------------------------------------------------------------------------------
8 // Rule Definition
9 //------------------------------------------------------------------------------
10
11 module.exports = {
12     meta: {
13         type: "problem",
14
15         docs: {
16             description: "disallow using an async function as a Promise executor",
17             category: "Possible Errors",
18             recommended: true,
19             url: "https://eslint.org/docs/rules/no-async-promise-executor"
20         },
21
22         fixable: null,
23         schema: [],
24         messages: {
25             async: "Promise executor functions should not be async."
26         }
27     },
28
29     create(context) {
30         return {
31             "NewExpression[callee.name='Promise'][arguments.0.async=true]"(node) {
32                 context.report({
33                     node: context.getSourceCode().getFirstToken(node.arguments[0], token => token.value === "async"),
34                     messageId: "async"
35                 });
36             }
37         };
38     }
39 };