|
11 | 11 | #include "graphqlservice/GraphQLResponse.h" |
12 | 12 | #include "graphqlservice/GraphQLService.h" |
13 | 13 |
|
| 14 | +#include "graphqlservice/internal/DllExports.h" |
14 | 15 | #include "graphqlservice/internal/Version.h" |
15 | 16 | #include "graphqlservice/internal/Schema.h" |
16 | 17 |
|
| 18 | +#include "IntrospectionSharedTypes.h" |
| 19 | + |
17 | 20 | #include <array> |
18 | 21 | #include <memory> |
19 | 22 | #include <string> |
|
23 | 26 | static_assert(graphql::internal::MajorVersion == 5, "regenerate with schemagen: major version mismatch"); |
24 | 27 | static_assert(graphql::internal::MinorVersion == 0, "regenerate with schemagen: minor version mismatch"); |
25 | 28 |
|
26 | | -namespace graphql { |
27 | | -namespace introspection { |
28 | | - |
29 | | -enum class TypeKind |
30 | | -{ |
31 | | - SCALAR, |
32 | | - OBJECT, |
33 | | - INTERFACE, |
34 | | - UNION, |
35 | | - ENUM, |
36 | | - INPUT_OBJECT, |
37 | | - LIST, |
38 | | - NON_NULL |
39 | | -}; |
40 | | - |
41 | | -[[nodiscard("unnecessary call")]] constexpr auto getTypeKindNames() noexcept |
42 | | -{ |
43 | | - using namespace std::literals; |
44 | | - |
45 | | - return std::array<std::string_view, 8> { |
46 | | - R"gql(SCALAR)gql"sv, |
47 | | - R"gql(OBJECT)gql"sv, |
48 | | - R"gql(INTERFACE)gql"sv, |
49 | | - R"gql(UNION)gql"sv, |
50 | | - R"gql(ENUM)gql"sv, |
51 | | - R"gql(INPUT_OBJECT)gql"sv, |
52 | | - R"gql(LIST)gql"sv, |
53 | | - R"gql(NON_NULL)gql"sv |
54 | | - }; |
55 | | -} |
56 | | - |
57 | | -[[nodiscard("unnecessary call")]] constexpr auto getTypeKindValues() noexcept |
58 | | -{ |
59 | | - using namespace std::literals; |
60 | | - |
61 | | - return std::array<std::pair<std::string_view, TypeKind>, 8> { |
62 | | - std::make_pair(R"gql(ENUM)gql"sv, TypeKind::ENUM), |
63 | | - std::make_pair(R"gql(LIST)gql"sv, TypeKind::LIST), |
64 | | - std::make_pair(R"gql(UNION)gql"sv, TypeKind::UNION), |
65 | | - std::make_pair(R"gql(OBJECT)gql"sv, TypeKind::OBJECT), |
66 | | - std::make_pair(R"gql(SCALAR)gql"sv, TypeKind::SCALAR), |
67 | | - std::make_pair(R"gql(NON_NULL)gql"sv, TypeKind::NON_NULL), |
68 | | - std::make_pair(R"gql(INTERFACE)gql"sv, TypeKind::INTERFACE), |
69 | | - std::make_pair(R"gql(INPUT_OBJECT)gql"sv, TypeKind::INPUT_OBJECT) |
70 | | - }; |
71 | | -} |
72 | | - |
73 | | -enum class DirectiveLocation |
74 | | -{ |
75 | | - QUERY, |
76 | | - MUTATION, |
77 | | - SUBSCRIPTION, |
78 | | - FIELD, |
79 | | - FRAGMENT_DEFINITION, |
80 | | - FRAGMENT_SPREAD, |
81 | | - INLINE_FRAGMENT, |
82 | | - VARIABLE_DEFINITION, |
83 | | - SCHEMA, |
84 | | - SCALAR, |
85 | | - OBJECT, |
86 | | - FIELD_DEFINITION, |
87 | | - ARGUMENT_DEFINITION, |
88 | | - INTERFACE, |
89 | | - UNION, |
90 | | - ENUM, |
91 | | - ENUM_VALUE, |
92 | | - INPUT_OBJECT, |
93 | | - INPUT_FIELD_DEFINITION |
94 | | -}; |
95 | | - |
96 | | -[[nodiscard("unnecessary call")]] constexpr auto getDirectiveLocationNames() noexcept |
97 | | -{ |
98 | | - using namespace std::literals; |
99 | | - |
100 | | - return std::array<std::string_view, 19> { |
101 | | - R"gql(QUERY)gql"sv, |
102 | | - R"gql(MUTATION)gql"sv, |
103 | | - R"gql(SUBSCRIPTION)gql"sv, |
104 | | - R"gql(FIELD)gql"sv, |
105 | | - R"gql(FRAGMENT_DEFINITION)gql"sv, |
106 | | - R"gql(FRAGMENT_SPREAD)gql"sv, |
107 | | - R"gql(INLINE_FRAGMENT)gql"sv, |
108 | | - R"gql(VARIABLE_DEFINITION)gql"sv, |
109 | | - R"gql(SCHEMA)gql"sv, |
110 | | - R"gql(SCALAR)gql"sv, |
111 | | - R"gql(OBJECT)gql"sv, |
112 | | - R"gql(FIELD_DEFINITION)gql"sv, |
113 | | - R"gql(ARGUMENT_DEFINITION)gql"sv, |
114 | | - R"gql(INTERFACE)gql"sv, |
115 | | - R"gql(UNION)gql"sv, |
116 | | - R"gql(ENUM)gql"sv, |
117 | | - R"gql(ENUM_VALUE)gql"sv, |
118 | | - R"gql(INPUT_OBJECT)gql"sv, |
119 | | - R"gql(INPUT_FIELD_DEFINITION)gql"sv |
120 | | - }; |
121 | | -} |
122 | | - |
123 | | -[[nodiscard("unnecessary call")]] constexpr auto getDirectiveLocationValues() noexcept |
124 | | -{ |
125 | | - using namespace std::literals; |
126 | | - |
127 | | - return std::array<std::pair<std::string_view, DirectiveLocation>, 19> { |
128 | | - std::make_pair(R"gql(ENUM)gql"sv, DirectiveLocation::ENUM), |
129 | | - std::make_pair(R"gql(FIELD)gql"sv, DirectiveLocation::FIELD), |
130 | | - std::make_pair(R"gql(QUERY)gql"sv, DirectiveLocation::QUERY), |
131 | | - std::make_pair(R"gql(UNION)gql"sv, DirectiveLocation::UNION), |
132 | | - std::make_pair(R"gql(OBJECT)gql"sv, DirectiveLocation::OBJECT), |
133 | | - std::make_pair(R"gql(SCALAR)gql"sv, DirectiveLocation::SCALAR), |
134 | | - std::make_pair(R"gql(SCHEMA)gql"sv, DirectiveLocation::SCHEMA), |
135 | | - std::make_pair(R"gql(MUTATION)gql"sv, DirectiveLocation::MUTATION), |
136 | | - std::make_pair(R"gql(INTERFACE)gql"sv, DirectiveLocation::INTERFACE), |
137 | | - std::make_pair(R"gql(ENUM_VALUE)gql"sv, DirectiveLocation::ENUM_VALUE), |
138 | | - std::make_pair(R"gql(INPUT_OBJECT)gql"sv, DirectiveLocation::INPUT_OBJECT), |
139 | | - std::make_pair(R"gql(SUBSCRIPTION)gql"sv, DirectiveLocation::SUBSCRIPTION), |
140 | | - std::make_pair(R"gql(FRAGMENT_SPREAD)gql"sv, DirectiveLocation::FRAGMENT_SPREAD), |
141 | | - std::make_pair(R"gql(INLINE_FRAGMENT)gql"sv, DirectiveLocation::INLINE_FRAGMENT), |
142 | | - std::make_pair(R"gql(FIELD_DEFINITION)gql"sv, DirectiveLocation::FIELD_DEFINITION), |
143 | | - std::make_pair(R"gql(ARGUMENT_DEFINITION)gql"sv, DirectiveLocation::ARGUMENT_DEFINITION), |
144 | | - std::make_pair(R"gql(FRAGMENT_DEFINITION)gql"sv, DirectiveLocation::FRAGMENT_DEFINITION), |
145 | | - std::make_pair(R"gql(VARIABLE_DEFINITION)gql"sv, DirectiveLocation::VARIABLE_DEFINITION), |
146 | | - std::make_pair(R"gql(INPUT_FIELD_DEFINITION)gql"sv, DirectiveLocation::INPUT_FIELD_DEFINITION) |
147 | | - }; |
148 | | -} |
149 | | - |
| 29 | +namespace graphql::introspection { |
150 | 30 | class Schema; |
151 | 31 | class Type; |
152 | 32 | class Field; |
@@ -174,33 +54,6 @@ void AddDirectiveDetails(const std::shared_ptr<schema::ObjectType>& typeDirectiv |
174 | 54 |
|
175 | 55 | GRAPHQLSERVICE_EXPORT void AddTypesToSchema(const std::shared_ptr<schema::Schema>& schema); |
176 | 56 |
|
177 | | -} // namespace introspection |
178 | | - |
179 | | -namespace service { |
180 | | - |
181 | | -#ifdef GRAPHQL_DLLEXPORTS |
182 | | -// Export all of the built-in converters |
183 | | -template <> |
184 | | -GRAPHQLSERVICE_EXPORT introspection::TypeKind Argument<introspection::TypeKind>::convert( |
185 | | - const response::Value& value); |
186 | | -template <> |
187 | | -GRAPHQLSERVICE_EXPORT AwaitableResolver Result<introspection::TypeKind>::convert( |
188 | | - AwaitableScalar<introspection::TypeKind> result, ResolverParams&& params); |
189 | | -template <> |
190 | | -GRAPHQLSERVICE_EXPORT void Result<introspection::TypeKind>::validateScalar( |
191 | | - const response::Value& value); |
192 | | -template <> |
193 | | -GRAPHQLSERVICE_EXPORT introspection::DirectiveLocation Argument<introspection::DirectiveLocation>::convert( |
194 | | - const response::Value& value); |
195 | | -template <> |
196 | | -GRAPHQLSERVICE_EXPORT AwaitableResolver Result<introspection::DirectiveLocation>::convert( |
197 | | - AwaitableScalar<introspection::DirectiveLocation> result, ResolverParams&& params); |
198 | | -template <> |
199 | | -GRAPHQLSERVICE_EXPORT void Result<introspection::DirectiveLocation>::validateScalar( |
200 | | - const response::Value& value); |
201 | | -#endif // GRAPHQL_DLLEXPORTS |
202 | | - |
203 | | -} // namespace service |
204 | | -} // namespace graphql |
| 57 | +} // namespace graphql::introspection |
205 | 58 |
|
206 | 59 | #endif // INTROSPECTIONSCHEMA_H |
0 commit comments