All Downloads are FREE. Search and download functionalities are using the official Maven repository.

slog4s.monix.UseMonixContext.scala Maven / Gradle / Ivy

There is a newer version: 0.6.5
Show newest version
package slog4s.monix

import monix.eval.{Task, TaskLocal}
import slog4s.shared.UseContext

object UseMonixContext {

  /**
    * Makes an [[slog4s.shared.UseContext]] based on [[monix.eval.TaskLocal]].
    */
  def make[T](taskLocal: TaskLocal[T]): UseContext[Task, T] =
    new UseContext[Task, T] {

      override def update[V](f: T => T)(fv: Task[V]): Task[V] = {
        taskLocal.read.flatMap { old => taskLocal.bind(f(old))(fv) }
      }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy