Skip to content

Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.

License

Notifications You must be signed in to change notification settings

jakearchibald/is-callable

 
 

Repository files navigation

is-callable Version Badge

Build Status dependency status dev dependency status License Downloads

npm badge

browser support

Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.

Example

var isCallable = require('is-callable');
var assert = require('assert');

assert.notOk(isCallable(undefined));
assert.notOk(isCallable(null));
assert.notOk(isCallable(false));
assert.notOk(isCallable(true));
assert.notOk(isCallable([]));
assert.notOk(isCallable({}));
assert.notOk(isCallable(/a/g));
assert.notOk(isCallable(new RegExp('a', 'g')));
assert.notOk(isCallable(new Date()));
assert.notOk(isCallable(42));
assert.notOk(isCallable(NaN));
assert.notOk(isCallable(Infinity));
assert.notOk(isCallable(new Number(42)));
assert.notOk(isCallable('foo'));
assert.notOk(isCallable(Object('foo')));

assert.ok(isCallable(function () {}));
assert.ok(isCallable(function* () {}));
assert.ok(isCallable(x => x * x));

Tests

Simply clone the repo, npm install, and run npm test

About

Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 56.3%
  • Makefile 43.7%