今、現時点で |>
、?
が普通には使えないんでこんなこと書いてます。
const pipe = x => (...fs) =>
fs.reduce( (acc, f)=>f(acc), x )
pipe.swap =(...fs)=>x=>pipe(x)(...fs)
としておくと、
- 単体で使うときは
pipe(値)(関数1, 関数2, ...)
のように|>
と同じ並びで使えてうれしい。 - map等で使うときは、
map( e=>pipe(e)(関数1, 関数2, ...) )
と書くべきところを、map( pipe.swap(関数1, 関数2, ...) )
と、ちょっとだけすっきりと書けてうれしい。
ということなんですが、うれしいのは僕だけ? 需要あります?
「関数にメソッドつけるなんて邪道」「あんまりうれしくない」「最初から引数を逆にしとけばいいじゃん!」という突っ込みや「swap関数を定義すれば?」というような各方面からのコメント、お待ちしております。