create-callback

1.0.1 • Public • Published

create-callback npmjs.com The MIT License

Create callback api from synchronous function. Same as make-callback, but won't handle generators and if async function is given returns it.

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

Install

npm i create-callback --save
npm test

Usage

For more use-cases see the tests

var fs = require('fs')
var createCallback = require('create-callback')
 
var parseJsonAsync = createCallback(JSON.parse)
var readFileAsync = createCallback(fs.readFileSync)
var readAsync = createCallback(fs.readFile)
var readFile = createCallback(fs.readFileSync)
 
readFileAsync('./package.json') //=> throws TypeError
readAsync('./package.json', 'utf8', function (err, res) {
  console.error(err) //=> null
  console.log(res) //=> content of 'package.json'
})
readFile('./package.json', 'utf8', function (err, res) {
  console.error(err) //=> null
  console.log(res) //=> content of 'package.json'
})
parseJsonAsync('{"foo":"bar"}', function (err, res) {
  console.error(err) //=> null
  console.log(res) //=> {foo: 'bar'}
})

Related

  • always-promise: Create Bluebird Promise from given async or synchronous function. It automatically convert sync functions to async, then to promise.
  • always-callback: Create callback api for given sync function. Guarantee that given function (sync or async, no matter) will always have callback api and will handle errors correctly.
  • make-callback: Make synchronous function or generator to support callback api
  • handle-callback: Make promise to have support for callback api, it returns promise in that same time.
  • handle-arguments: Handles given Arguments object - return separatly last argument (commonly callback) and other arguments as Array. Useful in node-style callback flow.
  • manage-arguments: Prevents arguments leakage - managing arguments. From Optimization killers by Petka Antonov.
  • benz: Compose your control flow with absolute elegance. Support async/await, callbacks, thunks, generators, promises, observables, child processes and streams. Can power applications that need to have plugins. Useful for creating task, test and bench runners.
  • hybridify: Building hybrid APIs. You can use both callback and promise in same time. Like asyncFn(name, cb).then().catch()
  • is-async-function: Check that given function is async (callback) function or not. Trying to guess that based on check if callback, cb, done or next exists as function argument name.

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

Package Sidebar

Install

npm i create-callback

Weekly Downloads

3

Version

1.0.1

License

MIT

Last publish

Collaborators

  • vanchoy
  • tunnckocore