Skip to content

rikukissa/compose-async

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

compose-async

Like compose, but functions can return Promises

var composeAsync = require('compose-async');

var deleteFriends = composeAsync(deleteUsersFriends, findUserById);

deleteFriends(3453).then((deletedFriends) => /* ... */);
var composeAsync = require('compose-async');

function reverse(srt) {
  return str.split('').reverse().join('');
}

function nl2br(str) {
  return str.replace(/\n/g, '<br />');
}

function fetchLinkTitles(str) {
  // Async magic
  return new Promise(function(resolve, reject) {
    resolve(str.replace(
      /https?:\/\/\S+/g,
      'California man bitten while taking selfie with rattlesnake'
    ));
  });
}

const defaultTextFormatter = composeAsync(nl2br, fetchLinkTitles, reverse);

defaultTextFormatter('hello everyone check this site out https://www.reddit.com/').then(function(formatted) {
  console.log(formatted); // ekanselttar htiw eifles gnikat elihw nettib nam ainrofilaC tuo etis siht kcehc enoyreve olleh
});

About

Compose with promise support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published