compose 0.0.2 compose: ^0.0.2 copied to clipboard
Compose functions in dart(https://en.wikipedia.org/wiki/Function_composition). Try to use it with language operators.
Compose with language operators #
Try to use composition functions with language operators! You can use right (classic) and left composition.
You have two ways to define your composition: >>
and *
. Its same!
For calling you need to use <
(from left function) or >
(from right function).
Examples #
var addOne = (x) => x + 1;
var minusOne = (x) => x - 1;
var add = (x, v) => x + v;
print(c() >> addOne >> minusOne >> ((_) => add(1, _ * 2)) > 3); // 7
print(c() >> addOne >> minusOne >> ((_) => add(1, _ * 2)) < 3); // 7
print(c() * addOne * ((_) => _ * 2) > 4); // 9
print(c() * addOne * ((_) => _ * 2) < 4); // 10