From 0000a65ab4479a2a40e2d6468036438e9705b4aa Mon Sep 17 00:00:00 2001 From: vlad Date: Tue, 13 Jun 2017 10:25:55 -0700 Subject: Initial extraction of Driver non-specific utilities --- src/main/scala/xyz/driver/common/compat/EitherOps.scala | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/main/scala/xyz/driver/common/compat/EitherOps.scala (limited to 'src/main/scala/xyz/driver/common/compat/EitherOps.scala') diff --git a/src/main/scala/xyz/driver/common/compat/EitherOps.scala b/src/main/scala/xyz/driver/common/compat/EitherOps.scala new file mode 100644 index 0000000..b3b45e6 --- /dev/null +++ b/src/main/scala/xyz/driver/common/compat/EitherOps.scala @@ -0,0 +1,12 @@ +package xyz.driver.common.compat + +final class EitherOps[A, B](val self: Either[A, B]) extends AnyVal { + + def map[B2](f: B => B2): Either[A, B2] = flatMap { x => Right(f(x)) } + + def flatMap[B2](f: B => Either[A, B2]): Either[A, B2] = self match { + case Left(x) => Left(x) + case Right(x) => f(x) + } + +} -- cgit v1.2.3