/endpoints-json-schemas-macros

Generic derivation based macros for JsonSchema type class of Scala endpoints library (https://github.com/julienrf/endpoints)

Primary LanguageScala

endpoints-json-schemas-macros

Maven Central License

Generic derivation based macros for JsonSchema type class of Scala endpoints library.

Endpoints have generic derivation of json schemas based on Shapeless library.

This project provides fully compatible, drop-in replacement that doesn't use Shapeless, but Scala macros directly. This approach has several advantages:

  • immediate compilation-time performance improvements
  • more descriptive error messages
  • no runtime overhead as materialization to HList/Coproduct is not required
  • avoided runtime dependency on Shapeless

However, be noticed that this is experimental project.

Getting started

To get started, first add project dependency to your build.sbt:

libraryDependencies += "io.scalaland" %% "endpoints-json-schema-macros" % "0.10.0"