Skip to content

Latest commit

 

History

History
97 lines (63 loc) · 4.52 KB

README.md

File metadata and controls

97 lines (63 loc) · 4.52 KB

always-thunk npmjs.com The MIT License

Thunkify, basically, everything. Generator function, callback-style or synchronous function; sync function that returns child process, stream or observable; directly passed promise, stream or child process.

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

Install

npm i always-thunk --save
npm test

Usage

For more use-cases see the tests

var fs = require('fs')
var alwaysThunk = require('always-thunk')

var readFile = alwaysThunk(fs.readFile)
readFile('./package.json', 'utf8')(function (err, res) {
  console.log(err) //=> null
  console.log(res) //=> package.json content
})

var readFileSync = alwaysThunk(fs.readFileSync)
readFileSync('./package.json', 'utf8')(function (err, res) {
  console.log(err) //=> null
  console.log(res) //=> package.json content
})

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.
  • handle-callback: Make promise to have support for callback api, it returns promise in that same time.
  • make-callback: Make synchronous function to support callback api
  • promise2thunk: Convert (transform) promise to thunk, just like was in co@3

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.

tunnckocore.tk keybase tunnckocore tunnckoCore npm tunnckoCore twitter tunnckoCore github