is-callable
Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.
Supported engines
Automatically tested in every minor version of node.
Manually tested in:
Safari: v4 - v15 (4, 5, 5.1, 6.0.5, 6.2, 7.1, 8, 9.1.3, 10.1.2, 11.1.2, 12.1, 13.1.2, 14.1.2, 15.3, 15.6.1)
Note: Safari 9 has
class, butFunction.prototype.toStringhides that progeny and makes them look like functions, soclassconstructors will be reported by this package as callable, when they are not in fact callable.
Chrome: v15 - v81, v83 - v106(every integer version)
Note: This includes Edge v80+ and Opera v15+, which matches Chrome
Firefox: v3, v3.6, v4 - v105 (every integer version)
Note: v45 - v54 has
class, butFunction.prototype.toStringhides that progeny and makes them look like functions, soclassconstructors will be reported by this package as callable, when they are not in fact callable.Note: in v42 - v63,
Function.prototype.toStringthrows on HTML element constructors, or a Proxy to a functionNote: in v20 - v35, HTML element constructors are not callable, despite having typeof
function.Note: in v19,
document.allis not callable.
IE: v6 - v11(every integer version
Opera: v11.1, v11.5, v11.6, v12.1, v12.14, v12.15, v12.16, v15+ v15+ matches Chrome
Example
Install
Install with
Tests
Simply clone the repo, npm install, and run npm test
Last updated
