guardian / fezziwig   1.6

Apache License 2.0 GitHub

Fezziwig is a library for compile time generation of Circe encoders/decoders for Scrooge-generated classes representing Thrift objects.

Scala versions: 2.13 2.12 2.11

Fezziwig

Maven Central Build Status

Fezziwig is a library for compile time generation of Circe encoders/decoders for Scrooge-generated classes representing Thrift objects.

Installation

libraryDependencies ++= Seq(
  "com.gu" %% "fezziwig" % "0.VERSIONHERE"
)

Usage

import com.gu.fezziwig.CirceScroogeMacros._

The generated decoders support accumulation of errors, e.g.

import com.gu.fezziwig.CirceScroogeMacros._
val decoder = Decoder[MyThriftStruct]
val result = decoder.accumulating(json.hcursor)