@@ -139,19 +139,26 @@ A wide variety of solutions have been explored by the community, and they are ou
139
139
140
140
## Use Cases
141
141
142
- TODO:
143
- * [ ] Collect use cases from the community's related Issues / PRs.
142
+ There have been a variety of use cases described by users asking for an abstract input type.
143
+
144
+ * [ Observability Metrics] ( https://github.com/graphql/graphql-spec/pull/395#issuecomment-489495267 )
145
+ * [ Login Options] ( https://github.com/graphql/graphql-js/issues/207#issuecomment-228543259 )
146
+ * [ Abstract Syntax Tree] ( https://github.com/graphql/graphql-spec/pull/395#issuecomment-489611199 )
147
+ * [ Content Widgets] ( https://github.com/graphql/graphql-js/issues/207#issuecomment-308344371 )
148
+ * [ Filtering] ( https://github.com/graphql/graphql-spec/issues/202#issue-170560819 )
149
+ * [ Observability Cloud Integrations] ( https://gist.github.com/binaryseed/f2dd63d1a1406124be70c17e2e796891#cloud-integrations )
150
+ * [ Observability Dashboards] ( https://gist.github.com/binaryseed/f2dd63d1a1406124be70c17e2e796891#dashboards )
144
151
145
152
## Possible Solutions
146
153
147
- Categories :
154
+ Broadly speaking, there are two categories of solutions to the problem of type discrimination :
148
155
149
156
* Value-based discriminator field
150
157
* Structural discrimination
151
158
152
159
### Value-based discriminator field
153
160
154
- These options rely the ** value** of a specific input field to express the concrete type.
161
+ These solutions rely the ** value** of a specific input field to determine the concrete type.
155
162
156
163
#### Single ` __typename ` field; value is the ` type `
157
164
@@ -284,7 +291,7 @@ input AddImageInput {
284
291
285
292
### Structural discrimination
286
293
287
- These options rely on the **structure ** of the input to determine the concrete type .
294
+ These solutions rely on the **structure ** of the input to determine the concrete type .
288
295
289
296
#### Order based type matching
290
297
0 commit comments