zalbia / caliban

Functional GraphQL library for Scala

Home Page:https://ghostdogpr.github.io/caliban/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Caliban

Release Artifacts Build Status

Caliban is a purely functional library for creating GraphQL backends in Scala. It relies on Magnolia to automatically derives GraphQL schemas from your data types, Fastparse to parse queries and ZIO to handle various effects.

The design principles behind the library are the following:

  • pure interface: errors and effects are returned explicitly (no exceptions thrown), all returned types are referentially transparent (no Future).
  • clean separation between schema definition and implementation: schema is defined and validated at compile time using Scala standard types, resolver (RootResolver) is a simple value provided at runtime.
  • minimal amount of boilerplate: no need to manually define a schema for every type in your API.

Consult the Documentation to learn how to use Caliban.

Any questions? Head up to the #caliban channel on ZIO Discord.

About

Functional GraphQL library for Scala

https://ghostdogpr.github.io/caliban/

License:Apache License 2.0


Languages

Language:Scala 99.6%Language:JavaScript 0.4%Language:CSS 0.0%