|
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)); } }, |
123 | | - { "mutationType", [this](service::ResolverParams&& params) { return resolveMutationType(std::move(params)); } }, |
124 | | - { "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)); } } |
| 125 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 126 | + { R"gql(directives)gql"sv, [this](service::ResolverParams&& params) { return resolveDirectives(std::move(params)); } }, |
| 127 | + { R"gql(mutationType)gql"sv, [this](service::ResolverParams&& params) { return resolveMutationType(std::move(params)); } }, |
| 128 | + { R"gql(queryType)gql"sv, [this](service::ResolverParams&& params) { return resolveQueryType(std::move(params)); } }, |
| 129 | + { R"gql(subscriptionType)gql"sv, [this](service::ResolverParams&& params) { return resolveSubscriptionType(std::move(params)); } }, |
| 130 | + { R"gql(types)gql"sv, [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)); } }, |
187 | | - { "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 | | - { "enumValues", [this](service::ResolverParams&& params) { return resolveEnumValues(std::move(params)); } }, |
192 | | - { "inputFields", [this](service::ResolverParams&& params) { return resolveInputFields(std::move(params)); } }, |
193 | | - { "ofType", [this](service::ResolverParams&& params) { return resolveOfType(std::move(params)); } }, |
194 | | - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 189 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 190 | + { R"gql(description)gql"sv, [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 191 | + { R"gql(enumValues)gql"sv, [this](service::ResolverParams&& params) { return resolveEnumValues(std::move(params)); } }, |
| 192 | + { R"gql(fields)gql"sv, [this](service::ResolverParams&& params) { return resolveFields(std::move(params)); } }, |
| 193 | + { R"gql(inputFields)gql"sv, [this](service::ResolverParams&& params) { return resolveInputFields(std::move(params)); } }, |
| 194 | + { R"gql(interfaces)gql"sv, [this](service::ResolverParams&& params) { return resolveInterfaces(std::move(params)); } }, |
| 195 | + { R"gql(kind)gql"sv, [this](service::ResolverParams&& params) { return resolveKind(std::move(params)); } }, |
| 196 | + { R"gql(name)gql"sv, [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 197 | + { R"gql(ofType)gql"sv, [this](service::ResolverParams&& params) { return resolveOfType(std::move(params)); } }, |
| 198 | + { R"gql(possibleTypes)gql"sv, [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)); } }, |
321 | | - { "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 | | - { "deprecationReason", [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } }, |
325 | | - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 323 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 324 | + { R"gql(args)gql"sv, [this](service::ResolverParams&& params) { return resolveArgs(std::move(params)); } }, |
| 325 | + { R"gql(deprecationReason)gql"sv, [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } }, |
| 326 | + { R"gql(description)gql"sv, [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 327 | + { R"gql(isDeprecated)gql"sv, [this](service::ResolverParams&& params) { return resolveIsDeprecated(std::move(params)); } }, |
| 328 | + { R"gql(name)gql"sv, [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 329 | + { R"gql(type)gql"sv, [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)); } }, |
396 | | - { "defaultValue", [this](service::ResolverParams&& params) { return resolveDefaultValue(std::move(params)); } }, |
397 | | - { "__typename", [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } } |
| 397 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 398 | + { R"gql(defaultValue)gql"sv, [this](service::ResolverParams&& params) { return resolveDefaultValue(std::move(params)); } }, |
| 399 | + { R"gql(description)gql"sv, [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 400 | + { R"gql(name)gql"sv, [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } }, |
| 401 | + { R"gql(type)gql"sv, [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)); } }, |
448 | | - { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
449 | | - { "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)); } } |
| 451 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 452 | + { R"gql(deprecationReason)gql"sv, [this](service::ResolverParams&& params) { return resolveDeprecationReason(std::move(params)); } }, |
| 453 | + { R"gql(description)gql"sv, [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 454 | + { R"gql(isDeprecated)gql"sv, [this](service::ResolverParams&& params) { return resolveIsDeprecated(std::move(params)); } }, |
| 455 | + { R"gql(name)gql"sv, [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)); } }, |
502 | | - { "description", [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
503 | | - { "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)); } } |
| 505 | + { R"gql(__typename)gql"sv, [this](service::ResolverParams&& params) { return resolve_typename(std::move(params)); } }, |
| 506 | + { R"gql(args)gql"sv, [this](service::ResolverParams&& params) { return resolveArgs(std::move(params)); } }, |
| 507 | + { R"gql(description)gql"sv, [this](service::ResolverParams&& params) { return resolveDescription(std::move(params)); } }, |
| 508 | + { R"gql(locations)gql"sv, [this](service::ResolverParams&& params) { return resolveLocations(std::move(params)); } }, |
| 509 | + { R"gql(name)gql"sv, [this](service::ResolverParams&& params) { return resolveName(std::move(params)); } } |
506 | 510 | }) |
507 | 511 | { |
508 | 512 | } |
|
0 commit comments