吕君喜 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
..
.editorconfig 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
.eslintrc 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
.istanbul.yml 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
.jscs.json 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
.travis.yml 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
CHANGELOG.md 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
LICENSE 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
Makefile 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
README.md 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
index.js 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
package.json 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
test.js 406d880ac6 first %!s(int64=3) %!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