diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2017-11-30 13:36:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-30 13:36:10 +0100 |
commit | e2191e2687b671d4a8610544251e7e807f2793da (patch) | |
tree | 2811ad3c3231d1656ae5d69412bc579abf8fbb07 /examples | |
parent | 376c06cb95106de60319a4d62268a94951aab084 (diff) | |
parent | e9b52248855f9252520a232b28a841ea382922a1 (diff) | |
download | magnolia-e2191e2687b671d4a8610544251e7e807f2793da.tar.gz magnolia-e2191e2687b671d4a8610544251e7e807f2793da.tar.bz2 magnolia-e2191e2687b671d4a8610544251e7e807f2793da.zip |
Merge pull request #53 from joroKr21/repeated-param
Add support for repeated parameters
Diffstat (limited to 'examples')
-rw-r--r-- | examples/shared/src/main/scala/default.scala | 3 | ||||
-rw-r--r-- | examples/shared/src/main/scala/show.scala | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/examples/shared/src/main/scala/default.scala b/examples/shared/src/main/scala/default.scala index 4c1b634..4b781a5 100644 --- a/examples/shared/src/main/scala/default.scala +++ b/examples/shared/src/main/scala/default.scala @@ -30,6 +30,9 @@ object Default { /** default value for ints; 0 */ implicit val int: Default[Int] = new Default[Int] { def default = 0 } + /** default value for sequences; the empty sequence */ + implicit def seq[A]: Default[Seq[A]] = new Typeclass[Seq[A]] { def default = Seq.empty } + /** generates default instances of [[Default]] for case classes and sealed traits */ implicit def gen[T]: Default[T] = macro Magnolia.gen[T] } diff --git a/examples/shared/src/main/scala/show.scala b/examples/shared/src/main/scala/show.scala index 50b34ee..9f634ba 100644 --- a/examples/shared/src/main/scala/show.scala +++ b/examples/shared/src/main/scala/show.scala @@ -60,4 +60,10 @@ object Show extends GenericShow[String] { implicit val int: Show[String, Int] = new Show[String, Int] { def show(s: Int): String = s.toString } + + /** show typeclass for sequences */ + implicit def seq[A](implicit A: Show[String, A]): Show[String, Seq[A]] = + new Show[String, Seq[A]] { + def show(as: Seq[A]): String = as.iterator.map(A.show).mkString("[", ",", "]") + } } |