Create callback api from synchronous function. Same as
make-callback
, but won't handle generators and if async function is given returns it.
npm i create-callback --save
npm test
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'}
})
- 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
ornext
exists as function argument name.
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.