Files
30-seconds-of-code/snippets/when.md
Angelos Chalaris 8a6b73bd0c Update covers
2023-02-16 22:24:28 +02:00

22 lines
586 B
Markdown

---
title: Apply function when condition is met
tags: function,logic
cover: flower-portrait-8
firstSeen: 2018-04-19T03:45:32+03:00
lastUpdated: 2020-10-22T20:24:44+03:00
---
Returns a function that takes one argument and runs a callback if it's truthy or returns it if falsy.
- Return a function expecting a single value, `x`, that returns the appropriate value based on `pred`.
```js
const when = (pred, whenTrue) => x => (pred(x) ? whenTrue(x) : x);
```
```js
const doubleEvenNumbers = when(x => x % 2 === 0, x => x * 2);
doubleEvenNumbers(2); // 4
doubleEvenNumbers(1); // 1
```