fantasy-async

Wrap Node.js callback functions in functional promises

fantasy-async

Wraps functions that want callbacks in pure functional promises.

var async = require('fantasy-async');
 
var get = async(request);
var write = async(fs.writeFile);
 
var requestPromise = get('/post/123')
.chain(function(post) { return get('/user/'+post.author); })
.fold(
    function error() { return Result.notFound() },
    function done(user) { return Result.ok(JSON.stringify(user)) }
);

npm install fantasy-async

Given a function that takes a Node-style function (err, result) callback, returns a function that takes the same arguments and returns an EitherT Promise wrapping the error as Left or the result as Right.

See the code for EitherT for the complete API.

MIT