Skip to content

Instantly share code, notes, and snippets.

@andre487
Created September 8, 2015 10:29
Show Gist options
  • Select an option

  • Save andre487/e637a8024a29afa2e36c to your computer and use it in GitHub Desktop.

Select an option

Save andre487/e637a8024a29afa2e36c to your computer and use it in GitHub Desktop.

Revisions

  1. andre487 created this gist Sep 8, 2015.
    14 changes: 14 additions & 0 deletions ramda-promises.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    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));