diff options
author | vlad <vlad@driver.xyz> | 2017-06-13 10:25:55 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-06-13 10:25:55 -0700 |
commit | 0000a65ab4479a2a40e2d6468036438e9705b4aa (patch) | |
tree | 60c868828741e7e5367aa7b6d167abbdaf91d5b8 /src/main/scala/xyz/driver/common/compat/EitherOps.scala | |
download | rest-query-0000a65ab4479a2a40e2d6468036438e9705b4aa.tar.gz rest-query-0000a65ab4479a2a40e2d6468036438e9705b4aa.tar.bz2 rest-query-0000a65ab4479a2a40e2d6468036438e9705b4aa.zip |
Initial extraction of Driver non-specific utilities
Diffstat (limited to 'src/main/scala/xyz/driver/common/compat/EitherOps.scala')
-rw-r--r-- | src/main/scala/xyz/driver/common/compat/EitherOps.scala | 12 |
1 files changed, 12 insertions, 0 deletions
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) + } + +} |