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
Value members
Concrete methods
Attaches an aspect that will wrap the entire GraphQL so that it can be manipulated. This method is a higher-level abstraction of withWrapper which allows the caller to completely replace or change all aspects of the schema.
Attaches an aspect that will wrap the entire GraphQL so that it can be manipulated. This method is a higher-level abstraction of withWrapper which allows the caller to completely replace or change all aspects of the schema.
- Value parameters:
- aspect
A wrapper type that will be applied to this GraphQL
- Returns:
A new GraphQL API
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 parameters:
- 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.
Renames the root queries, mutations and subscriptions objects.
Renames the root queries, mutations and subscriptions objects.
- Value parameters:
- 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
Returns a string that renders the API types into the GraphQL format.
Returns a string that renders the API types into the GraphQL format.
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 parameters:
- types
The type definitions to add.
- Note:
This is for advanced usage only i.e. when declaring federation type links
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 parameters:
- wrapper
a wrapping function
- Returns:
a new GraphQL API