Blame view

node_modules/eslint-plugin-promise/rules/lib/is-inside-callback.js 631 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  'use strict'
  
  const isInsidePromise = require('./is-inside-promise')
  
  function isInsideCallback(node) {
    const isCallExpression =
      node.type === 'FunctionExpression' ||
      node.type === 'ArrowFunctionExpression' ||
      node.type === 'FunctionDeclaration' // this may be controversial
  
    // it's totally fine to use promises inside promises
    if (isInsidePromise(node)) return
  
    const name = node.params && node.params[0] && node.params[0].name
    const firstArgIsError = name === 'err' || name === 'error'
    const isInACallback = isCallExpression && firstArgIsError
    return isInACallback
  }
  
  module.exports = isInsideCallback