arrow-fx-coroutines / arrow.fx.coroutines.stream / Stream / chunkLimit

chunkLimit

fun chunkLimit(n: Int): Stream<Chunk<O>>

Outputs chunk with a limited maximum size, splitting as necessary.

import arrow.fx.coroutines.stream.*

//sampleStart
suspend fun main(): Unit =
  Stream(1).append { Stream(2, 3).append { Stream(4, 5, 6) } }
  .chunkLimit(2)
  .toList()
  .let(::println) //[Chunk(1), Chunk(2, 3), Chunk(4, 5), Chunk(6)]
//sampleEnd

Do you like Arrow?

Arrow Org
<