All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.circe.generic.encoding.DerivedObjectEncoder.scala Maven / Gradle / Ivy

There is a newer version: 0.15.0-M1
Show newest version
package io.circe.generic.encoding

import io.circe.{ JsonObject, ObjectEncoder }
import shapeless.{ LabelledGeneric, Lazy }

abstract class DerivedObjectEncoder[A] extends ObjectEncoder[A]

final object DerivedObjectEncoder {
  implicit def deriveEncoder[A, R](implicit
    gen: LabelledGeneric.Aux[A, R],
    encode: Lazy[ReprObjectEncoder[R]]
  ): DerivedObjectEncoder[A] = new DerivedObjectEncoder[A] {
    final def encodeObject(a: A): JsonObject = encode.value.encodeObject(gen.to(a))
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy