dist/redolent.es.js
function isAsyncFunction (fn, names, strict) {
  if (typeof fn !== 'function') {
    throw new TypeError('is-async-function expect a function')
  }

  strict = typeof names === 'boolean' ? names : strict;
  strict = typeof strict === 'boolean' ? strict : true;
  names = typeof names === 'boolean' ? null : names;

  names = Array.isArray(names) ? names : index(names);
  names = names.length ? names : index$8;

  var idx = index$6(names, index$10(fn));
  return strict ? Boolean(idx) : idx
}
function isAsyncFunction (fn, names, strict) {
  if (typeof fn !== 'function') {
    throw new TypeError('is-async-function expect a function')
  }

  strict = typeof names === 'boolean' ? names : strict;
  strict = typeof strict === 'boolean' ? strict : true;
  names = typeof names === 'boolean' ? null : names;

  names = Array.isArray(names) ? names : index(names);
  names = names.length ? names : index$8;

  var idx = index$6(names, index$10(fn));
  return strict ? Boolean(idx) : idx
}
> Trying to guess is `fn` asynchronous function or not.
But not [is-callback-function][] be aware of that diff.

**Example**

```js
var fs = require('fs')
var isAsyncFn = require('is-async-function')

console.log(isAsyncFunction(fs.readFile)) // => true
console.log(isAsyncFunction(fs.stat)) // => true

console.log(isAsyncFunction(fs.readFileSync)) // => false
console.log(isAsyncFunction(fs.statSync)) // => false

// or pass custom names to recognize as `async`
console.log(isAsyncFunction(fs.stat, ['cb'])) // => false
console.log(isAsyncFunction(fs.readFile, ['foo', 'bar']))
// => false, because fs.readFile uses `cb`
```

@param  {Function} `fn` is this `fn` a callback function
@param  {Array} `names` arguments names, default are [common-callback-names][]
@param  {Boolean} `strict` defaults to `true` to always return a boolean,
pass `false` to get index (position) - this is
useful when you wanna understand which "callback name"
exists as argument in that `fn`
@return {Boolean|Number} always boolean `true` or `false` when on strict mode,
othewise it can be Number index representing the position
and if index is 0 it is transformed to boolean `true` - so
always positive value if function is async.
@api public