1 | 'use strict'
|
2 |
|
3 | const isInsidePromise = require('./is-inside-promise')
|
4 |
|
5 | function isInsideCallback(node) {
|
6 | const isCallExpression =
|
7 | node.type === 'FunctionExpression' ||
|
8 | node.type === 'ArrowFunctionExpression' ||
|
9 | node.type === 'FunctionDeclaration'
|
10 |
|
11 |
|
12 | if (isInsidePromise(node)) return
|
13 |
|
14 | const name = node.params && node.params[0] && node.params[0].name
|
15 | const firstArgIsError = name === 'err' || name === 'error'
|
16 | const isInACallback = isCallExpression && firstArgIsError
|
17 | return isInACallback
|
18 | }
|
19 |
|
20 | module.exports = isInsideCallback
|