Skip to content

Commit 18d0e67

Browse files
Add playground files for intermediate flow operators
1 parent 19e510c commit 18d0e67

File tree

7 files changed

+89
-0
lines changed

7 files changed

+89
-0
lines changed

app/src/main/java/com/lukaslechner/coroutineusecasesonandroid/playground/flow/intermediate_operators/1_map.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
22

33
import kotlinx.coroutines.flow.flowOf
4+
import kotlinx.coroutines.flow.mapNotNull
45

56
suspend fun main() {
67

78
flowOf(1, 2, 3, 4, 5)
9+
.mapNotNull { "Emission $it" }
810
.collect { collectedValue ->
911
println(collectedValue)
1012
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.filterIsInstance
4+
import kotlinx.coroutines.flow.flowOf
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 2, 3, 4, 5)
9+
.filterIsInstance<Int>()
10+
.collect { collectedValue ->
11+
println(collectedValue)
12+
}
13+
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.flowOf
4+
import kotlinx.coroutines.flow.takeWhile
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 2, 3, 4, 5)
9+
.takeWhile { it < 3 }
10+
.collect { collectedValue ->
11+
println(collectedValue)
12+
}
13+
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.dropWhile
4+
import kotlinx.coroutines.flow.flowOf
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 2, 3, 4, 5, 1)
9+
.dropWhile { it < 2 }
10+
.collect { collectedValue ->
11+
println(collectedValue)
12+
}
13+
14+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.flowOf
4+
import kotlinx.coroutines.flow.transform
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 2, 3, 4, 5, 1)
9+
.transform {
10+
emit(it)
11+
emit(it * 10)
12+
}
13+
.collect { collectedValue ->
14+
println(collectedValue)
15+
}
16+
17+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.flowOf
4+
import kotlinx.coroutines.flow.withIndex
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 2, 3, 4, 5, 1)
9+
.withIndex()
10+
.collect { collectedValue ->
11+
println(collectedValue)
12+
}
13+
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.lukaslechner.coroutineusecasesonandroid.playground.flow.intermediate_operators
2+
3+
import kotlinx.coroutines.flow.distinctUntilChanged
4+
import kotlinx.coroutines.flow.flowOf
5+
6+
suspend fun main() {
7+
8+
flowOf(1, 1, 2, 3, 4, 5, 1)
9+
.distinctUntilChanged()
10+
.collect { collectedValue ->
11+
println(collectedValue)
12+
}
13+
14+
}

0 commit comments

Comments
 (0)