Skip to content

Instantly share code, notes, and snippets.

@andre487
Created September 8, 2015 10:29
Show Gist options
  • Save andre487/e637a8024a29afa2e36c to your computer and use it in GitHub Desktop.
Save andre487/e637a8024a29afa2e36c to your computer and use it in GitHub Desktop.
Ramda promises
var Fs = require('fs');
var Http = require('q-io/http');
var Q = require('q');
var R = require('ramda');
var readFile = R.composeP(R.toString, R.partial(Q.ninvoke, Fs, 'readFile'));
var readPackageInfo = R.composeP(JSON.parse, readFile, R.partial(Q, 'package.json'));
var homePageFromAuthor = R.compose(R.propOr('', 1), R.match(/.+?\((.+?)\)$/), R.prop('author'));
var getHomePageHtml = R.composeP(R.toString, Http.read, homePageFromAuthor, readPackageInfo);
getHomePageHtml()
.then(R.bind(console.log, console));
@acvetkov
Copy link

acvetkov commented Sep 8, 2015

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment