8000 GitHub - Airphrame/argonaut-shapeless: Automatic argonaut codec derivation with shapeless
[go: up one dir, main page]

Skip to content

Airphrame/argonaut-shapeless

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

argonaut-shapeless

Automatic argonaut codec derivation with shapeless

Build Status Gitter

Usage

Add to your build.sbt

resolvers += Resolver.sonatypeRepo("releases")

libraryDependencies +=
  "com.github.alexarchambault" %% "argonaut-shapeless_6.1" % "0.2.0"

If you are using scala 2.10.x, also add the macro paradise plugin to your build,

libraryDependencies +=
  compilerPlugin("org.scalamacros" % "paradise" % "2.0.1" cross CrossVersion.full)

Then import the content of argonaut.Shapeless along with the one of argonaut.Argonaut close to where you want codecs to be automatically available for case classes / sealed hierarchies:

import argonaut._, Argonaut._, Shapeless._

//  If you defined:

// case class Foo(i: Int, s: String, blah: Boolean)
// case class Bar(foo: Foo, other: String)

// sealed trait Base
// case class BaseIntString(i: Int, s: String) extends Base
// case class BaseDoubleBoolean(d: Double, b: Boolean) extends Base

//  then you can now do

implicitly[EncodeJson[Foo]]
implicitly[EncodeJson[Bar]]
implicitly[EncodeJson[Base]]

implicitly[DecodeJson[Foo]]
implicitly[DecodeJson[Bar]]
implicitly[DecodeJson[Base]]

For the development version, add instead to your build.sbt,

resolvers ++= Seq(
  Resolver.sonatypeRepo("releases"),
  Resolver.sonatypeRepo("snapshots")
)

libraryDependencies +=
  "com.github.alexarchambault" %% "argonaut-shapeless_6.1" % "0.3.0-SNAPSHOT"

(Macro paradise plugin also necessary with scala 2.10, see above.)

Available for scala 2.10 and 2.11. Uses argonaut 6.1 and shapeless 2.2.

Released under the BSD license. See LICENSE file for more details.

Based on an early (non Lazy-based) automatic codec derivation in argonaut by Maxwell Swadling, Travis Brown, and Mark Hibberd.

About

Automatic argonaut codec derivation with shapeless

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 100.0%
0