0.1.0 ā€¢ Published 7 years ago

util.taskify v0.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

Taskify

util.promisify but for Tasks ! šŸ™Œ

Install

yarn add util.taskify

or

npm install util.taskify

āš ļø You must give taskify the Task data type of your choice.

I suggest you to try Fluture or Taskorama.

Usage

For a single function :

const taskify = require('util.taskify')
const fs = require('fs')
const Task = require('taskorama')
// or
// const Task = require('fluture')

const readFileTask = taskify(Task, fs.readFile)

readFileTask('package.json', 'utf8')
  .fork(
    err => console.error('Failed.', err),
    str => console.log('Done!', str)
  )

Or for a whole module :

const taskify = require('util.taskify')
const fs = require('fs')
const Task = require('taskorama')
// or
// const Task = require('fluture')

const Filesystem = taskify(Task, fs)

Filesystem.readFile('package.json', 'utf8')
  .fork(
    err => console.error('Failed.', err),
    str => console.log('Done!', str)
  )

BONUS

If you like currying (using ramda curry() function) :

const { curry } = require('ramda')
const util_taskify = require('util.taskify')
const fs = require('fs')
const Task = require('taskorama')
// or
// const Task = require('fluture')
//

const taskify = curry(util_taskify)
const taskifier = taskify(Task)

const readFileTask = taskifier(fs.readFile)

readFileTask('package.json')
  .fork(
    err => console.error('Failed.', err),
    str => console.log('Done!', str)
  )