Skip to content

Commit 2344b35

Browse files
committed
Add support for new GraphQL grammar/Introspection
1 parent 5c7a3a6 commit 2344b35

27 files changed

+495
-233
lines changed

include/SchemaLoader.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ struct ScalarType
4848
{
4949
std::string_view type;
5050
std::string_view description;
51+
std::string_view specifiedByURL;
5152
};
5253

5354
using ScalarTypeList = std::vector<ScalarType>;
@@ -113,6 +114,7 @@ using InputTypeList = std::vector<InputType>;
113114
struct Directive
114115
{
115116
std::string_view name;
117+
bool isRepeatable = false;
116118
std::vector<std::string_view> locations;
117119
InputFieldList arguments;
118120
std::string_view description;
@@ -219,6 +221,7 @@ class SchemaLoader
219221
explicit SchemaLoader(SchemaOptions&& schemaOptions);
220222

221223
bool isIntrospection() const noexcept;
224+
std::string_view getSchemaDescription() const noexcept;
222225
std::string_view getFilenamePrefix() const noexcept;
223226
std::string_view getSchemaNamespace() const noexcept;
224227

@@ -265,6 +268,7 @@ class SchemaLoader
265268
void visitSchemaDefinition(const peg::ast_node& schemaDefinition);
266269
void visitSchemaExtension(const peg::ast_node& schemaExtension);
267270
void visitScalarTypeDefinition(const peg::ast_node& scalarTypeDefinition);
271+
void visitScalarTypeExtension(const peg::ast_node& scalarTypeExtension);
268272
void visitEnumTypeDefinition(const peg::ast_node& enumTypeDefinition);
269273
void visitEnumTypeExtension(const peg::ast_node& enumTypeExtension);
270274
void visitInputObjectTypeDefinition(const peg::ast_node& inputObjectTypeDefinition);
@@ -294,6 +298,7 @@ class SchemaLoader
294298

295299
const SchemaOptions _schemaOptions;
296300
const bool _isIntrospection;
301+
std::string_view _schemaDescription;
297302
std::string_view _schemaNamespace;
298303
peg::ast _ast;
299304

0 commit comments

Comments
 (0)