README
Function Pipe
π° Compose functions and promises to make a pipeline
Code can become complex when several functions wrap others or reduce() is
abused for a list of funtions.
This is an alternative that allows creating a pipeline of the functions and calls them in order.
Install
Using Yarn:
$ yarn add @blakek/fn-pipe
β¦or using npm:
$ npm i --save @blakek/fn-pipe
Usage
This example fetches a list of todos from a server, filters for completed todos, and counts the result.
import { fnPipe } from 'fn-pipe';
const userId = 5;
const getCompletedCount = fnPipe([
userId => fetch(`https://jsonplaceholder.typicode.com/todos?userId=${userId}`)
todos => todos.filter(todo => todo.complted),
todos => todos.length
], userId);
getCompletedCount(); //Β» 12
API
fnPipe
function fnPipe([fn, ...fns]: Function[], initialValue?: any): Promise<any>;
Contributing
Node.js and Yarn are required to work with this project.
To install all dependencies, run:
yarn
Useful Commands
yarn build |
Builds the project to ./dist |
yarn format |
Format the source following the Prettier styles |
yarn test |
Run project tests |
yarn test --watch |
Run project tests, watching for file changes |
License
MIT