node-train

1.0.0 • Public • Published

node-train

npm version

Inspired by Clojure's "thread-last" macro.

Installation

Npm:

$ npm i node-train

Yarn:

$ yarn add node-train

Use case

const train = require('node-train')
const _ = require('lodash')
 
const calls =
  await train(callsResponse.items,
              addTotalSpendingPerCall,
              addShopNamePerCall,
              addCustomerPerCall,
              addBranchIdPerCall,
              addProductDescriptionPerCall,
              _.last)
 
return calls
 
// same as
const calls = callsResponse.items
const callsWithTotalSpending = await addTotalSpendingPerCall(calls)
const callsWithTotalSpendingAndShopName = await addShopNamePerCall(callsWithTotalSpending)
const callsWithTotalSpendingAndShopNameAndCustomer = await addCustomerPerCall(callsWithTotalSpendingAndShopName)
const callsWithTotalSpendingAndShopNameAndCustomerAndBranchId = await addBranchIdPerCall(callsWithTotalSpendingAndShopNameAndCustomer)
const callsWithTotalSpendingAndShopNameAndCustomerAndBranchIdAndProductDescription = await addProductDescriptionPerCall(callsWithTotalSpendingAndShopNameAndCustomerAndBranchId)
const lastCallWithTotalSpendingAndShopNameAndCustomerAndBranchIdAndProductDescription = _.last(callsWithTotalSpendingAndShopNameAndCustomerAndBranchIdAndProductDescription)
 
return lastCallWithTotalSpendingAndShopNameAndCustomerAndBranchIdAndProductDescription

Readme

Keywords

Package Sidebar

Install

npm i node-train

Weekly Downloads

0

Version

1.0.0

License

ISC

Last publish

Collaborators

  • peterparada