2

ストリーム内の特定のエラーを除外したい場合があります。次のように書きたいと思います。

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() # ?    

問題のストリームは、値またはエラーのいずれかを運ぶという考え方です。どちらもドメイン知識を表しています。値はシステムが正常に動作していることを意味し、エラーはドメイン エラーがあることを意味します。ただし、一部のドメイン エラーは実行したくないため、除外したいと考えています。

4

1 に答える 1