rails-graphql 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +31 -0
- data/ext/depend +3 -0
- data/ext/extconf.rb +57 -0
- data/ext/graphqlparser/Ast.cpp +346 -0
- data/ext/graphqlparser/Ast.h +1214 -0
- data/ext/graphqlparser/AstNode.h +36 -0
- data/ext/graphqlparser/AstVisitor.h +137 -0
- data/ext/graphqlparser/GraphQLParser.cpp +76 -0
- data/ext/graphqlparser/GraphQLParser.h +55 -0
- data/ext/graphqlparser/JsonVisitor.cpp +161 -0
- data/ext/graphqlparser/JsonVisitor.cpp.inc +456 -0
- data/ext/graphqlparser/JsonVisitor.h +121 -0
- data/ext/graphqlparser/JsonVisitor.h.inc +110 -0
- data/ext/graphqlparser/VERSION +1 -0
- data/ext/graphqlparser/c/GraphQLAst.cpp +324 -0
- data/ext/graphqlparser/c/GraphQLAst.h +180 -0
- data/ext/graphqlparser/c/GraphQLAstForEachConcreteType.h +44 -0
- data/ext/graphqlparser/c/GraphQLAstNode.cpp +25 -0
- data/ext/graphqlparser/c/GraphQLAstNode.h +33 -0
- data/ext/graphqlparser/c/GraphQLAstToJSON.cpp +21 -0
- data/ext/graphqlparser/c/GraphQLAstToJSON.h +24 -0
- data/ext/graphqlparser/c/GraphQLAstVisitor.cpp +55 -0
- data/ext/graphqlparser/c/GraphQLAstVisitor.h +53 -0
- data/ext/graphqlparser/c/GraphQLParser.cpp +35 -0
- data/ext/graphqlparser/c/GraphQLParser.h +54 -0
- data/ext/graphqlparser/dump_json_ast.cpp +48 -0
- data/ext/graphqlparser/lexer.lpp +324 -0
- data/ext/graphqlparser/parser.ypp +693 -0
- data/ext/graphqlparser/parsergen/lexer.cpp +2633 -0
- data/ext/graphqlparser/parsergen/lexer.h +528 -0
- data/ext/graphqlparser/parsergen/location.hh +189 -0
- data/ext/graphqlparser/parsergen/parser.tab.cpp +3300 -0
- data/ext/graphqlparser/parsergen/parser.tab.hpp +646 -0
- data/ext/graphqlparser/parsergen/position.hh +179 -0
- data/ext/graphqlparser/parsergen/stack.hh +156 -0
- data/ext/graphqlparser/syntaxdefs.h +19 -0
- data/ext/libgraphqlparser/AstNode.h +36 -0
- data/ext/libgraphqlparser/CMakeLists.txt +148 -0
- data/ext/libgraphqlparser/CONTRIBUTING.md +23 -0
- data/ext/libgraphqlparser/GraphQLParser.cpp +76 -0
- data/ext/libgraphqlparser/GraphQLParser.h +55 -0
- data/ext/libgraphqlparser/JsonVisitor.cpp +161 -0
- data/ext/libgraphqlparser/JsonVisitor.h +121 -0
- data/ext/libgraphqlparser/LICENSE +22 -0
- data/ext/libgraphqlparser/README.clang-tidy +7 -0
- data/ext/libgraphqlparser/README.md +84 -0
- data/ext/libgraphqlparser/ast/ast.ast +203 -0
- data/ext/libgraphqlparser/ast/ast.py +61 -0
- data/ext/libgraphqlparser/ast/c.py +100 -0
- data/ext/libgraphqlparser/ast/c.pyc +0 -0
- data/ext/libgraphqlparser/ast/c_impl.py +61 -0
- data/ext/libgraphqlparser/ast/c_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/c_visitor_impl.py +39 -0
- data/ext/libgraphqlparser/ast/c_visitor_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/casing.py +26 -0
- data/ext/libgraphqlparser/ast/casing.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx.py +197 -0
- data/ext/libgraphqlparser/ast/cxx.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_impl.py +61 -0
- data/ext/libgraphqlparser/ast/cxx_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_header.py +42 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_header.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.py +80 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_visitor.py +64 -0
- data/ext/libgraphqlparser/ast/cxx_visitor.pyc +0 -0
- data/ext/libgraphqlparser/ast/js.py +65 -0
- data/ext/libgraphqlparser/ast/license.py +10 -0
- data/ext/libgraphqlparser/ast/license.pyc +0 -0
- data/ext/libgraphqlparser/c/GraphQLAstNode.cpp +25 -0
- data/ext/libgraphqlparser/c/GraphQLAstNode.h +33 -0
- data/ext/libgraphqlparser/c/GraphQLAstToJSON.cpp +21 -0
- data/ext/libgraphqlparser/c/GraphQLAstToJSON.h +24 -0
- data/ext/libgraphqlparser/c/GraphQLAstVisitor.cpp +55 -0
- data/ext/libgraphqlparser/c/GraphQLAstVisitor.h +53 -0
- data/ext/libgraphqlparser/c/GraphQLParser.cpp +35 -0
- data/ext/libgraphqlparser/c/GraphQLParser.h +54 -0
- data/ext/libgraphqlparser/clang-tidy-all.sh +3 -0
- data/ext/libgraphqlparser/cmake/version.cmake +16 -0
- data/ext/libgraphqlparser/dump_json_ast.cpp +48 -0
- data/ext/libgraphqlparser/go/README.md +20 -0
- data/ext/libgraphqlparser/go/callbacks.go +18 -0
- data/ext/libgraphqlparser/go/gotest.go +64 -0
- data/ext/libgraphqlparser/lexer.lpp +324 -0
- data/ext/libgraphqlparser/libgraphqlparser.pc.in +11 -0
- data/ext/libgraphqlparser/parser.ypp +693 -0
- data/ext/libgraphqlparser/parsergen/lexer.cpp +2633 -0
- data/ext/libgraphqlparser/parsergen/lexer.h +528 -0
- data/ext/libgraphqlparser/parsergen/location.hh +189 -0
- data/ext/libgraphqlparser/parsergen/parser.tab.cpp +3300 -0
- data/ext/libgraphqlparser/parsergen/parser.tab.hpp +646 -0
- data/ext/libgraphqlparser/parsergen/position.hh +179 -0
- data/ext/libgraphqlparser/parsergen/stack.hh +156 -0
- data/ext/libgraphqlparser/python/CMakeLists.txt +14 -0
- data/ext/libgraphqlparser/python/README.md +5 -0
- data/ext/libgraphqlparser/python/example.py +31 -0
- data/ext/libgraphqlparser/syntaxdefs.h +19 -0
- data/ext/libgraphqlparser/test/BuildCAPI.c +5 -0
- data/ext/libgraphqlparser/test/CMakeLists.txt +25 -0
- data/ext/libgraphqlparser/test/JsonVisitorTests.cpp +28 -0
- data/ext/libgraphqlparser/test/ParserTests.cpp +352 -0
- data/ext/libgraphqlparser/test/kitchen-sink.graphql +59 -0
- data/ext/libgraphqlparser/test/kitchen-sink.json +1 -0
- data/ext/libgraphqlparser/test/schema-kitchen-sink.graphql +78 -0
- data/ext/libgraphqlparser/test/schema-kitchen-sink.json +1 -0
- data/ext/libgraphqlparser/test/valgrind.supp +33 -0
- data/ext/version.cpp +21 -0
- data/lib/generators/graphql/controller_generator.rb +22 -0
- data/lib/generators/graphql/schema_generator.rb +22 -0
- data/lib/generators/graphql/templates/controller.erb +5 -0
- data/lib/generators/graphql/templates/schema.erb +6 -0
- data/lib/graphqlparser.so +0 -0
- data/lib/rails-graphql.rb +2 -0
- data/lib/rails/graphql.rake +1 -0
- data/lib/rails/graphql.rb +185 -0
- data/lib/rails/graphql/adapters/mysql_adapter.rb +0 -0
- data/lib/rails/graphql/adapters/pg_adapter.rb +50 -0
- data/lib/rails/graphql/adapters/sqlite_adapter.rb +39 -0
- data/lib/rails/graphql/argument.rb +220 -0
- data/lib/rails/graphql/callback.rb +124 -0
- data/lib/rails/graphql/collectors.rb +14 -0
- data/lib/rails/graphql/collectors/hash_collector.rb +83 -0
- data/lib/rails/graphql/collectors/idented_collector.rb +73 -0
- data/lib/rails/graphql/collectors/json_collector.rb +114 -0
- data/lib/rails/graphql/config.rb +61 -0
- data/lib/rails/graphql/directive.rb +203 -0
- data/lib/rails/graphql/directive/deprecated_directive.rb +59 -0
- data/lib/rails/graphql/directive/include_directive.rb +24 -0
- data/lib/rails/graphql/directive/skip_directive.rb +24 -0
- data/lib/rails/graphql/errors.rb +42 -0
- data/lib/rails/graphql/event.rb +141 -0
- data/lib/rails/graphql/field.rb +318 -0
- data/lib/rails/graphql/field/input_field.rb +92 -0
- data/lib/rails/graphql/field/mutation_field.rb +52 -0
- data/lib/rails/graphql/field/output_field.rb +96 -0
- data/lib/rails/graphql/field/proxied_field.rb +131 -0
- data/lib/rails/graphql/field/resolved_field.rb +96 -0
- data/lib/rails/graphql/field/scoped_config.rb +22 -0
- data/lib/rails/graphql/field/typed_field.rb +104 -0
- data/lib/rails/graphql/helpers.rb +40 -0
- data/lib/rails/graphql/helpers/attribute_delegator.rb +39 -0
- data/lib/rails/graphql/helpers/inherited_collection.rb +152 -0
- data/lib/rails/graphql/helpers/leaf_from_ar.rb +141 -0
- data/lib/rails/graphql/helpers/registerable.rb +103 -0
- data/lib/rails/graphql/helpers/with_arguments.rb +125 -0
- data/lib/rails/graphql/helpers/with_assignment.rb +113 -0
- data/lib/rails/graphql/helpers/with_callbacks.rb +55 -0
- data/lib/rails/graphql/helpers/with_directives.rb +126 -0
- data/lib/rails/graphql/helpers/with_events.rb +81 -0
- data/lib/rails/graphql/helpers/with_fields.rb +141 -0
- data/lib/rails/graphql/helpers/with_namespace.rb +40 -0
- data/lib/rails/graphql/helpers/with_owner.rb +35 -0
- data/lib/rails/graphql/helpers/with_schema_fields.rb +230 -0
- data/lib/rails/graphql/helpers/with_validator.rb +52 -0
- data/lib/rails/graphql/introspection.rb +53 -0
- data/lib/rails/graphql/native.rb +56 -0
- data/lib/rails/graphql/native/functions.rb +38 -0
- data/lib/rails/graphql/native/location.rb +41 -0
- data/lib/rails/graphql/native/pointers.rb +23 -0
- data/lib/rails/graphql/native/visitor.rb +349 -0
- data/lib/rails/graphql/railtie.rb +85 -0
- data/lib/rails/graphql/railties/base_generator.rb +35 -0
- data/lib/rails/graphql/railties/controller.rb +101 -0
- data/lib/rails/graphql/railties/controller_runtime.rb +40 -0
- data/lib/rails/graphql/railties/log_subscriber.rb +62 -0
- data/lib/rails/graphql/request.rb +343 -0
- data/lib/rails/graphql/request/arguments.rb +93 -0
- data/lib/rails/graphql/request/component.rb +100 -0
- data/lib/rails/graphql/request/component/field.rb +225 -0
- data/lib/rails/graphql/request/component/fragment.rb +118 -0
- data/lib/rails/graphql/request/component/operation.rb +178 -0
- data/lib/rails/graphql/request/component/operation/subscription.rb +16 -0
- data/lib/rails/graphql/request/component/spread.rb +119 -0
- data/lib/rails/graphql/request/component/typename.rb +82 -0
- data/lib/rails/graphql/request/context.rb +51 -0
- data/lib/rails/graphql/request/errors.rb +54 -0
- data/lib/rails/graphql/request/event.rb +112 -0
- data/lib/rails/graphql/request/helpers/directives.rb +64 -0
- data/lib/rails/graphql/request/helpers/selection_set.rb +87 -0
- data/lib/rails/graphql/request/helpers/value_writers.rb +115 -0
- data/lib/rails/graphql/request/steps/organizable.rb +146 -0
- data/lib/rails/graphql/request/steps/prepareable.rb +33 -0
- data/lib/rails/graphql/request/steps/resolveable.rb +32 -0
- data/lib/rails/graphql/request/strategy.rb +249 -0
- data/lib/rails/graphql/request/strategy/dynamic_instance.rb +41 -0
- data/lib/rails/graphql/request/strategy/multi_query_strategy.rb +36 -0
- data/lib/rails/graphql/request/strategy/sequenced_strategy.rb +28 -0
- data/lib/rails/graphql/schema.rb +272 -0
- data/lib/rails/graphql/shortcuts.rb +77 -0
- data/lib/rails/graphql/source.rb +371 -0
- data/lib/rails/graphql/source/active_record/builders.rb +154 -0
- data/lib/rails/graphql/source/active_record_source.rb +231 -0
- data/lib/rails/graphql/source/scoped_arguments.rb +87 -0
- data/lib/rails/graphql/to_gql.rb +368 -0
- data/lib/rails/graphql/type.rb +138 -0
- data/lib/rails/graphql/type/enum.rb +206 -0
- data/lib/rails/graphql/type/enum/directive_location_enum.rb +30 -0
- data/lib/rails/graphql/type/enum/type_kind_enum.rb +57 -0
- data/lib/rails/graphql/type/input.rb +134 -0
- data/lib/rails/graphql/type/interface.rb +82 -0
- data/lib/rails/graphql/type/object.rb +111 -0
- data/lib/rails/graphql/type/object/directive_object.rb +34 -0
- data/lib/rails/graphql/type/object/enum_value_object.rb +25 -0
- data/lib/rails/graphql/type/object/field_object.rb +54 -0
- data/lib/rails/graphql/type/object/input_value_object.rb +49 -0
- data/lib/rails/graphql/type/object/schema_object.rb +40 -0
- data/lib/rails/graphql/type/object/type_object.rb +136 -0
- data/lib/rails/graphql/type/scalar.rb +71 -0
- data/lib/rails/graphql/type/scalar/bigint_scalar.rb +34 -0
- data/lib/rails/graphql/type/scalar/binary_scalar.rb +30 -0
- data/lib/rails/graphql/type/scalar/boolean_scalar.rb +37 -0
- data/lib/rails/graphql/type/scalar/date_scalar.rb +34 -0
- data/lib/rails/graphql/type/scalar/date_time_scalar.rb +32 -0
- data/lib/rails/graphql/type/scalar/decimal_scalar.rb +35 -0
- data/lib/rails/graphql/type/scalar/float_scalar.rb +32 -0
- data/lib/rails/graphql/type/scalar/id_scalar.rb +39 -0
- data/lib/rails/graphql/type/scalar/int_scalar.rb +36 -0
- data/lib/rails/graphql/type/scalar/string_scalar.rb +28 -0
- data/lib/rails/graphql/type/scalar/time_scalar.rb +40 -0
- data/lib/rails/graphql/type/union.rb +87 -0
- data/lib/rails/graphql/type_map.rb +347 -0
- data/lib/rails/graphql/version.rb +7 -0
- data/test/assets/introspection-db.json +0 -0
- data/test/assets/introspection-mem.txt +1 -0
- data/test/assets/introspection.gql +91 -0
- data/test/assets/luke.jpg +0 -0
- data/test/assets/mem.gql +428 -0
- data/test/assets/sqlite.gql +423 -0
- data/test/config.rb +80 -0
- data/test/graphql/request/context_test.rb +70 -0
- data/test/graphql/schema_test.rb +190 -0
- data/test/graphql/source_test.rb +237 -0
- data/test/graphql/type/enum_test.rb +203 -0
- data/test/graphql/type/input_test.rb +138 -0
- data/test/graphql/type/interface_test.rb +72 -0
- data/test/graphql/type/object_test.rb +104 -0
- data/test/graphql/type/scalar/bigint_scalar_test.rb +42 -0
- data/test/graphql/type/scalar/binary_scalar_test.rb +17 -0
- data/test/graphql/type/scalar/boolean_scalar_test.rb +40 -0
- data/test/graphql/type/scalar/date_scalar_test.rb +29 -0
- data/test/graphql/type/scalar/date_time_scalar_test.rb +29 -0
- data/test/graphql/type/scalar/decimal_scalar_test.rb +28 -0
- data/test/graphql/type/scalar/float_scalar_test.rb +22 -0
- data/test/graphql/type/scalar/id_scalar_test.rb +26 -0
- data/test/graphql/type/scalar/int_scalar_test.rb +26 -0
- data/test/graphql/type/scalar/string_scalar_test.rb +17 -0
- data/test/graphql/type/scalar/time_scalar_test.rb +36 -0
- data/test/graphql/type/scalar_test.rb +45 -0
- data/test/graphql/type/union_test.rb +82 -0
- data/test/graphql/type_map_test.rb +362 -0
- data/test/graphql/type_test.rb +68 -0
- data/test/graphql_test.rb +55 -0
- data/test/integration/config.rb +56 -0
- data/test/integration/memory/star_wars_introspection_test.rb +144 -0
- data/test/integration/memory/star_wars_query_test.rb +184 -0
- data/test/integration/memory/star_wars_validation_test.rb +99 -0
- data/test/integration/schemas/memory.rb +232 -0
- data/test/integration/schemas/sqlite.rb +82 -0
- data/test/integration/sqlite/star_wars_introspection_test.rb +15 -0
- data/test/integration/sqlite/star_wars_mutation_test.rb +82 -0
- data/test/integration/sqlite/star_wars_query_test.rb +71 -0
- data/test/test_ext.rb +48 -0
- metadata +509 -0
@@ -0,0 +1,456 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright 2019-present GraphQL Foundation
|
3
|
+
* This source code is licensed under the MIT license found in the
|
4
|
+
* LICENSE file in the root directory of this source tree.
|
5
|
+
*/
|
6
|
+
/** @generated */
|
7
|
+
bool JsonVisitor::visitDocument(const Document &node) {
|
8
|
+
visitNode();
|
9
|
+
return true;
|
10
|
+
}
|
11
|
+
|
12
|
+
void JsonVisitor::endVisitDocument(const Document &node) {
|
13
|
+
NodeFieldPrinter fields(*this, "Document", node);
|
14
|
+
fields.printPluralField("definitions", node.getDefinitions());
|
15
|
+
|
16
|
+
endVisitNode(fields.finishPrinting());
|
17
|
+
}
|
18
|
+
|
19
|
+
bool JsonVisitor::visitOperationDefinition(const OperationDefinition &node) {
|
20
|
+
visitNode();
|
21
|
+
return true;
|
22
|
+
}
|
23
|
+
|
24
|
+
void JsonVisitor::endVisitOperationDefinition(const OperationDefinition &node) {
|
25
|
+
NodeFieldPrinter fields(*this, "OperationDefinition", node);
|
26
|
+
fields.printSingularPrimitiveField("operation", node.getOperation());
|
27
|
+
fields.printNullableSingularObjectField("name", node.getName());
|
28
|
+
fields.printNullablePluralField("variableDefinitions", node.getVariableDefinitions());
|
29
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
30
|
+
fields.printSingularObjectField("selectionSet");
|
31
|
+
|
32
|
+
endVisitNode(fields.finishPrinting());
|
33
|
+
}
|
34
|
+
|
35
|
+
bool JsonVisitor::visitVariableDefinition(const VariableDefinition &node) {
|
36
|
+
visitNode();
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
|
40
|
+
void JsonVisitor::endVisitVariableDefinition(const VariableDefinition &node) {
|
41
|
+
NodeFieldPrinter fields(*this, "VariableDefinition", node);
|
42
|
+
fields.printSingularObjectField("variable");
|
43
|
+
fields.printSingularObjectField("type");
|
44
|
+
fields.printNullableSingularObjectField("defaultValue", node.getDefaultValue());
|
45
|
+
|
46
|
+
endVisitNode(fields.finishPrinting());
|
47
|
+
}
|
48
|
+
|
49
|
+
bool JsonVisitor::visitSelectionSet(const SelectionSet &node) {
|
50
|
+
visitNode();
|
51
|
+
return true;
|
52
|
+
}
|
53
|
+
|
54
|
+
void JsonVisitor::endVisitSelectionSet(const SelectionSet &node) {
|
55
|
+
NodeFieldPrinter fields(*this, "SelectionSet", node);
|
56
|
+
fields.printPluralField("selections", node.getSelections());
|
57
|
+
|
58
|
+
endVisitNode(fields.finishPrinting());
|
59
|
+
}
|
60
|
+
|
61
|
+
bool JsonVisitor::visitField(const Field &node) {
|
62
|
+
visitNode();
|
63
|
+
return true;
|
64
|
+
}
|
65
|
+
|
66
|
+
void JsonVisitor::endVisitField(const Field &node) {
|
67
|
+
NodeFieldPrinter fields(*this, "Field", node);
|
68
|
+
fields.printNullableSingularObjectField("alias", node.getAlias());
|
69
|
+
fields.printSingularObjectField("name");
|
70
|
+
fields.printNullablePluralField("arguments", node.getArguments());
|
71
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
72
|
+
fields.printNullableSingularObjectField("selectionSet", node.getSelectionSet());
|
73
|
+
|
74
|
+
endVisitNode(fields.finishPrinting());
|
75
|
+
}
|
76
|
+
|
77
|
+
bool JsonVisitor::visitArgument(const Argument &node) {
|
78
|
+
visitNode();
|
79
|
+
return true;
|
80
|
+
}
|
81
|
+
|
82
|
+
void JsonVisitor::endVisitArgument(const Argument &node) {
|
83
|
+
NodeFieldPrinter fields(*this, "Argument", node);
|
84
|
+
fields.printSingularObjectField("name");
|
85
|
+
fields.printSingularObjectField("value");
|
86
|
+
|
87
|
+
endVisitNode(fields.finishPrinting());
|
88
|
+
}
|
89
|
+
|
90
|
+
bool JsonVisitor::visitFragmentSpread(const FragmentSpread &node) {
|
91
|
+
visitNode();
|
92
|
+
return true;
|
93
|
+
}
|
94
|
+
|
95
|
+
void JsonVisitor::endVisitFragmentSpread(const FragmentSpread &node) {
|
96
|
+
NodeFieldPrinter fields(*this, "FragmentSpread", node);
|
97
|
+
fields.printSingularObjectField("name");
|
98
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
99
|
+
|
100
|
+
endVisitNode(fields.finishPrinting());
|
101
|
+
}
|
102
|
+
|
103
|
+
bool JsonVisitor::visitInlineFragment(const InlineFragment &node) {
|
104
|
+
visitNode();
|
105
|
+
return true;
|
106
|
+
}
|
107
|
+
|
108
|
+
void JsonVisitor::endVisitInlineFragment(const InlineFragment &node) {
|
109
|
+
NodeFieldPrinter fields(*this, "InlineFragment", node);
|
110
|
+
fields.printNullableSingularObjectField("typeCondition", node.getTypeCondition());
|
111
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
112
|
+
fields.printSingularObjectField("selectionSet");
|
113
|
+
|
114
|
+
endVisitNode(fields.finishPrinting());
|
115
|
+
}
|
116
|
+
|
117
|
+
bool JsonVisitor::visitFragmentDefinition(const FragmentDefinition &node) {
|
118
|
+
visitNode();
|
119
|
+
return true;
|
120
|
+
}
|
121
|
+
|
122
|
+
void JsonVisitor::endVisitFragmentDefinition(const FragmentDefinition &node) {
|
123
|
+
NodeFieldPrinter fields(*this, "FragmentDefinition", node);
|
124
|
+
fields.printSingularObjectField("name");
|
125
|
+
fields.printSingularObjectField("typeCondition");
|
126
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
127
|
+
fields.printSingularObjectField("selectionSet");
|
128
|
+
|
129
|
+
endVisitNode(fields.finishPrinting());
|
130
|
+
}
|
131
|
+
|
132
|
+
bool JsonVisitor::visitVariable(const Variable &node) {
|
133
|
+
visitNode();
|
134
|
+
return true;
|
135
|
+
}
|
136
|
+
|
137
|
+
void JsonVisitor::endVisitVariable(const Variable &node) {
|
138
|
+
NodeFieldPrinter fields(*this, "Variable", node);
|
139
|
+
fields.printSingularObjectField("name");
|
140
|
+
|
141
|
+
endVisitNode(fields.finishPrinting());
|
142
|
+
}
|
143
|
+
|
144
|
+
void JsonVisitor::endVisitIntValue(const IntValue &node) {
|
145
|
+
NodeFieldPrinter fields(*this, "IntValue", node);
|
146
|
+
fields.printSingularPrimitiveField("value", node.getValue());
|
147
|
+
|
148
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
149
|
+
}
|
150
|
+
|
151
|
+
void JsonVisitor::endVisitFloatValue(const FloatValue &node) {
|
152
|
+
NodeFieldPrinter fields(*this, "FloatValue", node);
|
153
|
+
fields.printSingularPrimitiveField("value", node.getValue());
|
154
|
+
|
155
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
156
|
+
}
|
157
|
+
|
158
|
+
void JsonVisitor::endVisitStringValue(const StringValue &node) {
|
159
|
+
NodeFieldPrinter fields(*this, "StringValue", node);
|
160
|
+
fields.printSingularPrimitiveField("value", node.getValue());
|
161
|
+
|
162
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
163
|
+
}
|
164
|
+
|
165
|
+
void JsonVisitor::endVisitBooleanValue(const BooleanValue &node) {
|
166
|
+
NodeFieldPrinter fields(*this, "BooleanValue", node);
|
167
|
+
fields.printSingularBooleanField("value", node.getValue());
|
168
|
+
|
169
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
170
|
+
}
|
171
|
+
|
172
|
+
void JsonVisitor::endVisitNullValue(const NullValue &node) {
|
173
|
+
NodeFieldPrinter fields(*this, "NullValue", node);
|
174
|
+
|
175
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
176
|
+
}
|
177
|
+
|
178
|
+
void JsonVisitor::endVisitEnumValue(const EnumValue &node) {
|
179
|
+
NodeFieldPrinter fields(*this, "EnumValue", node);
|
180
|
+
fields.printSingularPrimitiveField("value", node.getValue());
|
181
|
+
|
182
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
183
|
+
}
|
184
|
+
|
185
|
+
bool JsonVisitor::visitListValue(const ListValue &node) {
|
186
|
+
visitNode();
|
187
|
+
return true;
|
188
|
+
}
|
189
|
+
|
190
|
+
void JsonVisitor::endVisitListValue(const ListValue &node) {
|
191
|
+
NodeFieldPrinter fields(*this, "ListValue", node);
|
192
|
+
fields.printPluralField("values", node.getValues());
|
193
|
+
|
194
|
+
endVisitNode(fields.finishPrinting());
|
195
|
+
}
|
196
|
+
|
197
|
+
bool JsonVisitor::visitObjectValue(const ObjectValue &node) {
|
198
|
+
visitNode();
|
199
|
+
return true;
|
200
|
+
}
|
201
|
+
|
202
|
+
void JsonVisitor::endVisitObjectValue(const ObjectValue &node) {
|
203
|
+
NodeFieldPrinter fields(*this, "ObjectValue", node);
|
204
|
+
fields.printPluralField("fields", node.getFields());
|
205
|
+
|
206
|
+
endVisitNode(fields.finishPrinting());
|
207
|
+
}
|
208
|
+
|
209
|
+
bool JsonVisitor::visitObjectField(const ObjectField &node) {
|
210
|
+
visitNode();
|
211
|
+
return true;
|
212
|
+
}
|
213
|
+
|
214
|
+
void JsonVisitor::endVisitObjectField(const ObjectField &node) {
|
215
|
+
NodeFieldPrinter fields(*this, "ObjectField", node);
|
216
|
+
fields.printSingularObjectField("name");
|
217
|
+
fields.printSingularObjectField("value");
|
218
|
+
|
219
|
+
endVisitNode(fields.finishPrinting());
|
220
|
+
}
|
221
|
+
|
222
|
+
bool JsonVisitor::visitDirective(const Directive &node) {
|
223
|
+
visitNode();
|
224
|
+
return true;
|
225
|
+
}
|
226
|
+
|
227
|
+
void JsonVisitor::endVisitDirective(const Directive &node) {
|
228
|
+
NodeFieldPrinter fields(*this, "Directive", node);
|
229
|
+
fields.printSingularObjectField("name");
|
230
|
+
fields.printNullablePluralField("arguments", node.getArguments());
|
231
|
+
|
232
|
+
endVisitNode(fields.finishPrinting());
|
233
|
+
}
|
234
|
+
|
235
|
+
bool JsonVisitor::visitNamedType(const NamedType &node) {
|
236
|
+
visitNode();
|
237
|
+
return true;
|
238
|
+
}
|
239
|
+
|
240
|
+
void JsonVisitor::endVisitNamedType(const NamedType &node) {
|
241
|
+
NodeFieldPrinter fields(*this, "NamedType", node);
|
242
|
+
fields.printSingularObjectField("name");
|
243
|
+
|
244
|
+
endVisitNode(fields.finishPrinting());
|
245
|
+
}
|
246
|
+
|
247
|
+
bool JsonVisitor::visitListType(const ListType &node) {
|
248
|
+
visitNode();
|
249
|
+
return true;
|
250
|
+
}
|
251
|
+
|
252
|
+
void JsonVisitor::endVisitListType(const ListType &node) {
|
253
|
+
NodeFieldPrinter fields(*this, "ListType", node);
|
254
|
+
fields.printSingularObjectField("type");
|
255
|
+
|
256
|
+
endVisitNode(fields.finishPrinting());
|
257
|
+
}
|
258
|
+
|
259
|
+
bool JsonVisitor::visitNonNullType(const NonNullType &node) {
|
260
|
+
visitNode();
|
261
|
+
return true;
|
262
|
+
}
|
263
|
+
|
264
|
+
void JsonVisitor::endVisitNonNullType(const NonNullType &node) {
|
265
|
+
NodeFieldPrinter fields(*this, "NonNullType", node);
|
266
|
+
fields.printSingularObjectField("type");
|
267
|
+
|
268
|
+
endVisitNode(fields.finishPrinting());
|
269
|
+
}
|
270
|
+
|
271
|
+
void JsonVisitor::endVisitName(const Name &node) {
|
272
|
+
NodeFieldPrinter fields(*this, "Name", node);
|
273
|
+
fields.printSingularPrimitiveField("value", node.getValue());
|
274
|
+
|
275
|
+
printed_.back().emplace_back(fields.finishPrinting());
|
276
|
+
}
|
277
|
+
|
278
|
+
bool JsonVisitor::visitSchemaDefinition(const SchemaDefinition &node) {
|
279
|
+
visitNode();
|
280
|
+
return true;
|
281
|
+
}
|
282
|
+
|
283
|
+
void JsonVisitor::endVisitSchemaDefinition(const SchemaDefinition &node) {
|
284
|
+
NodeFieldPrinter fields(*this, "SchemaDefinition", node);
|
285
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
286
|
+
fields.printPluralField("operationTypes", node.getOperationTypes());
|
287
|
+
|
288
|
+
endVisitNode(fields.finishPrinting());
|
289
|
+
}
|
290
|
+
|
291
|
+
bool JsonVisitor::visitOperationTypeDefinition(const OperationTypeDefinition &node) {
|
292
|
+
visitNode();
|
293
|
+
return true;
|
294
|
+
}
|
295
|
+
|
296
|
+
void JsonVisitor::endVisitOperationTypeDefinition(const OperationTypeDefinition &node) {
|
297
|
+
NodeFieldPrinter fields(*this, "OperationTypeDefinition", node);
|
298
|
+
fields.printSingularPrimitiveField("operation", node.getOperation());
|
299
|
+
fields.printSingularObjectField("type");
|
300
|
+
|
301
|
+
endVisitNode(fields.finishPrinting());
|
302
|
+
}
|
303
|
+
|
304
|
+
bool JsonVisitor::visitScalarTypeDefinition(const ScalarTypeDefinition &node) {
|
305
|
+
visitNode();
|
306
|
+
return true;
|
307
|
+
}
|
308
|
+
|
309
|
+
void JsonVisitor::endVisitScalarTypeDefinition(const ScalarTypeDefinition &node) {
|
310
|
+
NodeFieldPrinter fields(*this, "ScalarTypeDefinition", node);
|
311
|
+
fields.printSingularObjectField("name");
|
312
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
313
|
+
|
314
|
+
endVisitNode(fields.finishPrinting());
|
315
|
+
}
|
316
|
+
|
317
|
+
bool JsonVisitor::visitObjectTypeDefinition(const ObjectTypeDefinition &node) {
|
318
|
+
visitNode();
|
319
|
+
return true;
|
320
|
+
}
|
321
|
+
|
322
|
+
void JsonVisitor::endVisitObjectTypeDefinition(const ObjectTypeDefinition &node) {
|
323
|
+
NodeFieldPrinter fields(*this, "ObjectTypeDefinition", node);
|
324
|
+
fields.printSingularObjectField("name");
|
325
|
+
fields.printNullablePluralField("interfaces", node.getInterfaces());
|
326
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
327
|
+
fields.printPluralField("fields", node.getFields());
|
328
|
+
|
329
|
+
endVisitNode(fields.finishPrinting());
|
330
|
+
}
|
331
|
+
|
332
|
+
bool JsonVisitor::visitFieldDefinition(const FieldDefinition &node) {
|
333
|
+
visitNode();
|
334
|
+
return true;
|
335
|
+
}
|
336
|
+
|
337
|
+
void JsonVisitor::endVisitFieldDefinition(const FieldDefinition &node) {
|
338
|
+
NodeFieldPrinter fields(*this, "FieldDefinition", node);
|
339
|
+
fields.printSingularObjectField("name");
|
340
|
+
fields.printNullablePluralField("arguments", node.getArguments());
|
341
|
+
fields.printSingularObjectField("type");
|
342
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
343
|
+
|
344
|
+
endVisitNode(fields.finishPrinting());
|
345
|
+
}
|
346
|
+
|
347
|
+
bool JsonVisitor::visitInputValueDefinition(const InputValueDefinition &node) {
|
348
|
+
visitNode();
|
349
|
+
return true;
|
350
|
+
}
|
351
|
+
|
352
|
+
void JsonVisitor::endVisitInputValueDefinition(const InputValueDefinition &node) {
|
353
|
+
NodeFieldPrinter fields(*this, "InputValueDefinition", node);
|
354
|
+
fields.printSingularObjectField("name");
|
355
|
+
fields.printSingularObjectField("type");
|
356
|
+
fields.printNullableSingularObjectField("defaultValue", node.getDefaultValue());
|
357
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
358
|
+
|
359
|
+
endVisitNode(fields.finishPrinting());
|
360
|
+
}
|
361
|
+
|
362
|
+
bool JsonVisitor::visitInterfaceTypeDefinition(const InterfaceTypeDefinition &node) {
|
363
|
+
visitNode();
|
364
|
+
return true;
|
365
|
+
}
|
366
|
+
|
367
|
+
void JsonVisitor::endVisitInterfaceTypeDefinition(const InterfaceTypeDefinition &node) {
|
368
|
+
NodeFieldPrinter fields(*this, "InterfaceTypeDefinition", node);
|
369
|
+
fields.printSingularObjectField("name");
|
370
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
371
|
+
fields.printPluralField("fields", node.getFields());
|
372
|
+
|
373
|
+
endVisitNode(fields.finishPrinting());
|
374
|
+
}
|
375
|
+
|
376
|
+
bool JsonVisitor::visitUnionTypeDefinition(const UnionTypeDefinition &node) {
|
377
|
+
visitNode();
|
378
|
+
return true;
|
379
|
+
}
|
380
|
+
|
381
|
+
void JsonVisitor::endVisitUnionTypeDefinition(const UnionTypeDefinition &node) {
|
382
|
+
NodeFieldPrinter fields(*this, "UnionTypeDefinition", node);
|
383
|
+
fields.printSingularObjectField("name");
|
384
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
385
|
+
fields.printPluralField("types", node.getTypes());
|
386
|
+
|
387
|
+
endVisitNode(fields.finishPrinting());
|
388
|
+
}
|
389
|
+
|
390
|
+
bool JsonVisitor::visitEnumTypeDefinition(const EnumTypeDefinition &node) {
|
391
|
+
visitNode();
|
392
|
+
return true;
|
393
|
+
}
|
394
|
+
|
395
|
+
void JsonVisitor::endVisitEnumTypeDefinition(const EnumTypeDefinition &node) {
|
396
|
+
NodeFieldPrinter fields(*this, "EnumTypeDefinition", node);
|
397
|
+
fields.printSingularObjectField("name");
|
398
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
399
|
+
fields.printPluralField("values", node.getValues());
|
400
|
+
|
401
|
+
endVisitNode(fields.finishPrinting());
|
402
|
+
}
|
403
|
+
|
404
|
+
bool JsonVisitor::visitEnumValueDefinition(const EnumValueDefinition &node) {
|
405
|
+
visitNode();
|
406
|
+
return true;
|
407
|
+
}
|
408
|
+
|
409
|
+
void JsonVisitor::endVisitEnumValueDefinition(const EnumValueDefinition &node) {
|
410
|
+
NodeFieldPrinter fields(*this, "EnumValueDefinition", node);
|
411
|
+
fields.printSingularObjectField("name");
|
412
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
413
|
+
|
414
|
+
endVisitNode(fields.finishPrinting());
|
415
|
+
}
|
416
|
+
|
417
|
+
bool JsonVisitor::visitInputObjectTypeDefinition(const InputObjectTypeDefinition &node) {
|
418
|
+
visitNode();
|
419
|
+
return true;
|
420
|
+
}
|
421
|
+
|
422
|
+
void JsonVisitor::endVisitInputObjectTypeDefinition(const InputObjectTypeDefinition &node) {
|
423
|
+
NodeFieldPrinter fields(*this, "InputObjectTypeDefinition", node);
|
424
|
+
fields.printSingularObjectField("name");
|
425
|
+
fields.printNullablePluralField("directives", node.getDirectives());
|
426
|
+
fields.printPluralField("fields", node.getFields());
|
427
|
+
|
428
|
+
endVisitNode(fields.finishPrinting());
|
429
|
+
}
|
430
|
+
|
431
|
+
bool JsonVisitor::visitTypeExtensionDefinition(const TypeExtensionDefinition &node) {
|
432
|
+
visitNode();
|
433
|
+
return true;
|
434
|
+
}
|
435
|
+
|
436
|
+
void JsonVisitor::endVisitTypeExtensionDefinition(const TypeExtensionDefinition &node) {
|
437
|
+
NodeFieldPrinter fields(*this, "TypeExtensionDefinition", node);
|
438
|
+
fields.printSingularObjectField("definition");
|
439
|
+
|
440
|
+
endVisitNode(fields.finishPrinting());
|
441
|
+
}
|
442
|
+
|
443
|
+
bool JsonVisitor::visitDirectiveDefinition(const DirectiveDefinition &node) {
|
444
|
+
visitNode();
|
445
|
+
return true;
|
446
|
+
}
|
447
|
+
|
448
|
+
void JsonVisitor::endVisitDirectiveDefinition(const DirectiveDefinition &node) {
|
449
|
+
NodeFieldPrinter fields(*this, "DirectiveDefinition", node);
|
450
|
+
fields.printSingularObjectField("name");
|
451
|
+
fields.printNullablePluralField("arguments", node.getArguments());
|
452
|
+
fields.printPluralField("locations", node.getLocations());
|
453
|
+
|
454
|
+
endVisitNode(fields.finishPrinting());
|
455
|
+
}
|
456
|
+
|