| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 'use strict'const getDocsUrl = require('./lib/get-docs-url')const isPromise = require('./lib/is-promise')module.exports = {  meta: {    type: 'problem',    docs: {      description:        'Ensures the proper number of arguments are passed to Promise functions',      url: getDocsUrl('valid-params'),    },  },  create(context) {    return {      CallExpression(node) {        if (!isPromise(node)) {          return        }        const name = node.callee.property.name        const numArgs = node.arguments.length        switch (name) {          case 'resolve':          case 'reject':            if (numArgs > 1) {              context.report({                node,                message:                  'Promise.{{ name }}() requires 0 or 1 arguments, but received {{ numArgs }}',                data: { name, numArgs },              })            }            break          case 'then':            if (numArgs < 1 || numArgs > 2) {              context.report({                node,                message:                  'Promise.{{ name }}() requires 1 or 2 arguments, but received {{ numArgs }}',                data: { name, numArgs },              })            }            break          case 'race':          case 'all':          case 'catch':          case 'finally':            if (numArgs !== 1) {              context.report({                node,                message:                  'Promise.{{ name }}() requires 1 argument, but received {{ numArgs }}',                data: { name, numArgs },              })            }            break          default:            break        }      },    }  },}
 |