Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions __index__.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
- **[federation/v2.9](/federation/v2.9)** ([📄 graphql](federation/v2.9/federation-v2.9.graphql))
- **[inaccessible/v0.1](/inaccessible/v0.1)** ([📄 graphql](inaccessible/v0.1/inaccessible-v0.1.graphql))
- **[inaccessible/v0.2](/inaccessible/v0.2)** ([📄 graphql](inaccessible/v0.2/inaccessible-v0.2.graphql))
- **[incremental/v0.1](/incremental/v0.1)** ([📄 graphql](incremental/v0.1/incremental-v0.1.graphql))
- **[incremental/v0.2](/incremental/v0.2)** ([📄 graphql](incremental/v0.2/incremental-v0.2.graphql))
- **[join/v0.1](/join/v0.1)** ([📄 graphql](join/v0.1/join-v0.1.graphql))
- **[join/v0.2](/join/v0.2)** ([📄 graphql](join/v0.2/join-v0.2.graphql))
- **[join/v0.3](/join/v0.3)** ([📄 graphql](join/v0.3/join-v0.3.graphql))
Expand Down
7 changes: 7 additions & 0 deletions incremental/v0.1/http.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# HTTP Request Headers

In order for the server to know that the client can parse the incremental delivery response format, the HTTP request must include the following header:

## Accept

`multipart/mixed;deferSpec=20220824`
34 changes: 34 additions & 0 deletions incremental/v0.1/incremental-v0.1.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""
Used to imply de-prioritization, that causes the fragment to be omitted in the initial response, and delivered as a subsequent response afterward.

Arguments:
* `if: Boolean`
* When `true` fragment may be deferred, if omitted defaults to `true`.
* `label: String`
* A unique label across all `@defer` and `@stream` directives in an operation.
* This `label` should be used by GraphQL clients to identify the data from patch responses and associate it with the correct fragment.
* If provided, the GraphQL Server must add it to the payload.
"""
directive @defer(
label: String
if: Boolean! = true
) on FRAGMENT_SPREAD | INLINE_FRAGMENT

"""
This directive may be provided for a field of `List` type so that the backend can leverage technology such asynchronous iterators to provide a partial list in the initial response, and additional list items in subsequent responses.

Arguments:
* `if: Boolean`
* When `true` field may be streamed, if omitted defaults to `true`.
* `label: String`
* A unique label across all `@defer` and `@stream` directives in an operation.
* This `label` should be used by GraphQL clients to identify the data from patch responses and associate it with the correct fragments.
* If provided, the GraphQL Server must add it to the payload.
* `initialCount: Int`
* The number of list items the server should return as part of the initial response.
"""
directive @stream(
label: String
if: Boolean! = true
initialCount: Int = 0
) on FIELD
311 changes: 311 additions & 0 deletions incremental/v0.1/incremental-v0.1.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions incremental/v0.2/http.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# HTTP Request Headers

In order for the server to know that the client can parse the incremental delivery response format, the HTTP request must include the following header:

## Accept

`multipart/mixed;incrementalSpec=v0.2`
34 changes: 34 additions & 0 deletions incremental/v0.2/incremental-v0.2.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""
Used to imply de-prioritization, that causes the fragment to be omitted in the initial response, and delivered as a subsequent response afterward.

Arguments:
* `if: Boolean`
* When `true` fragment may be deferred, if omitted defaults to `true`.
* `label: String`
* A unique label across all `@defer` and `@stream` directives in an operation.
* This `label` should be used by GraphQL clients to identify the data from patch responses and associate it with the correct fragment.
* If provided, the GraphQL Server must add it to the payload.
"""
directive @defer(
label: String
if: Boolean! = true
) on FRAGMENT_SPREAD | INLINE_FRAGMENT

"""
This directive may be provided for a field of `List` type so that the backend can leverage technology such asynchronous iterators to provide a partial list in the initial response, and additional list items in subsequent responses.

Arguments:
* `if: Boolean`
* When `true` field may be streamed, if omitted defaults to `true`.
* `label: String`
* A unique label across all `@defer` and `@stream` directives in an operation.
* This `label` should be used by GraphQL clients to identify the data from patch responses and associate it with the correct fragments.
* If provided, the GraphQL Server must add it to the payload.
* `initialCount: Int`
* The number of list items the server should return as part of the initial response.
"""
directive @stream(
label: String
if: Boolean! = true
initialCount: Int = 0
) on FIELD
296 changes: 296 additions & 0 deletions incremental/v0.2/incremental-v0.2.md

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@

[federation v2.9](/federation/v2.9) provides graph composition primitives for use in subgraphs.

## incremental v0.2

[incremental v0.2](/incremental/v0.2) provides specification and client usage details for the response format used with the {@defer} and {@stream} directives.

## join v0.3

[join v0.3](/join/v0.3) declaratively describes joins between types in a supergraph.
Expand Down