@blakek/fn-pipe
v2.0.2
Published
🚰 Compose functions and promises to make a pipeline
Downloads
17
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