Inspired by https://github.com/apache/pekko/blob/main/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Flow.scala: - [x] `sample(n: Int)` -> emit every nth element from the parent flow - [x] `zipWithIndex` - [x] `debounce` (remove subsequent, repeating elements) - [x] `debounceBy(T => U)` - [x] `recover(Throwable => T)` (emit one element when the stream fails) - [x] `recoverWith(Throwable => Flow)` (start alternative flow on failure) - [x] `recoverWithRetry(RetryConfig)(Throwable => Flow)` - [x] `mapWithResource(=> R, R => Option[U])((R, T) => U)` - [x] `mapWithCloseableResource(=> R)((R, T) => U)` - [x] `scan(V)((V, T) => T)` - [x] `conflate` - [x] `batch` - [x] `expand` - [x] `extrapolate` - [x] `onErrorComplete` - [x] `onErrorRecover`
Inspired by https://github.com/apache/pekko/blob/main/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Flow.scala:
sample(n: Int)-> emit every nth element from the parent flowzipWithIndexdebounce(remove subsequent, repeating elements)debounceBy(T => U)recover(Throwable => T)(emit one element when the stream fails)recoverWith(Throwable => Flow)(start alternative flow on failure)recoverWithRetry(RetryConfig)(Throwable => Flow)mapWithResource(=> R, R => Option[U])((R, T) => U)mapWithCloseableResource(=> R)((R, T) => U)scan(V)((V, T) => T)conflatebatchexpandextrapolateonErrorCompleteonErrorRecover