kamyshev.code
1.94K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
​​Исследуя GitHub

В функциональном программировании есть удобная концепция Option. Это абстракция над переменной, которой может и не быть (null, undefined, etc.). Она позволяет работать с такими значениями как с коллекцией (пустой, или из одного элемента).

Было:
const parsedInput = !!nullableVar
? parseInt(nullableVar) + 12
: 1

calculate(parsedInput)


Стало:
const parsedInput = optionInput
.map(v => parseInt(v))
.map(v => v + 12)
.getOrElse(1)

calculate(parsedInput)


Теперь представьте, что таких преобразований не одно, а много.

Надавно нашел бибилиотеку для JavaScript/TypeScript, реализующую эту Option.

https://github.com/bcherny/tsoption

#js #ts #fp