gql_exec 0.3.0
gql_exec: ^0.3.0 copied to clipboard

Basis for GraphQL execution layer to support Link and Client.

MIT License PRs Welcome Watch on GitHub Star on GitHub Watch on GitHub Discord

Basis for GraphQL execution layer to support Link and Client.

This package defines containers for a GraphQL document to be executed.

Used by package:gql_link.

Operation #

Parsing a GraphQL file will give you a DocumentNode, which may contain multiple operation definitions. In such case GraphQL requires you to explicitly define the name of the operation to be executed. It can be done by passing operationName to the Operation constructor.

Request #

While Operation only carries the document and the operation name, Request respresents the invocation of an operation. Alongside the operation, it also carries the variables.

To execute a Request you must pass it to some execution layer.

Response #

When some execution layer has processed the Request it returns Response possibly carrying a list of errors and/or data.

Context #

Both Request and Response may carry additional context. Context is used by the execution layer.

Context is a collection of context entries. A Context may only appear once per type.

// Create a context entry
final entry = FooBarContextEntry(
  foo: 1,
  bar: 2,

// Create a context with an entry
final context = Context().withEntry(entry);

// Update context somewhere in the execution layer
final context2 = context.updateEntry(
  (FooBarContextEntry entry) => FooBarContextEntry(
    bar: * 2,

// Retrieve context entry somewhere else in the execution layer
final fooBarEntry = context.entry<FooBarContextEntry>();

Request and Response also exposes helper methods to work with the context.

Features and bugs #

Please file feature requests and bugs at the GitHub.

pub points


Basis for GraphQL execution layer to support Link and Client.

Repository (GitHub)
View/report issues


API reference




collection, gql, meta


Packages that depend on gql_exec