You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ GraphQL stitching composes a single schema from multiple underlying GraphQL reso
10
10
- Shared objects, fields, enums, and inputs across locations.
11
11
- Multiple and composite type keys.
12
12
- Combining local and remote schemas.
13
-
- File uploads via [multipart form spec](https://github.com/jaydenseric/graphql-multipart-request-spec).
13
+
-[File uploads](./docs/http_executable.md) via multipart forms.
14
14
- Tested with all minor versions of `graphql-ruby`.
15
15
16
16
**NOT Supported:**
@@ -35,7 +35,7 @@ require "graphql/stitching"
35
35
36
36
## Usage
37
37
38
-
The quickest way to start is to use the provided [`Client`](./docs/client.md) component that wraps a stitched graph in an executable workflow (with optional query plan caching hooks):
38
+
The [`Client`](./docs/client.md) component builds a stitched graph wrapped in an executable workflow (with optional query plan caching hooks):
39
39
40
40
```ruby
41
41
movies_schema =<<~GRAPHQL
@@ -75,7 +75,7 @@ result = client.execute(
75
75
76
76
Schemas provided in [location settings](./docs/composer.md#performing-composition) may be class-based schemas with local resolvers (locally-executable schemas), or schemas built from SDL strings (schema definition language parsed using `GraphQL::Schema.from_definition`) and mapped to remote locations via [executables](#executables).
77
77
78
-
While the `Client`constructor is an easy quick start, the library also has several discrete components that can be assembled into custom workflows:
78
+
While `Client` is sufficient for most usecases, the library offers several discrete components that can be assembled into tailored workflows:
79
79
80
80
-[Composer](./docs/composer.md) - merges and validates many schemas into one supergraph.
81
81
-[Supergraph](./docs/supergraph.md) - manages the combined schema, location routing maps, and executable resources. Can be exported, cached, and rehydrated.
@@ -88,7 +88,7 @@ While the `Client` constructor is an easy quick start, the library also has seve
88
88
89
89

90
90
91
-
To facilitate this merging of types, stitching must know how to cross-reference and fetch each variant of a type from its source location using [resolver queries](#merged-type-resolver-queries). For those in an Apollo ecosystem, there's also _limited_ support for merging types though a [federation `_entities` protocol](./docs/federation_entities.md).
91
+
To facilitate this merging of types, stitching must know how to cross-reference and fetch each variant of a type from its source location using [type resolver queries](#merged-type-resolver-queries). For those in an Apollo ecosystem, there's also _limited_ support for merging types though a [federation `_entities` protocol](./docs/federation_entities.md).
92
92
93
93
### Merged type resolver queries
94
94
@@ -249,7 +249,7 @@ type Query {
249
249
}
250
250
```
251
251
252
-
See [resolverarguments](./docs/resolver.md#arguments) for full documentation on shaping input.
252
+
See [resolverarguments](./docs/type_resolver.md#arguments) for full documentation on shaping input.
253
253
254
254
#### Composite type keys
255
255
@@ -458,6 +458,7 @@ This repo includes working examples of stitched schemas running across small Rac
Copy file name to clipboardExpand all lines: docs/client.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,6 +68,12 @@ client.on_cache_write do |request, payload|
68
68
end
69
69
```
70
70
71
+
All request digests use SHA2 by default. You can swap in [a faster algorithm](https://github.com/Shopify/blake3-rb) and/or add base scoping by reconfiguring the stitching library:
Copy file name to clipboardExpand all lines: docs/type_resolver.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
## GraphQL::Stitching::Resolver
1
+
## GraphQL::Stitching::TypeResolver
2
2
3
-
A `Resolver` contains all information about a root query used by stitching to fetch location-specific variants of a merged type. Specifically, resolvers manage parsed keys and argument structures.
3
+
A `TypeResolver` contains all information about a root query used by stitching to fetch location-specific variants of a merged type. Specifically, resolvers manage parsed keys and argument structures.
4
4
5
5
### Arguments
6
6
7
-
Resolvers configure arguments through a template string of [GraphQL argument literal syntax](https://spec.graphql.org/October2021/#sec-Language.Arguments). This allows sending multiple arguments that intermix stitching keys with complex object shapes and other static values.
7
+
Type resolvers configure arguments through a template string of [GraphQL argument literal syntax](https://spec.graphql.org/October2021/#sec-Language.Arguments). This allows sending multiple arguments that intermix stitching keys with complex object shapes and other static values.
0 commit comments