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

org.analogweb.circe.package.scala Maven / Gradle / Ivy

The newest version!
package analogweb

import language.implicitConversions
import io.circe.{Decoder, Encoder, Json}
import org.analogweb.scala.{Request, InstanceResolverSyntax, ScalaJsonObject, ScalaJsonText}
import org.analogweb.circe._

package object circe {

  // Resolving JSON requests.
  val json = new CirceJsonValueResolver()

  implicit def asCirceJsonValueResolverSyntax[A](
      resolver: CirceJsonValueResolver
  )(implicit request: Request,
    decoder: Decoder[A]): InstanceResolverSyntax[CirceJsonValueResolver] =
    InstanceResolverSyntax(resolver, request, CirceResolverContext[A](decoder))

  // Serializing JSON responses.
  def asJson[A](source: A)(implicit encoder: Encoder[A]) =
    new ScalaJsonObject((source, encoder))
  def asJson(jsonText: String) = new ScalaJsonText(jsonText)
  def asJson(json: Json)       = new ScalaJsonObject(json)

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy