2.0.2 • Published 4 years ago

@blakek/fn-pipe v2.0.2

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

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 buildBuilds the project to ./dist
yarn formatFormat the source following the Prettier styles
yarn testRun project tests
yarn test --watchRun project tests, watching for file changes

License

MIT

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.1.0

4 years ago