vlad 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
..
.editorconfig 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
.eslintrc 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
.istanbul.yml 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
.jscs.json 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
.travis.yml 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
CHANGELOG.md 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
LICENSE 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
Makefile 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
README.md 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
index.js 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
package.json 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos
test.js 6f123ff03e 18.07 %!s(int64=6) %!d(string=hai) anos

README.md

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