Sha256: 35f0551a56c6925c939c7c11da8fb1d4c22e842c40a36ae50e06ff1d2a24a733

Contents?: true

Size: 1.11 KB

Versions: 62

Compression:

Stored size: 1.11 KB

Contents

/**
 * @fileoverview disallow using an async function as a Promise executor
 * @author Teddy Katz
 */
"use strict";

//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------

/** @type {import('../shared/types').Rule} */
module.exports = {
    meta: {
        type: "problem",

        docs: {
            description: "Disallow using an async function as a Promise executor",
            recommended: true,
            url: "https://eslint.org/docs/latest/rules/no-async-promise-executor"
        },

        fixable: null,
        schema: [],
        messages: {
            async: "Promise executor functions should not be async."
        }
    },

    create(context) {
        return {
            "NewExpression[callee.name='Promise'][arguments.0.async=true]"(node) {
                context.report({
                    node: context.sourceCode.getFirstToken(node.arguments[0], token => token.value === "async"),
                    messageId: "async"
                });
            }
        };
    }
};

Version data entries

62 entries across 52 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.6 node_modules/eslint/lib/rules/no-async-promise-executor.js
decidim-0.26.8 packages/eslint-config/node_modules/eslint/lib/rules/no-async-promise-executor.js