Sha256: cc1a8e0e2b63bb24f4830c08bac98d53daad7b53a02b75a3c240da868a129bf9
Contents?: true
Size: 987 Bytes
Versions: 43
Compression:
Stored size: 987 Bytes
Contents
/** * Rule: no-promise-in-callback * Discourage using promises inside of callbacks. */ 'use strict' const getDocsUrl = require('./lib/get-docs-url') const isPromise = require('./lib/is-promise') const isInsideCallback = require('./lib/is-inside-callback') module.exports = { meta: { docs: { url: getDocsUrl('no-promise-in-callback') } }, create(context) { return { CallExpression(node) { if (!isPromise(node)) return // if i'm returning the promise, it's probably not really a callback // function, and I should be okay.... if (node.parent.type === 'ReturnStatement') return // what about if the parent is an ArrowFunctionExpression // would that imply an implicit return? if (context.getAncestors().some(isInsideCallback)) { context.report({ node: node.callee, message: 'Avoid using promises inside of callbacks.' }) } } } } }
Version data entries
43 entries across 43 versions & 1 rubygems