org.specs2.control.producer

Type members

Classlikes

case class Done[F[_], A]() extends LazyList[F, A]
sealed trait LazyList[F[_], A]

ADT for streaming data with a Producer. It is either:

ADT for streaming data with a Producer. It is either:

  • Done: nothing left to stream
  • One: there is just one element
  • More(as, next): there are as elements and the next producer
case class More[F[_], A](as: List[A], next: Producer[F, A]) extends LazyList[F, A]
case class One[F[_], A](a: A) extends LazyList[F, A]
case class Producer[F[_], A](run: F[LazyList[F, A]])(using `evidence$1`: Monad[F], `evidence$2`: Safe[F])

Simple streaming data structure for elements of type A and effects F

Simple streaming data structure for elements of type A and effects F

Companion
object
object Producer extends Producers

List of common producers

List of common producers

Companion
class
trait Producers

List of common producers or functions creating producers

List of common producers or functions creating producers

Companion
object
object Producers extends Producers
Companion
class

Types

type AsyncStream[A] = Producer[[A] =>> Action[A], A]

Producer with async actions

Producer with async actions

type AsyncTransducer[A, B] = ([A] =>> Action[A], A) => B

Transducer with async actions

Transducer with async actions

type Transducer[F[_], A, B] = Producer[F, A] => Producer[F, B]

Transformation of a Producer into another one: after filtering, mapping, etc...

Transformation of a Producer into another one: after filtering, mapping, etc...