1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScript: Tips: パイプライン関数にswapメソッドを付けとくと ちょっとうれしい

Last updated at Posted at 2019-05-15

今、現時点で |>? が普通には使えないんでこんなこと書いてます。

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関数を定義すれば?」というような各方面からのコメント、お待ちしております。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?