|
4 | 4 | #include "graphqlservice/Introspection.h"
|
5 | 5 |
|
6 | 6 | #include <algorithm>
|
| 7 | +#include <array> |
7 | 8 | #include <functional>
|
| 9 | +#include <stdexcept> |
8 | 10 | #include <sstream>
|
9 |
| -#include <unordered_map> |
10 |
| -#include <exception> |
11 |
| -#include <array> |
| 11 | +#include <string_view> |
| 12 | +#include <tuple> |
| 13 | +#include <vector> |
| 14 | + |
| 15 | +using namespace std::literals; |
12 | 16 |
|
13 | 17 | namespace graphql {
|
14 | 18 | namespace service {
|
@@ -118,12 +122,12 @@ Schema::Schema()
|
118 | 122 | : service::Object({
|
119 | 123 | "__Schema"
|
120 | 124 | }, {
|
121 |
| - { "types", [this](service::ResolverParams&& params) { return resolveTypes(std::move(params)); } }, |
122 |
| - { "queryType", [this](service::ResolverParams&& params) { return resolveQueryType(std::move(params)); } }, |
| 125 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 126 | + { "directives", [this](service::ResolverParams&& params) { return resolveDirectives(std::move(params)); } }, |
123 | 127 | { "mutationType", [this](service::ResolverParams&& params) { return resolveMutationType(std::move(params)); } },
|
| 128 | + { "queryType", [this](service::ResolverParams&& params) { return resolveQueryType(std::move(params)); } }, |
124 | 129 | { "subscriptionType", [this](service::ResolverParams&& params) { return resolveSubscriptionType(std::move(params)); } },
|
125 |
| - { "directives", [this](service::ResolverParams&& params) { return resolveDirectives(std::move(params)); } }, |
126 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 130 | + { "types", [this](service::ResolverParams&& params) { return resolveTypes(std::move(params)); } } |
127 | 131 | })
|
128 | 132 | {
|
129 | 133 | }
|
@@ -182,16 +186,16 @@ Type::Type()
|
182 | 186 | : service::Object({
|
183 | 187 | "__Type"
|
184 | 188 | }, {
|
185 |
| - { "kind", [this](service::ResolverParams&& params) { return resolveKind(std::move(params)); } }, |
186 |
| - { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 189 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
187 | 190 | { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } },
|
188 |
| - { "fields", [this](service::ResolverParams&& params) { return resolveFields(std::move(params)); } }, |
189 |
| - { "interfaces", [this](service::ResolverParams&& params) { return resolveInterfaces(std::move(params)); } }, |
190 |
| - { "possibleTypes", [this](service::ResolverParams&& params) { return resolvePossibleTypes(std::move(params)); } }, |
191 | 191 | { "enumValues", [this](service::ResolverParams&& params) { return resolveEnumValues(std::move(params)); } },
|
| 192 | + { "fields", [this](service::ResolverParams&& params) { return resolveFields(std::move(params)); } }, |
192 | 193 | { "inputFields", [this](service::ResolverParams&& params) { return resolveInputFields(std::move(params)); } },
|
| 194 | + { "interfaces", [this](service::ResolverParams&& params) { return resolveInterfaces(std::move(params)); } }, |
| 195 | + { "kind", [this](service::ResolverParams&& params) { return resolveKind(std::move(params)); } }, |
| 196 | + { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
193 | 197 | { "ofType", [this](service::ResolverParams&& params) { return resolveOfType(std::move(params)); } },
|
194 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 198 | + { "possibleTypes", [this](service::ResolverParams&& params) { return resolvePossibleTypes(std::move(params)); } } |
195 | 199 | })
|
196 | 200 | {
|
197 | 201 | }
|
@@ -316,13 +320,13 @@ Field::Field()
|
316 | 320 | : service::Object({
|
317 | 321 | "__Field"
|
318 | 322 | }, {
|
319 |
| - { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
320 |
| - { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 323 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
321 | 324 | { "args", [this](service::ResolverParams&& params) { return resolveArgs(std::move(params)); } },
|
322 |
| - { "type", [this](service::ResolverParams&& params) { return resolveType(std::move(params)); } }, |
323 |
| - { "isDeprecated", [this](service::ResolverParams&& params) { return resolveIsDeprecated(std::move(params)); } }, |
324 | 325 | { "deprecationReason", [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } },
|
325 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 326 | + { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 327 | + { "isDeprecated", [this](service::ResolverParams&& params) { return resolveIsDeprecated(std::move(params)); } }, |
| 328 | + { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 329 | + { "type", [this](service::ResolverParams&& params) { return resolveType(std::move(params)); } } |
326 | 330 | })
|
327 | 331 | {
|
328 | 332 | }
|
@@ -390,11 +394,11 @@ InputValue::InputValue()
|
390 | 394 | : service::Object({
|
391 | 395 | "__InputValue"
|
392 | 396 | }, {
|
393 |
| - { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
394 |
| - { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
395 |
| - { "type", [this](service::ResolverParams&& params) { return resolveType(std::move(params)); } }, |
| 397 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
396 | 398 | { "defaultValue", [this](service::ResolverParams&& params) { return resolveDefaultValue(std::move(params)); } },
|
397 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 399 | + { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 400 | + { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 401 | + { "type", [this](service::ResolverParams&& params) { return resolveType(std::move(params)); } } |
398 | 402 | })
|
399 | 403 | {
|
400 | 404 | }
|
@@ -444,11 +448,11 @@ EnumValue::EnumValue()
|
444 | 448 | : service::Object({
|
445 | 449 | "__EnumValue"
|
446 | 450 | }, {
|
447 |
| - { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 451 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 452 | + { "deprecationReason", [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } }, |
448 | 453 | { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } },
|
449 | 454 | { "isDeprecated", [this](service::ResolverParams&& params) { return resolveIsDeprecated(std::move(params)); } },
|
450 |
| - { "deprecationReason", [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } }, |
451 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 455 | + { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } } |
452 | 456 | })
|
453 | 457 | {
|
454 | 458 | }
|
@@ -498,11 +502,11 @@ Directive::Directive()
|
498 | 502 | : service::Object({
|
499 | 503 | "__Directive"
|
500 | 504 | }, {
|
501 |
| - { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 505 | + { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 506 | + { "args", [this](service::ResolverParams&& params) { return resolveArgs(std::move(params)); } }, |
502 | 507 | { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } },
|
503 | 508 | { "locations", [this](service::ResolverParams&& params) { return resolveLocations(std::move(params)); } },
|
504 |
| - { "args", [this](service::ResolverParams&& params) { return resolveArgs(std::move(params)); } }, |
505 |
| - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 509 | + { "name", [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } } |
506 | 510 | })
|
507 | 511 | {
|
508 | 512 | }
|
|
0 commit comments