diff options
author | vlad <vlad@driver.xyz> | 2017-04-13 10:22:09 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-04-13 10:22:09 -0700 |
commit | 2d0aba0eaf360c521d9bcfbf48dc748b777301d2 (patch) | |
tree | 1c88759d0cd63e5009d3173f695011c447a2e500 /src/main/scala/xyz/driver/core/execution.scala | |
parent | fbf25ed06bf87af2d139ae58f208d9bb5b299e03 (diff) | |
download | driver-core-2d0aba0eaf360c521d9bcfbf48dc748b777301d2.tar.gz driver-core-2d0aba0eaf360c521d9bcfbf48dc748b777301d2.tar.bz2 driver-core-2d0aba0eaf360c521d9bcfbf48dc748b777301d2.zip |
PDW-598 PR comments, refinement for OptionT utils
Diffstat (limited to 'src/main/scala/xyz/driver/core/execution.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/execution.scala | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/main/scala/xyz/driver/core/execution.scala b/src/main/scala/xyz/driver/core/execution.scala deleted file mode 100644 index 0cf92fd..0000000 --- a/src/main/scala/xyz/driver/core/execution.scala +++ /dev/null @@ -1,45 +0,0 @@ -package xyz.driver.core - -import scala.concurrent.{ExecutionContext, Future} -import scalaz.OptionT - -object execution { - - implicit class FutureOptionTExtensions[T](future: Future[T])(implicit executionContext: ExecutionContext) { - - def toOptionT: OptionT[Future, T] = - OptionT.optionT[Future](future.map(value => Option(value))) - - def returnUnit: Future[Unit] = - future.map(_ => Option(())) - - def returnUnitOpt: OptionT[Future, Unit] = - OptionT.optionT[Future](future.map(_ => Option(()))) - - def andEffect[E](effect: Future[E]): Future[T] = - for { - result <- future - _ <- effect - } yield result - - def andEffect[E](effect: OptionT[Future, E]): Future[T] = - andEffect(effect.run) - } - - def illegalState[T](message: String): OptionT[Future, T] = - failure[T](new IllegalStateException(message)) - - def illegalArgument[T](message: String): OptionT[Future, T] = - failure[T](new IllegalArgumentException(message)) - - def failure[T](throwable: Throwable): OptionT[Future, T] = - OptionT.optionT(Future.failed[Option[T]](throwable)) - - def collectOrNone[T, R](value: T)(f: PartialFunction[T, OptionT[Future, R]]): OptionT[Future, R] = - f.lift(value).getOrElse(OptionT.optionT(Future.successful(Option.empty[R]))) - - def collectOrDoNothing[T](value: T)(f: PartialFunction[T, OptionT[Future, Unit]]): OptionT[Future, Unit] = - f.lift(value).getOrElse(doNothing) - - val doNothing = OptionT.optionT(Future.successful(Option(()))) -} |