Skip to content

Instantly share code, notes, and snippets.

View PeterPerhac's full-sized avatar
💭
compiling...

Peter Perhac PeterPerhac

💭
compiling...
View GitHub Profile
import scala.concurrent.duration.Duration.Inf
import scala.concurrent.{Await, Future}
import scala.concurrent.ExecutionContext.Implicits.global
object App{
def main(args:Array[String]):Unit = {
import cats.syntax.cartesian._
import cats.instances.future._
val program = for {
@PeterPerhac
PeterPerhac / FutureAssertions.scala
Last active February 20, 2021 20:44
Making assertions about Scala Futures and cats OptionT[Future, T] and EitherT[Future, L, R]
import cats.data.{EitherT, OptionT}
import org.scalatest.{Assertion, TestSuite}
import scala.concurrent.Future
trait FutureAssertions {
self: TestSuite =>
import org.scalatest.MustMatchers._
import org.scalatest.concurrent.ScalaFutures._
@PeterPerhac
PeterPerhac / OptionTSequencing.scala
Last active June 29, 2017 10:50
Traversing OptionTs - how to get from List[OptionT[F,T]] to F[List[T]] by discarding None's
import cats.data.OptionT
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}
object CollectingOptionTs {
def main(args: Array[String]): Unit = {
import cats.instances.future._