GraphQL

trait GraphQL[-R]

A GraphQL[-R] represents a GraphQL API whose execution requires a ZIO environment of type R.

A GraphQL[-R] represents a GraphQL API whose execution requires a ZIO environment of type R.

It is intended to be created only once, typically when you start your server. The introspection schema will be generated when this class is instantiated.

Companion
object
class Object
trait Matchable
class Any

Value members

Concrete methods

final def @@[R2 <: R](wrapper: Wrapper[R2]): GraphQL[R2]

A symbolic alias for withWrapper.

A symbolic alias for withWrapper.

final def combine[R1 <: R](that: GraphQL[R1]): GraphQL[R1]

Merges this GraphQL API with another GraphQL API. In case of conflicts (same field declared on both APIs), fields from that API will be used.

Merges this GraphQL API with another GraphQL API. In case of conflicts (same field declared on both APIs), fields from that API will be used.

Value Params
that

another GraphQL API object

Returns

a new GraphQL API

Creates an interpreter from your API. A GraphQLInterpreter is a wrapper around your API that allows adding some middleware around the query execution. Fails with a caliban.CalibanError.ValidationError if the schema is invalid.

Creates an interpreter from your API. A GraphQLInterpreter is a wrapper around your API that allows adding some middleware around the query execution. Fails with a caliban.CalibanError.ValidationError if the schema is invalid.

final def rename(queriesName: Option[String], mutationsName: Option[String], subscriptionsName: Option[String]): GraphQL[R]

Renames the root queries, mutations and subscriptions objects.

Renames the root queries, mutations and subscriptions objects.

Value Params
mutationsName

a new name for the root mutations object

queriesName

a new name for the root queries object

subscriptionsName

a new name for the root subscriptions object

Returns

a new GraphQL API

final def render: String

Returns a string that renders the API types into the GraphQL format.

Returns a string that renders the API types into the GraphQL format.

final def toDocument: Document

Converts the schema to a Document.

Converts the schema to a Document.

final def withAdditionalTypes(types: List[__Type]): GraphQL[R]

Adds linking to additional types which are unreachable from the root query.

Adds linking to additional types which are unreachable from the root query.

Value Params
types

The type definitions to add.

Note

This is for advanced usage only i.e. when declaring federation type links

final def withWrapper[R2 <: R](wrapper: Wrapper[R2]): GraphQL[R2]

Attaches a function that will wrap one of the stages of query processing (parsing, validation, execution, field execution or overall).

Attaches a function that will wrap one of the stages of query processing (parsing, validation, execution, field execution or overall).

Value Params
wrapper

a wrapping function

Returns

a new GraphQL API

final def |+|[R1 <: R](that: GraphQL[R1]): GraphQL[R1]

Operator alias for combine.

Operator alias for combine.