Add composeRight

This commit is contained in:
Angelos Chalaris
2018-01-23 22:12:56 +02:00
parent bac4e5d9c1
commit 4b4619439c
2 changed files with 18 additions and 0 deletions

17
snippets/composeRight.md Normal file
View File

@ -0,0 +1,17 @@
### composeRight
Performs left-to-right function composition.
Use `Array.reduce()` to perform left-to-right function composition.
The first (leftmost) function can accept one or more arguments; the remaining functions must be unary.
```js
const composeRight = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));
```
```js
const add = (x,y) => x + y;
const square = x => x * x;
const addAndSquare = composeRight(add, square);
addAndSquare(1, 2); // 9
```