ストリーム内の特定のエラーを除外したい場合があります。次のように書きたいと思います。
stream
.filterError (error) ->
error.type is 'foo'
しかし、filterError
方法はありません。
errors().mapError
別の方法として、エラーを値にマップし、それらをフィルター処理してから、エラーにマップし直すために使用できると考えました。ただし、ストリーム内の値をエラーに変換する方法がわかりません。
# Filter only the errors we are interested in
errors = stream.errors()
.mapError (error) ->
error
.filter (error) ->
...
.mapValuesBackIntoErrors() # ?
問題のストリームは、値またはエラーのいずれかを運ぶという考え方です。どちらもドメイン知識を表しています。値はシステムが正常に動作していることを意味し、エラーはドメイン エラーがあることを意味します。ただし、一部のドメイン エラーは実行したくないため、除外したいと考えています。