1.0.1 • Published 8 years ago

is-callback-function v1.0.1

Weekly downloads
27
License
MIT
Repository
github
Last release
8 years ago

is-callback-function npmjs.com The MIT License npm downloads

Returns true if function is a callback. Checks its name is one of common-callback-names - callback, cb, cb, callback, next, done, they can be customized, these are default.

code climate standard code style travis build status coverage status dependency status

Install

npm i is-callback-function --save

Usage

For more use-cases see the tests

const isCallbackFunction = require('is-callback-function')

isCallbackFunction

Check if given fn is callback function or not. Notice that "async" functions are not is-callback-function, they are is-async-function - it may be consfusing, but they are different.

Params

  • fn {Function}
  • names {Array}
  • returns {Boolean}

Example

var fs = require('fs')
var isCallback = require('is-callback-function')
var isAsync = require('is-async-function')

console.log(isCallback(fs.readFile)) // => false
console.log(isAsync(fs.readFile)) // => true

console.log(isCallback(function (foo, bar, cb) {})) // => false
console.log(isAsync(function (foo, bar, cb) {})) // => true

console.log(isCallback(function callback (foo, bar) {})) // => true
console.log(isAsync(function callback (foo, bar) {})) // => false

console.log(isCallback(function named (foo, cb) {})) // => false
console.log(isAsync(function named (foo, cb) {})) // => true

console.log(isCallback(function named (foo) {})) // => false
console.log(isAsync(function named (foo) {})) // => false

console.log(isCallback(function foo (bar) {}, ['baz', 'foo', 'qux'])) // => true
console.log(isAsync(function foo (bar, qux) {}, ['baz', 'qux', 'aaa'])) // => true
console.log(isAsync(function foo (bar, qux) {}, ['baz', 'aaa'])) // => false

Whaaat?!

Need clarification? Both signatures are equal.

  • is-callback-function - checks the name of given function
  • is-async-function - checks the arguments names of given function

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github