//workflow/com.squareup.workflow1/transform
transform¶
[jvm]
Content
fun <T, R> Worker<T>.transform(transform: (Flow<T>) -> Flow<R>): Worker<R>
More info
Returns a Worker that transforms this Worker‘s Flow by calling transform.
The returned worker is considered equivalent with any other worker returned by this function with the same receiver.
Examples¶
Workers from the same source are equivalent¶
val secondsWorker = millisWorker.transform {
it.map { millis -> millis / 1000 }.distinctUntilChanged()
}
val otherSecondsWorker = millisWorker.transform {
it.map { millis -> millis.toSeconds() }
}
assert(secondsWorker.doesSameWorkAs(otherSecondsWorker))
Workers from different sources are not equivalent¶
val secondsWorker = millisWorker.transform {
it.map { millis -> millis / 1000 }.distinctUntilChanged()
}
val otherSecondsWorker = secondsWorker.transform { it }
assert(!secondsWorker.doesSameWorkAs(otherSecondsWorker))