javascriptでパイプライン演算子のような書き方をする

引数に関数を渡して、順に適用するようなヘルパ関数をつくってやればいい。以下のような感じ。

pipe = (...args) => args.reduce((a, f) => typeof(f) == "function" ? f(a) : f); // パイプ処理のヘルパー関数
increment = n => m => n + m; 
double = n => n * 2;

pipe(5, increment(2), double, console.log); // 5に、2を加算して、倍にして、コンソールに出力