Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 35x | /**
* Type detection beyond `typeof`
*
* Copyright (C) 2022 Dieter Raber
* https://opensource.org/licenses/MIT
*/
import getType from "./getType.js";
/**
* Check if a value is callable
* @param {*} value The value to check
* @returns {Boolean}
* @example
* class Foo {
* anyMethod(){...}
* static otherMethod(){...}
* }
* const fooObj = new Foo();
* const v1 = fooObj.anyMethod;
* isCallable(v1); // true
*
* const v2 = Foo.otherMethod;
* isCallable(v2); // true
*
* const v3 = function () {}
* isCallable(v3); // true
*
* const v4 = function* generator(i) {};
* isCallable(v4); // true
*
* const v5 = async function () {};
* isCallable(v5); // true
*/
const isCallable = (value) => getType(value).endsWith('Function');
export default isCallable;
|