A simple, performant utility to determine if a value is a function.
Full documentation is available at the zerodep.app page.
All @zerodep packages support both ESM and CJS.
import { isFunction } from '@zerodep/is-function';
// or
const { isFunction } = require('@zerodep/is-function');
isFunction(() => 'function'); // true
isFunction(new Function('return true')); // true
isFunction(['a', 'b', 'c']); // false
isFunction(1000n); // false
isFunction(true); // false
isFunction(new Date()); // false
isFunction(''); // false
isFunction(new Error('message')); // false
isFunction(3.14); // false
isFunction(42); // false
isFunction(
new Map([
['a', 1],
['b', 2],
])
); // false
isFunction(null); // false
isFunction({ an: 'object' }); // false
isFunction(new Promise(() => {})); // false
isFunction(/[regex]+/gi); // false
isFunction(new Set([1, 2, 3])); // false
isFunction('a string'); // false
isFunction(Symbol()); // false
isFunction(new Int32Array(2)); // false
isFunction(undefined); // false