graphql 1.13.6 → 2.0.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.

Potentially problematic release.


This version of graphql might be problematic. Click here for more details.

Files changed (216) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/core.rb +0 -7
  3. data/lib/generators/graphql/enum_generator.rb +4 -10
  4. data/lib/generators/graphql/field_extractor.rb +31 -0
  5. data/lib/generators/graphql/input_generator.rb +50 -0
  6. data/lib/generators/graphql/install/mutation_root_generator.rb +34 -0
  7. data/lib/generators/graphql/{templates → install/templates}/base_mutation.erb +0 -0
  8. data/lib/generators/graphql/{templates → install/templates}/mutation_type.erb +0 -0
  9. data/lib/generators/graphql/install_generator.rb +1 -1
  10. data/lib/generators/graphql/interface_generator.rb +7 -7
  11. data/lib/generators/graphql/mutation_create_generator.rb +22 -0
  12. data/lib/generators/graphql/mutation_delete_generator.rb +22 -0
  13. data/lib/generators/graphql/mutation_generator.rb +5 -30
  14. data/lib/generators/graphql/mutation_update_generator.rb +22 -0
  15. data/lib/generators/graphql/object_generator.rb +8 -37
  16. data/lib/generators/graphql/orm_mutations_base.rb +40 -0
  17. data/lib/generators/graphql/scalar_generator.rb +4 -2
  18. data/lib/generators/graphql/templates/enum.erb +5 -1
  19. data/lib/generators/graphql/templates/input.erb +9 -0
  20. data/lib/generators/graphql/templates/interface.erb +4 -2
  21. data/lib/generators/graphql/templates/mutation.erb +1 -1
  22. data/lib/generators/graphql/templates/mutation_create.erb +20 -0
  23. data/lib/generators/graphql/templates/mutation_delete.erb +20 -0
  24. data/lib/generators/graphql/templates/mutation_update.erb +21 -0
  25. data/lib/generators/graphql/templates/object.erb +4 -2
  26. data/lib/generators/graphql/templates/scalar.erb +3 -1
  27. data/lib/generators/graphql/templates/union.erb +4 -2
  28. data/lib/generators/graphql/type_generator.rb +46 -9
  29. data/lib/generators/graphql/union_generator.rb +5 -5
  30. data/lib/graphql/analysis/ast/query_complexity.rb +1 -1
  31. data/lib/graphql/analysis/ast/query_depth.rb +0 -1
  32. data/lib/graphql/analysis/ast/visitor.rb +3 -2
  33. data/lib/graphql/analysis/ast.rb +0 -10
  34. data/lib/graphql/analysis.rb +0 -7
  35. data/lib/graphql/backtrace/table.rb +0 -18
  36. data/lib/graphql/backtrace/tracer.rb +1 -2
  37. data/lib/graphql/backtrace.rb +2 -8
  38. data/lib/graphql/dataloader/source.rb +2 -2
  39. data/lib/graphql/dig.rb +1 -1
  40. data/lib/graphql/execution/errors.rb +1 -9
  41. data/lib/graphql/execution/interpreter/runtime.rb +2 -9
  42. data/lib/graphql/execution/interpreter.rb +0 -22
  43. data/lib/graphql/execution/lazy.rb +1 -1
  44. data/lib/graphql/execution/lookahead.rb +6 -13
  45. data/lib/graphql/execution/multiplex.rb +50 -107
  46. data/lib/graphql/execution.rb +11 -3
  47. data/lib/graphql/introspection/dynamic_fields.rb +3 -8
  48. data/lib/graphql/introspection/entry_points.rb +2 -15
  49. data/lib/graphql/introspection.rb +4 -4
  50. data/lib/graphql/language/document_from_schema_definition.rb +0 -17
  51. data/lib/graphql/pagination/connections.rb +2 -28
  52. data/lib/graphql/query/context.rb +1 -185
  53. data/lib/graphql/query/literal_input.rb +8 -13
  54. data/lib/graphql/query/validation_pipeline.rb +8 -37
  55. data/lib/graphql/query/variables.rb +22 -18
  56. data/lib/graphql/query.rb +5 -35
  57. data/lib/graphql/railtie.rb +0 -104
  58. data/lib/graphql/relay.rb +0 -15
  59. data/lib/graphql/rubocop/graphql/default_required_true.rb +4 -4
  60. data/lib/graphql/schema/addition.rb +1 -8
  61. data/lib/graphql/schema/argument.rb +18 -25
  62. data/lib/graphql/schema/build_from_definition.rb +0 -1
  63. data/lib/graphql/schema/directive.rb +4 -21
  64. data/lib/graphql/schema/enum.rb +1 -18
  65. data/lib/graphql/schema/enum_value.rb +0 -22
  66. data/lib/graphql/schema/field.rb +22 -194
  67. data/lib/graphql/schema/input_object.rb +10 -57
  68. data/lib/graphql/schema/interface.rb +0 -25
  69. data/lib/graphql/schema/introspection_system.rb +3 -8
  70. data/lib/graphql/schema/late_bound_type.rb +2 -2
  71. data/lib/graphql/schema/list.rb +0 -6
  72. data/lib/graphql/schema/loader.rb +0 -1
  73. data/lib/graphql/schema/member/base_dsl_methods.rb +0 -5
  74. data/lib/graphql/schema/member/build_type.rb +4 -6
  75. data/lib/graphql/schema/member/has_arguments.rb +14 -18
  76. data/lib/graphql/schema/member/has_fields.rb +2 -2
  77. data/lib/graphql/schema/member/has_interfaces.rb +0 -2
  78. data/lib/graphql/schema/member.rb +0 -6
  79. data/lib/graphql/schema/mutation.rb +0 -9
  80. data/lib/graphql/schema/non_null.rb +1 -7
  81. data/lib/graphql/schema/object.rb +0 -40
  82. data/lib/graphql/schema/relay_classic_mutation.rb +17 -28
  83. data/lib/graphql/schema/scalar.rb +0 -15
  84. data/lib/graphql/schema/union.rb +0 -16
  85. data/lib/graphql/schema/warden.rb +1 -1
  86. data/lib/graphql/schema/wrapper.rb +0 -5
  87. data/lib/graphql/schema.rb +107 -949
  88. data/lib/graphql/static_validation/base_visitor.rb +4 -21
  89. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +12 -12
  90. data/lib/graphql/static_validation/validator.rb +2 -24
  91. data/lib/graphql/static_validation.rb +0 -2
  92. data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +38 -1
  93. data/lib/graphql/subscriptions/event.rb +1 -1
  94. data/lib/graphql/subscriptions/instrumentation.rb +0 -51
  95. data/lib/graphql/subscriptions.rb +4 -13
  96. data/lib/graphql/tracing/platform_tracing.rb +0 -23
  97. data/lib/graphql/tracing.rb +0 -1
  98. data/lib/graphql/types/iso_8601_date_time.rb +8 -1
  99. data/lib/graphql/types/relay/connection_behaviors.rb +4 -7
  100. data/lib/graphql/types/relay/default_relay.rb +0 -10
  101. data/lib/graphql/types/relay/node_behaviors.rb +5 -1
  102. data/lib/graphql/types/relay.rb +0 -2
  103. data/lib/graphql/version.rb +1 -1
  104. data/lib/graphql.rb +12 -65
  105. metadata +15 -129
  106. data/lib/graphql/analysis/analyze_query.rb +0 -98
  107. data/lib/graphql/analysis/field_usage.rb +0 -45
  108. data/lib/graphql/analysis/max_query_complexity.rb +0 -26
  109. data/lib/graphql/analysis/max_query_depth.rb +0 -26
  110. data/lib/graphql/analysis/query_complexity.rb +0 -88
  111. data/lib/graphql/analysis/query_depth.rb +0 -43
  112. data/lib/graphql/analysis/reducer_state.rb +0 -48
  113. data/lib/graphql/argument.rb +0 -131
  114. data/lib/graphql/authorization.rb +0 -82
  115. data/lib/graphql/backtrace/legacy_tracer.rb +0 -56
  116. data/lib/graphql/backwards_compatibility.rb +0 -61
  117. data/lib/graphql/base_type.rb +0 -232
  118. data/lib/graphql/boolean_type.rb +0 -2
  119. data/lib/graphql/compatibility/execution_specification/counter_schema.rb +0 -53
  120. data/lib/graphql/compatibility/execution_specification/specification_schema.rb +0 -200
  121. data/lib/graphql/compatibility/execution_specification.rb +0 -436
  122. data/lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb +0 -111
  123. data/lib/graphql/compatibility/lazy_execution_specification.rb +0 -215
  124. data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -87
  125. data/lib/graphql/compatibility/query_parser_specification/query_assertions.rb +0 -79
  126. data/lib/graphql/compatibility/query_parser_specification.rb +0 -266
  127. data/lib/graphql/compatibility/schema_parser_specification.rb +0 -682
  128. data/lib/graphql/compatibility.rb +0 -5
  129. data/lib/graphql/define/assign_argument.rb +0 -12
  130. data/lib/graphql/define/assign_connection.rb +0 -13
  131. data/lib/graphql/define/assign_enum_value.rb +0 -18
  132. data/lib/graphql/define/assign_global_id_field.rb +0 -11
  133. data/lib/graphql/define/assign_mutation_function.rb +0 -34
  134. data/lib/graphql/define/assign_object_field.rb +0 -42
  135. data/lib/graphql/define/defined_object_proxy.rb +0 -53
  136. data/lib/graphql/define/instance_definable.rb +0 -240
  137. data/lib/graphql/define/no_definition_error.rb +0 -7
  138. data/lib/graphql/define/non_null_with_bang.rb +0 -16
  139. data/lib/graphql/define/type_definer.rb +0 -31
  140. data/lib/graphql/define.rb +0 -31
  141. data/lib/graphql/deprecated_dsl.rb +0 -55
  142. data/lib/graphql/directive/deprecated_directive.rb +0 -2
  143. data/lib/graphql/directive/include_directive.rb +0 -2
  144. data/lib/graphql/directive/skip_directive.rb +0 -2
  145. data/lib/graphql/directive.rb +0 -107
  146. data/lib/graphql/enum_type.rb +0 -133
  147. data/lib/graphql/execution/execute.rb +0 -333
  148. data/lib/graphql/execution/flatten.rb +0 -40
  149. data/lib/graphql/execution/typecast.rb +0 -50
  150. data/lib/graphql/field/resolve.rb +0 -59
  151. data/lib/graphql/field.rb +0 -226
  152. data/lib/graphql/float_type.rb +0 -2
  153. data/lib/graphql/function.rb +0 -128
  154. data/lib/graphql/id_type.rb +0 -2
  155. data/lib/graphql/input_object_type.rb +0 -138
  156. data/lib/graphql/int_type.rb +0 -2
  157. data/lib/graphql/interface_type.rb +0 -72
  158. data/lib/graphql/internal_representation/document.rb +0 -27
  159. data/lib/graphql/internal_representation/node.rb +0 -206
  160. data/lib/graphql/internal_representation/print.rb +0 -51
  161. data/lib/graphql/internal_representation/rewrite.rb +0 -184
  162. data/lib/graphql/internal_representation/scope.rb +0 -88
  163. data/lib/graphql/internal_representation/visit.rb +0 -36
  164. data/lib/graphql/internal_representation.rb +0 -7
  165. data/lib/graphql/list_type.rb +0 -80
  166. data/lib/graphql/non_null_type.rb +0 -71
  167. data/lib/graphql/object_type.rb +0 -130
  168. data/lib/graphql/query/arguments.rb +0 -189
  169. data/lib/graphql/query/arguments_cache.rb +0 -24
  170. data/lib/graphql/query/executor.rb +0 -52
  171. data/lib/graphql/query/serial_execution/field_resolution.rb +0 -92
  172. data/lib/graphql/query/serial_execution/operation_resolution.rb +0 -19
  173. data/lib/graphql/query/serial_execution/selection_resolution.rb +0 -23
  174. data/lib/graphql/query/serial_execution/value_resolution.rb +0 -87
  175. data/lib/graphql/query/serial_execution.rb +0 -40
  176. data/lib/graphql/relay/array_connection.rb +0 -83
  177. data/lib/graphql/relay/base_connection.rb +0 -189
  178. data/lib/graphql/relay/connection_instrumentation.rb +0 -54
  179. data/lib/graphql/relay/connection_resolve.rb +0 -43
  180. data/lib/graphql/relay/connection_type.rb +0 -41
  181. data/lib/graphql/relay/edge.rb +0 -27
  182. data/lib/graphql/relay/edge_type.rb +0 -19
  183. data/lib/graphql/relay/edges_instrumentation.rb +0 -39
  184. data/lib/graphql/relay/global_id_resolve.rb +0 -18
  185. data/lib/graphql/relay/mongo_relation_connection.rb +0 -50
  186. data/lib/graphql/relay/mutation/instrumentation.rb +0 -23
  187. data/lib/graphql/relay/mutation/resolve.rb +0 -56
  188. data/lib/graphql/relay/mutation/result.rb +0 -38
  189. data/lib/graphql/relay/mutation.rb +0 -106
  190. data/lib/graphql/relay/node.rb +0 -39
  191. data/lib/graphql/relay/page_info.rb +0 -7
  192. data/lib/graphql/relay/relation_connection.rb +0 -188
  193. data/lib/graphql/relay/type_extensions.rb +0 -32
  194. data/lib/graphql/scalar_type.rb +0 -91
  195. data/lib/graphql/schema/catchall_middleware.rb +0 -35
  196. data/lib/graphql/schema/default_parse_error.rb +0 -10
  197. data/lib/graphql/schema/default_type_error.rb +0 -17
  198. data/lib/graphql/schema/member/accepts_definition.rb +0 -164
  199. data/lib/graphql/schema/member/cached_graphql_definition.rb +0 -58
  200. data/lib/graphql/schema/member/instrumentation.rb +0 -131
  201. data/lib/graphql/schema/middleware_chain.rb +0 -82
  202. data/lib/graphql/schema/possible_types.rb +0 -44
  203. data/lib/graphql/schema/rescue_middleware.rb +0 -60
  204. data/lib/graphql/schema/timeout_middleware.rb +0 -88
  205. data/lib/graphql/schema/traversal.rb +0 -228
  206. data/lib/graphql/schema/validation.rb +0 -313
  207. data/lib/graphql/static_validation/default_visitor.rb +0 -15
  208. data/lib/graphql/static_validation/no_validate_visitor.rb +0 -10
  209. data/lib/graphql/string_type.rb +0 -2
  210. data/lib/graphql/subscriptions/subscription_root.rb +0 -76
  211. data/lib/graphql/tracing/skylight_tracing.rb +0 -70
  212. data/lib/graphql/types/relay/node_field.rb +0 -24
  213. data/lib/graphql/types/relay/nodes_field.rb +0 -43
  214. data/lib/graphql/union_type.rb +0 -115
  215. data/lib/graphql/upgrader/member.rb +0 -937
  216. data/lib/graphql/upgrader/schema.rb +0 -38
