aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/core/core.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/core.scala b/src/main/scala/xyz/driver/core/core.scala
index 1babd91..4747574 100644
--- a/src/main/scala/xyz/driver/core/core.scala
+++ b/src/main/scala/xyz/driver/core/core.scala
@@ -32,6 +32,9 @@ package object core {
def continueIgnoringNone: OptionT[H, Unit] =
optionTValue.map(_ => ()).orElse(OptionT.some[H, Unit](()))
+
+ def subflatMap[B](f: T => Option[B]): OptionT[H, B] =
+ OptionT.optionT[H](implicitly[Monad[H]].map(optionTValue.run)(_.flatMap(f)))
}
implicit class MonadicExtensions[H[_]: Monad, T](monadicValue: H[T]) {