captureProgress
Captures calls to report within the given flow and reports them as a new Flow.
Emissions
Each report call inside the initial flow leads to a new emitted value in the downstream flow, with a Progressive.value of null
. All emissions in the initial flow leads to a new emitted value in the downstream flow, with the emission as Progressive.value and a Progressive.progress of done.
Captures calls to report within block and reports them as a Flow.
Example
captureProgress {
report(loading(0.1))
delay(100)
report(loading(0.9))
"It's over"
}
Content copied to clipboard
generates the flow containing the elements:
null Loading(10%)
null Loading(90%)
"It's over" Done
Content copied to clipboard
Termination
The returned Flow terminates right after block terminates, and the returned value is assumed to be the final expected value.