@@ -1,266 +0,0 @@
1
- # frozen_string_literal: true
2
- require "graphql/compatibility/query_parser_specification/query_assertions"
3
- require "graphql/compatibility/query_parser_specification/parse_error_specification"
4
-
5
- module GraphQL
6
- module Compatibility
7
- # This asserts that a given parse function turns a string into
8
- # the proper tree of {{GraphQL::Language::Nodes}}.
9
- module QueryParserSpecification
10
- # @yieldparam query_string [String] A query string to parse
11
- # @yieldreturn [GraphQL::Language::Nodes::Document]
12
- # @return [Class<Minitest::Test>] A test suite for this parse function
13
- def self.build_suite(&block)
14
- GraphQL::Deprecation.warn "#{self} will be removed from GraphQL-Ruby 2.0. There is no replacement, please open an issue on GitHub if you need support."
15
-
16
- Class.new(Minitest::Test) do
17
- include QueryAssertions
18
- include ParseErrorSpecification
19
-
20
- @@parse_fn = block
21
-
22
- def parse(query_string)
23
- @@parse_fn.call(query_string)
24
- end
25
-
26
- def test_it_parses_queries
27
- document = parse(QUERY_STRING)
28
- query = document.definitions.first
29
- assert_valid_query(query)
30
- assert_valid_fragment(document.definitions.last)
31
- assert_valid_variable(query.variables.first)
32
- field = query.selections.first
33
- assert_valid_field(field)
34
- assert_valid_variable_argument(field.arguments.first)
35
- assert_valid_literal_argument(field.arguments.last)
36
- assert_valid_directive(field.directives.first)
37
- fragment_spread = query.selections[1].selections.last
38
- assert_valid_fragment_spread(fragment_spread)
39
- assert_valid_typed_inline_fragment(query.selections[2])
40
- assert_valid_typeless_inline_fragment(query.selections[3])
41
- end
42
-
43
- def test_it_parses_unnamed_queries
44
- document = parse("{ name, age, height }")
45
- operation = document.definitions.first
46
- assert_equal 1, document.definitions.length
47
- assert_equal "query", operation.operation_type
48
- assert_equal nil, operation.name
49
- assert_equal 3, operation.selections.length
50
- end
51
-
52
- def test_it_parses_the_introspection_query
53
- parse(GraphQL::Introspection::INTROSPECTION_QUERY)
54
- end
55
-
56
- def test_it_parses_inputs
57
- query_string = %|
58
- {
59
- field(
60
- int: 3,
61
- float: 4.7e-24,
62
- bool: false,
63
- string: "☀︎🏆 \\b \\f \\n \\r \\t \\" \u00b6 \\u00b6 / \\/",
64
- enum: ENUM_NAME,
65
- array: [7, 8, 9]
66
- object: {a: [1,2,3], b: {c: "4"}}
67
- unicode_bom: "\xef\xbb\xbfquery"
68
- keywordEnum: on
69
- nullValue: null
70
- nullValueInObject: {a: null, b: "b"}
71
- nullValueInArray: ["a", null, "b"]
72
- blockString: """
73
- Hello,
74
- World
75
- """
76
- )
77
- }
78
- |
79
- document = parse(query_string)
80
- inputs = document.definitions.first.selections.first.arguments
81
- assert_equal 3, inputs[0].value, "Integers"
82
- assert_equal 0.47e-23, inputs[1].value, "Floats"
83
- assert_equal false, inputs[2].value, "Booleans"
84
- assert_equal %|☀︎🏆 \b \f \n \r \t " ¶ ¶ / /|, inputs[3].value, "Strings"
85
- assert_instance_of GraphQL::Language::Nodes::Enum, inputs[4].value
86
- assert_equal "ENUM_NAME", inputs[4].value.name, "Enums"
87
- assert_equal [7,8,9], inputs[5].value, "Lists"
88
-
89
- obj = inputs[6].value
90
- assert_equal "a", obj.arguments[0].name
91
- assert_equal [1,2,3], obj.arguments[0].value
92
- assert_equal "b", obj.arguments[1].name
93
- assert_equal "c", obj.arguments[1].value.arguments[0].name
94
- assert_equal "4", obj.arguments[1].value.arguments[0].value
95
-
96
- assert_equal %|\xef\xbb\xbfquery|, inputs[7].value, "Unicode BOM"
97
- assert_equal "on", inputs[8].value.name, "Enum value 'on'"
98
-
99
- assert_instance_of GraphQL::Language::Nodes::NullValue, inputs[9].value
100
-
101
- args = inputs[10].value.arguments
102
- assert_instance_of GraphQL::Language::Nodes::NullValue, args.find{ |arg| arg.name == 'a' }.value
103
- assert_equal 'b', args.find{ |arg| arg.name == 'b' }.value
104
-
105
- values = inputs[11].value
106
- assert_equal 'a', values[0]
107
- assert_instance_of GraphQL::Language::Nodes::NullValue, values[1]
108
- assert_equal 'b', values[2]
109
-
110
- block_str_value = inputs[12].value
111
- assert_equal "Hello,\n World", block_str_value
112
- end
113
-
114
- def test_it_doesnt_parse_nonsense_variables
115
- query_string_1 = "query Vars($var1) { cheese(id: $var1) { flavor } }"
116
- query_string_2 = "query Vars2($var1: Int = $var1) { cheese(id: $var1) { flavor } }"
117
-
118
- err_1 = assert_raises(GraphQL::ParseError) do
119
- parse(query_string_1)
120
- end
121
- assert_equal [1,17], [err_1.line, err_1.col]
122
-
123
- err_2 = assert_raises(GraphQL::ParseError) do
124
- parse(query_string_2)
125
- end
126
- assert_equal [1,26], [err_2.line, err_2.col]
127
- end
128
-
129
- def test_enum_value_definitions_have_a_position
130
- document = parse("""
131
- enum Enum {
132
- VALUE
133
- }
134
- """)
135
-
136
- assert_equal [3, 17], document.definitions[0].values[0].position
137
- end
138
-
139
- def test_field_definitions_have_a_position
140
- document = parse("""
141
- type A {
142
- field: String
143
- }
144
- """)
145
-
146
- assert_equal [3, 17], document.definitions[0].fields[0].position
147
- end
148
-
149
- def test_input_value_definitions_have_a_position
150
- document = parse("""
151
- input A {
152
- field: String
153
- }
154
- """)
155
-
156
- assert_equal [3, 17], document.definitions[0].fields[0].position
157
- end
158
-
159
- def test_parses_when_there_are_no_interfaces
160
- schema = "
161
- type A {
162
- a: String
163
- }
164
- "
165
-
166
- document = parse(schema)
167
-
168
- assert_equal [], document.definitions[0].interfaces.map(&:name)
169
- end
170
-
171
- def test_parses_implements_with_leading_ampersand
172
- schema = "
173
- type A implements & B {
174
- a: String
175
- }
176
- "
177
-
178
- document = parse(schema)
179
-
180
- assert_equal ["B"], document.definitions[0].interfaces.map(&:name)
181
- assert_equal [2, 35], document.definitions[0].interfaces[0].position
182
- end
183
-
184
- def test_parses_implements_with_leading_ampersand_and_multiple_interfaces
185
- schema = "
186
- type A implements & B & C {
187
- a: String
188
- }
189
- "
190
-
191
- document = parse(schema)
192
-
193
- assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
194
- assert_equal [2, 35], document.definitions[0].interfaces[0].position
195
- assert_equal [2, 39], document.definitions[0].interfaces[1].position
196
- end
197
-
198
- def test_parses_implements_without_leading_ampersand
199
- schema = "
200
- type A implements B {
201
- a: String
202
- }
203
- "
204
-
205
- document = parse(schema)
206
-
207
- assert_equal ["B"], document.definitions[0].interfaces.map(&:name)
208
- assert_equal [2, 33], document.definitions[0].interfaces[0].position
209
- end
210
-
211
- def test_parses_implements_without_leading_ampersand_and_multiple_interfaces
212
- schema = "
213
- type A implements B & C {
214
- a: String
215
- }
216
- "
217
-
218
- document = parse(schema)
219
-
220
- assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
221
- assert_equal [2, 33], document.definitions[0].interfaces[0].position
222
- assert_equal [2, 37], document.definitions[0].interfaces[1].position
223
- end
224
-
225
- def test_supports_old_syntax_for_parsing_multiple_interfaces
226
- schema = "
227
- type A implements B, C {
228
- a: String
229
- }
230
- "
231
-
232
- document = parse(schema)
233
-
234
- assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
235
- assert_equal [2, 33], document.definitions[0].interfaces[0].position
236
- assert_equal [2, 36], document.definitions[0].interfaces[1].position
237
- end
238
- end
239
- end
240
-
241
- QUERY_STRING = %|
242
- query getStuff($someVar: Int = 1, $anotherVar: [String!] ) @skip(if: false) {
243
- myField: someField(someArg: $someVar, ok: 1.4) @skip(if: $anotherVar) @thing(or: "Whatever")
244
-
245
- anotherField(someArg: [1,2,3]) {
246
- nestedField
247
- ... moreNestedFields @skip(if: true)
248
- }
249
-
250
- ... on OtherType @include(unless: false){
251
- field(arg: [{key: "value", anotherKey: 0.9, anotherAnotherKey: WHATEVER}])
252
- anotherField
253
- }
254
-
255
- ... {
256
- id
257
- }
258
- }
259
-
260
- fragment moreNestedFields on NestedType @or(something: "ok") {
261
- anotherNestedField @enum(directive: true)
262
- }
263
- |
264
- end
265
- end
266
- end