From 57ee8fa785c3815e45e473e5625d6e3cb1cd9402 Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Mon, 9 Apr 2018 16:53:45 -0700 Subject: 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 --- src/main/scala/xyz/driver/core/core.scala | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/scala/xyz/driver/core/core.scala') 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] -- cgit v1.2.3