import { pipe, type, identical } from 'ramda';
import curry1 from 'ramda/src/internal/_curry1';
/**
* Checks if input value is `Async Function`.
*
* @func isAsyncFunction
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}
* @category Type
* @sig * -> Boolean
* @param {*} val The value to test
* @return {boolean}
* @see {@link RA.isFunction|isFunction}, {@link RA.isNotAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}
* @example
*
* RA.isAsyncFunction(async function test() { }); //=> true
* RA.isAsyncFunction(null); //=> false
* RA.isAsyncFunction(function test() { }); //=> false
* RA.isAsyncFunction(() => {}); //=> false
*/
const isAsyncFunction = curry1(
pipe(
type,
identical('AsyncFunction')
)
);
export default isAsyncFunction;