2.0.4 • Published 4 years ago

code-harmony v2.0.4

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

code-harmony

Make your code more readable by making the functions work in harmony with each other.

  • Provides an interface to write code in a more granular format.
  • Allows the sharing of resources between various worker functions to reduce duplicate data fetching or generating.

Install

npm install code-harmony

Usage

// this is an example of a context creating function
// can be any asynchronous call which
// resolves with an object containing data
// the data is then populated in the context object
// which is available to the worker functions
function fetchUserData(subscribedData) {
  const user = await fetchUserFromDB();
  return Promise.resolve({ userId: user.id });
}

// this is an example of a worker function
function applyOfferA(subscribedData, context) {
  console.log(context) // -> { userId: 1234 }
  return Promise.resolve();
}

const CodeHarmony = require('code-harmony');

new CodeHarmony(subscribedData)
  .context(fetchUserData)
  .serially(applyOfferA, applyOfferB)
  .parallelly(emailInvoice, smsInvoice)
  .finish()
  .then() // resolves when all the tasks finishes
  .catch(logger.error); // action can be taken on any error here

Resources

License

MIT License

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago