Исследуя GitHub
В функциональном программировании есть удобная концепция
Было:
Стало:
Теперь представьте, что таких преобразований не одно, а много.
Надавно нашел бибилиотеку для JavaScript/TypeScript, реализующую эту
https://github.com/bcherny/tsoption
#js #ts #fp
В функциональном программировании есть удобная концепция
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