aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/core.scala
diff options
context:
space:
mode:
authorSergey Nastich <nastich@users.noreply.github.com>2018-04-09 16:53:45 -0700
committerGitHub <noreply@github.com>2018-04-09 16:53:45 -0700
commit57ee8fa785c3815e45e473e5625d6e3cb1cd9402 (patch)
tree1c476db2e6ec44473ebfdea09cb284768549c40f /src/main/scala/xyz/driver/core/core.scala
parentcc86f8d609969b40793a227b9af4b41a18657dfb (diff)
downloaddriver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.tar.gz
driver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.tar.bz2
driver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.zip
Add convenience methods to work with Tags: `taggedWith` wrapper and a proxy JSON format (#147)
* Add convenience methods to work with Tags: `tagged` wrapper and a proxy JSON format
Diffstat (limited to 'src/main/scala/xyz/driver/core/core.scala')
-rw-r--r--src/main/scala/xyz/driver/core/core.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/core.scala b/src/main/scala/xyz/driver/core/core.scala
index be19f0f..14e1b10 100644
--- a/src/main/scala/xyz/driver/core/core.scala
+++ b/src/main/scala/xyz/driver/core/core.scala
@@ -25,6 +25,10 @@ package object core {
object tagging {
private[core] trait Tagged[+V, +Tag]
+
+ implicit class Taggable[V <: Any](val v: V) extends AnyVal {
+ def tagged[Tag]: V @@ Tag = v.asInstanceOf[V @@ Tag]
+ }
}
type @@[+V, +Tag] = V with tagging.Tagged[V, Tag]