aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala b/src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala
new file mode 100644
index 0000000..07dfefc
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/json/JsResultOps.scala
@@ -0,0 +1,15 @@
+package xyz.driver.pdsuicommon.json
+
+import play.api.libs.json.JsResult
+
+import scala.util.{Failure, Success, Try}
+
+final class JsResultOps[T](val self: JsResult[T]) extends AnyVal {
+
+ def toTry: Try[T] = {
+ self.fold(
+ errors => Failure(new JsonValidationException(errors)),
+ Success(_)
+ )
+ }
+}