graphql 1.9.17 → 2.0.20
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.
- checksums.yaml +4 -4
- data/lib/generators/graphql/core.rb +21 -10
- data/lib/generators/graphql/enum_generator.rb +4 -10
- data/lib/generators/graphql/field_extractor.rb +31 -0
- data/lib/generators/graphql/input_generator.rb +50 -0
- data/lib/generators/graphql/install/mutation_root_generator.rb +34 -0
- data/lib/generators/graphql/{templates → install/templates}/base_mutation.erb +2 -0
- data/lib/generators/graphql/{templates → install/templates}/mutation_type.erb +2 -0
- data/lib/generators/graphql/install_generator.rb +45 -8
- data/lib/generators/graphql/interface_generator.rb +7 -7
- data/lib/generators/graphql/loader_generator.rb +1 -0
- data/lib/generators/graphql/mutation_create_generator.rb +22 -0
- data/lib/generators/graphql/mutation_delete_generator.rb +22 -0
- data/lib/generators/graphql/mutation_generator.rb +6 -30
- data/lib/generators/graphql/mutation_update_generator.rb +22 -0
- data/lib/generators/graphql/object_generator.rb +28 -12
- data/lib/generators/graphql/orm_mutations_base.rb +40 -0
- data/lib/generators/graphql/relay.rb +49 -0
- data/lib/generators/graphql/relay_generator.rb +21 -0
- data/lib/generators/graphql/scalar_generator.rb +4 -2
- data/lib/generators/graphql/templates/base_argument.erb +2 -0
- data/lib/generators/graphql/templates/base_connection.erb +8 -0
- data/lib/generators/graphql/templates/base_edge.erb +8 -0
- data/lib/generators/graphql/templates/base_enum.erb +2 -0
- data/lib/generators/graphql/templates/base_field.erb +2 -0
- data/lib/generators/graphql/templates/base_input_object.erb +2 -0
- data/lib/generators/graphql/templates/base_interface.erb +2 -0
- data/lib/generators/graphql/templates/base_object.erb +2 -0
- data/lib/generators/graphql/templates/base_scalar.erb +2 -0
- data/lib/generators/graphql/templates/base_union.erb +2 -0
- data/lib/generators/graphql/templates/enum.erb +7 -1
- data/lib/generators/graphql/templates/graphql_controller.erb +16 -12
- data/lib/generators/graphql/templates/input.erb +9 -0
- data/lib/generators/graphql/templates/interface.erb +6 -2
- data/lib/generators/graphql/templates/loader.erb +2 -0
- data/lib/generators/graphql/templates/mutation.erb +3 -1
- data/lib/generators/graphql/templates/mutation_create.erb +20 -0
- data/lib/generators/graphql/templates/mutation_delete.erb +20 -0
- data/lib/generators/graphql/templates/mutation_update.erb +21 -0
- data/lib/generators/graphql/templates/node_type.erb +9 -0
- data/lib/generators/graphql/templates/object.erb +7 -3
- data/lib/generators/graphql/templates/query_type.erb +3 -3
- data/lib/generators/graphql/templates/scalar.erb +5 -1
- data/lib/generators/graphql/templates/schema.erb +25 -27
- data/lib/generators/graphql/templates/union.erb +6 -2
- data/lib/generators/graphql/type_generator.rb +47 -10
- data/lib/generators/graphql/union_generator.rb +5 -5
- data/lib/graphql/analysis/ast/field_usage.rb +31 -2
- data/lib/graphql/analysis/ast/max_query_complexity.rb +0 -1
- data/lib/graphql/analysis/ast/query_complexity.rb +175 -68
- data/lib/graphql/analysis/ast/query_depth.rb +0 -1
- data/lib/graphql/analysis/ast/visitor.rb +54 -38
- data/lib/graphql/analysis/ast.rb +16 -16
- data/lib/graphql/analysis.rb +0 -7
- data/lib/graphql/backtrace/inspect_result.rb +0 -1
- data/lib/graphql/backtrace/table.rb +37 -16
- data/lib/graphql/backtrace/traced_error.rb +0 -1
- data/lib/graphql/backtrace/tracer.rb +39 -9
- data/lib/graphql/backtrace.rb +20 -17
- data/lib/graphql/dataloader/null_dataloader.rb +24 -0
- data/lib/graphql/dataloader/request.rb +19 -0
- data/lib/graphql/dataloader/request_all.rb +19 -0
- data/lib/graphql/dataloader/source.rb +164 -0
- data/lib/graphql/dataloader.rb +311 -0
- data/lib/graphql/date_encoding_error.rb +16 -0
- data/lib/graphql/deprecation.rb +9 -0
- data/lib/graphql/dig.rb +1 -1
- data/lib/graphql/execution/directive_checks.rb +2 -2
- data/lib/graphql/execution/errors.rb +77 -45
- data/lib/graphql/execution/interpreter/argument_value.rb +28 -0
- data/lib/graphql/execution/interpreter/arguments.rb +88 -0
- data/lib/graphql/execution/interpreter/arguments_cache.rb +105 -0
- data/lib/graphql/execution/interpreter/handles_raw_value.rb +18 -0
- data/lib/graphql/execution/interpreter/resolve.rb +62 -24
- data/lib/graphql/execution/interpreter/runtime.rb +773 -399
- data/lib/graphql/execution/interpreter.rb +206 -74
- data/lib/graphql/execution/lazy/lazy_method_map.rb +4 -0
- data/lib/graphql/execution/lazy.rb +11 -21
- data/lib/graphql/execution/lookahead.rb +65 -136
- data/lib/graphql/execution/multiplex.rb +6 -152
- data/lib/graphql/execution.rb +11 -4
- data/lib/graphql/filter.rb +1 -1
- data/lib/graphql/integer_decoding_error.rb +17 -0
- data/lib/graphql/integer_encoding_error.rb +18 -2
- data/lib/graphql/introspection/base_object.rb +2 -5
- data/lib/graphql/introspection/directive_location_enum.rb +2 -2
- data/lib/graphql/introspection/directive_type.rb +12 -6
- data/lib/graphql/introspection/dynamic_fields.rb +3 -8
- data/lib/graphql/introspection/entry_points.rb +5 -18
- data/lib/graphql/introspection/enum_value_type.rb +2 -2
- data/lib/graphql/introspection/field_type.rb +9 -5
- data/lib/graphql/introspection/input_value_type.rb +41 -11
- data/lib/graphql/introspection/introspection_query.rb +6 -92
- data/lib/graphql/introspection/schema_type.rb +12 -12
- data/lib/graphql/introspection/type_type.rb +34 -17
- data/lib/graphql/introspection.rb +100 -0
- data/lib/graphql/invalid_null_error.rb +18 -0
- data/lib/graphql/language/block_string.rb +20 -5
- data/lib/graphql/language/cache.rb +37 -0
- data/lib/graphql/language/definition_slice.rb +21 -10
- data/lib/graphql/language/document_from_schema_definition.rb +113 -71
- data/lib/graphql/language/lexer.rb +216 -1462
- data/lib/graphql/language/nodes.rb +128 -131
- data/lib/graphql/language/parser.rb +957 -912
- data/lib/graphql/language/parser.y +148 -120
- data/lib/graphql/language/printer.rb +48 -23
- data/lib/graphql/language/sanitized_printer.rb +222 -0
- data/lib/graphql/language/token.rb +0 -4
- data/lib/graphql/language/visitor.rb +192 -84
- data/lib/graphql/language.rb +3 -1
- data/lib/graphql/name_validator.rb +2 -7
- data/lib/graphql/pagination/active_record_relation_connection.rb +77 -0
- data/lib/graphql/pagination/array_connection.rb +79 -0
- data/lib/graphql/pagination/connection.rb +253 -0
- data/lib/graphql/pagination/connections.rb +135 -0
- data/lib/graphql/pagination/mongoid_relation_connection.rb +25 -0
- data/lib/graphql/pagination/relation_connection.rb +228 -0
- data/lib/graphql/pagination/sequel_dataset_connection.rb +28 -0
- data/lib/graphql/pagination.rb +6 -0
- data/lib/graphql/parse_error.rb +0 -1
- data/lib/graphql/query/context.rb +204 -203
- data/lib/graphql/query/fingerprint.rb +26 -0
- data/lib/graphql/query/input_validation_result.rb +33 -7
- data/lib/graphql/query/null_context.rb +21 -8
- data/lib/graphql/query/validation_pipeline.rb +16 -38
- data/lib/graphql/query/variable_validation_error.rb +3 -3
- data/lib/graphql/query/variables.rb +39 -12
- data/lib/graphql/query.rb +88 -40
- data/lib/graphql/railtie.rb +6 -102
- data/lib/graphql/rake_task/validate.rb +4 -1
- data/lib/graphql/rake_task.rb +41 -10
- data/lib/graphql/relay/range_add.rb +17 -10
- data/lib/graphql/relay.rb +0 -15
- data/lib/graphql/rubocop/graphql/base_cop.rb +36 -0
- data/lib/graphql/rubocop/graphql/default_null_true.rb +43 -0
- data/lib/graphql/rubocop/graphql/default_required_true.rb +43 -0
- data/lib/graphql/rubocop.rb +4 -0
- data/lib/graphql/schema/addition.rb +245 -0
- data/lib/graphql/schema/argument.rb +284 -33
- data/lib/graphql/schema/base_64_encoder.rb +2 -0
- data/lib/graphql/schema/build_from_definition/resolve_map/default_resolve.rb +1 -1
- data/lib/graphql/schema/build_from_definition/resolve_map.rb +13 -5
- data/lib/graphql/schema/build_from_definition.rb +336 -205
- data/lib/graphql/schema/built_in_types.rb +5 -5
- data/lib/graphql/schema/directive/deprecated.rb +18 -0
- data/lib/graphql/schema/directive/feature.rb +1 -1
- data/lib/graphql/schema/directive/flagged.rb +57 -0
- data/lib/graphql/schema/directive/include.rb +2 -2
- data/lib/graphql/schema/directive/one_of.rb +12 -0
- data/lib/graphql/schema/directive/skip.rb +2 -2
- data/lib/graphql/schema/directive/transform.rb +14 -2
- data/lib/graphql/schema/directive.rb +134 -15
- data/lib/graphql/schema/enum.rb +137 -39
- data/lib/graphql/schema/enum_value.rb +20 -23
- data/lib/graphql/schema/field/connection_extension.rb +50 -20
- data/lib/graphql/schema/field/scope_extension.rb +1 -1
- data/lib/graphql/schema/field.rb +503 -331
- data/lib/graphql/schema/field_extension.rb +89 -2
- data/lib/graphql/schema/find_inherited_value.rb +17 -1
- data/lib/graphql/schema/finder.rb +16 -14
- data/lib/graphql/schema/input_object.rb +182 -60
- data/lib/graphql/schema/interface.rb +24 -49
- data/lib/graphql/schema/introspection_system.rb +103 -37
- data/lib/graphql/schema/late_bound_type.rb +9 -2
- data/lib/graphql/schema/list.rb +61 -3
- data/lib/graphql/schema/loader.rb +144 -96
- data/lib/graphql/schema/member/base_dsl_methods.rb +41 -37
- data/lib/graphql/schema/member/build_type.rb +24 -15
- data/lib/graphql/schema/member/has_arguments.rb +310 -26
- data/lib/graphql/schema/member/has_ast_node.rb +32 -0
- data/lib/graphql/schema/member/has_deprecation_reason.rb +24 -0
- data/lib/graphql/schema/member/has_directives.rb +120 -0
- data/lib/graphql/schema/member/has_fields.rb +112 -34
- data/lib/graphql/schema/member/has_interfaces.rb +129 -0
- data/lib/graphql/schema/member/has_unresolved_type_error.rb +15 -0
- data/lib/graphql/schema/member/has_validators.rb +57 -0
- data/lib/graphql/schema/member/relay_shortcuts.rb +47 -2
- data/lib/graphql/schema/member/type_system_helpers.rb +20 -3
- data/lib/graphql/schema/member/validates_input.rb +33 -0
- data/lib/graphql/schema/member.rb +11 -6
- data/lib/graphql/schema/mutation.rb +4 -9
- data/lib/graphql/schema/non_null.rb +34 -4
- data/lib/graphql/schema/object.rb +36 -60
- data/lib/graphql/schema/printer.rb +16 -35
- data/lib/graphql/schema/relay_classic_mutation.rb +91 -44
- data/lib/graphql/schema/resolver/has_payload_type.rb +51 -11
- data/lib/graphql/schema/resolver.rb +147 -94
- data/lib/graphql/schema/scalar.rb +40 -15
- data/lib/graphql/schema/subscription.rb +60 -31
- data/lib/graphql/schema/timeout.rb +45 -35
- data/lib/graphql/schema/type_expression.rb +21 -13
- data/lib/graphql/schema/type_membership.rb +23 -6
- data/lib/graphql/schema/union.rb +49 -15
- data/lib/graphql/schema/unique_within_type.rb +1 -2
- data/lib/graphql/schema/validator/allow_blank_validator.rb +29 -0
- data/lib/graphql/schema/validator/allow_null_validator.rb +26 -0
- data/lib/graphql/schema/validator/exclusion_validator.rb +33 -0
- data/lib/graphql/schema/validator/format_validator.rb +48 -0
- data/lib/graphql/schema/validator/inclusion_validator.rb +35 -0
- data/lib/graphql/schema/validator/length_validator.rb +59 -0
- data/lib/graphql/schema/validator/numericality_validator.rb +82 -0
- data/lib/graphql/schema/validator/required_validator.rb +82 -0
- data/lib/graphql/schema/validator.rb +171 -0
- data/lib/graphql/schema/warden.rb +211 -35
- data/lib/graphql/schema/wrapper.rb +0 -5
- data/lib/graphql/schema.rb +833 -889
- data/lib/graphql/static_validation/all_rules.rb +3 -0
- data/lib/graphql/static_validation/base_visitor.rb +21 -31
- data/lib/graphql/static_validation/definition_dependencies.rb +7 -2
- data/lib/graphql/static_validation/error.rb +3 -1
- data/lib/graphql/static_validation/literal_validator.rb +69 -26
- data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +45 -83
- data/lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb +22 -6
- data/lib/graphql/static_validation/rules/arguments_are_defined.rb +35 -26
- data/lib/graphql/static_validation/rules/arguments_are_defined_error.rb +4 -2
- data/lib/graphql/static_validation/rules/directives_are_defined.rb +12 -6
- data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +14 -14
- data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
- data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +5 -5
- data/lib/graphql/static_validation/rules/fields_will_merge.rb +94 -51
- data/lib/graphql/static_validation/rules/fields_will_merge_error.rb +25 -4
- data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +3 -3
- data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
- data/lib/graphql/static_validation/rules/input_object_names_are_unique.rb +30 -0
- data/lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb +30 -0
- data/lib/graphql/static_validation/rules/one_of_input_objects_are_valid.rb +66 -0
- data/lib/graphql/static_validation/rules/one_of_input_objects_are_valid_error.rb +29 -0
- data/lib/graphql/static_validation/rules/query_root_exists.rb +17 -0
- data/lib/graphql/static_validation/rules/query_root_exists_error.rb +26 -0
- data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +4 -2
- data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +9 -10
- data/lib/graphql/static_validation/rules/unique_directives_per_location.rb +13 -7
- data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +12 -13
- data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +19 -14
- data/lib/graphql/static_validation/rules/variables_are_input_types.rb +1 -1
- data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +5 -3
- data/lib/graphql/static_validation/type_stack.rb +2 -2
- data/lib/graphql/static_validation/validation_context.rb +13 -3
- data/lib/graphql/static_validation/validation_timeout_error.rb +25 -0
- data/lib/graphql/static_validation/validator.rb +32 -20
- data/lib/graphql/static_validation.rb +1 -2
- data/lib/graphql/string_encoding_error.rb +13 -3
- data/lib/graphql/subscriptions/action_cable_subscriptions.rb +129 -22
- data/lib/graphql/subscriptions/broadcast_analyzer.rb +81 -0
- data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +58 -0
- data/lib/graphql/subscriptions/event.rb +84 -35
- data/lib/graphql/subscriptions/instrumentation.rb +0 -47
- data/lib/graphql/subscriptions/serialize.rb +53 -6
- data/lib/graphql/subscriptions.rb +137 -57
- data/lib/graphql/tracing/active_support_notifications_trace.rb +16 -0
- data/lib/graphql/tracing/active_support_notifications_tracing.rb +8 -17
- data/lib/graphql/tracing/appoptics_trace.rb +231 -0
- data/lib/graphql/tracing/appoptics_tracing.rb +173 -0
- data/lib/graphql/tracing/appsignal_trace.rb +71 -0
- data/lib/graphql/tracing/appsignal_tracing.rb +23 -0
- data/lib/graphql/tracing/data_dog_trace.rb +148 -0
- data/lib/graphql/tracing/data_dog_tracing.rb +34 -2
- data/lib/graphql/tracing/new_relic_trace.rb +75 -0
- data/lib/graphql/tracing/new_relic_tracing.rb +9 -12
- data/lib/graphql/tracing/notifications_trace.rb +41 -0
- data/lib/graphql/tracing/notifications_tracing.rb +59 -0
- data/lib/graphql/tracing/platform_trace.rb +107 -0
- data/lib/graphql/tracing/platform_tracing.rb +76 -35
- data/lib/graphql/tracing/prometheus_trace.rb +89 -0
- data/lib/graphql/tracing/prometheus_tracing/graphql_collector.rb +4 -1
- data/lib/graphql/tracing/prometheus_tracing.rb +11 -3
- data/lib/graphql/tracing/scout_trace.rb +72 -0
- data/lib/graphql/tracing/scout_tracing.rb +19 -0
- data/lib/graphql/tracing/statsd_trace.rb +56 -0
- data/lib/graphql/tracing/statsd_tracing.rb +42 -0
- data/lib/graphql/tracing.rb +143 -67
- data/lib/graphql/type_kinds.rb +6 -3
- data/lib/graphql/types/big_int.rb +5 -1
- data/lib/graphql/types/int.rb +10 -3
- data/lib/graphql/types/iso_8601_date.rb +20 -9
- data/lib/graphql/types/iso_8601_date_time.rb +36 -10
- data/lib/graphql/types/relay/base_connection.rb +18 -90
- data/lib/graphql/types/relay/base_edge.rb +2 -34
- data/lib/graphql/types/relay/connection_behaviors.rb +176 -0
- data/lib/graphql/types/relay/edge_behaviors.rb +75 -0
- data/lib/graphql/types/relay/has_node_field.rb +41 -0
- data/lib/graphql/types/relay/has_nodes_field.rb +41 -0
- data/lib/graphql/types/relay/node.rb +2 -4
- data/lib/graphql/types/relay/node_behaviors.rb +25 -0
- data/lib/graphql/types/relay/page_info.rb +2 -14
- data/lib/graphql/types/relay/page_info_behaviors.rb +30 -0
- data/lib/graphql/types/relay.rb +10 -5
- data/lib/graphql/types/string.rb +8 -2
- data/lib/graphql/unauthorized_error.rb +2 -2
- data/lib/graphql/unresolved_type_error.rb +2 -2
- data/lib/graphql/version.rb +1 -1
- data/lib/graphql.rb +60 -66
- data/readme.md +3 -6
- metadata +124 -236
- data/lib/graphql/analysis/analyze_query.rb +0 -91
- data/lib/graphql/analysis/field_usage.rb +0 -45
- data/lib/graphql/analysis/max_query_complexity.rb +0 -26
- data/lib/graphql/analysis/max_query_depth.rb +0 -26
- data/lib/graphql/analysis/query_complexity.rb +0 -88
- data/lib/graphql/analysis/query_depth.rb +0 -43
- data/lib/graphql/analysis/reducer_state.rb +0 -48
- data/lib/graphql/argument.rb +0 -159
- data/lib/graphql/authorization.rb +0 -82
- data/lib/graphql/backwards_compatibility.rb +0 -60
- data/lib/graphql/base_type.rb +0 -226
- data/lib/graphql/boolean_type.rb +0 -2
- data/lib/graphql/compatibility/execution_specification/counter_schema.rb +0 -53
- data/lib/graphql/compatibility/execution_specification/specification_schema.rb +0 -200
- data/lib/graphql/compatibility/execution_specification.rb +0 -435
- data/lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb +0 -111
- data/lib/graphql/compatibility/lazy_execution_specification.rb +0 -213
- data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -91
- data/lib/graphql/compatibility/query_parser_specification/query_assertions.rb +0 -79
- data/lib/graphql/compatibility/query_parser_specification.rb +0 -264
- data/lib/graphql/compatibility/schema_parser_specification.rb +0 -680
- data/lib/graphql/compatibility.rb +0 -5
- data/lib/graphql/define/assign_argument.rb +0 -12
- data/lib/graphql/define/assign_connection.rb +0 -13
- data/lib/graphql/define/assign_enum_value.rb +0 -18
- data/lib/graphql/define/assign_global_id_field.rb +0 -11
- data/lib/graphql/define/assign_mutation_function.rb +0 -34
- data/lib/graphql/define/assign_object_field.rb +0 -42
- data/lib/graphql/define/defined_object_proxy.rb +0 -50
- data/lib/graphql/define/instance_definable.rb +0 -300
- data/lib/graphql/define/no_definition_error.rb +0 -7
- data/lib/graphql/define/non_null_with_bang.rb +0 -16
- data/lib/graphql/define/type_definer.rb +0 -31
- data/lib/graphql/define.rb +0 -31
- data/lib/graphql/deprecated_dsl.rb +0 -42
- data/lib/graphql/directive/deprecated_directive.rb +0 -13
- data/lib/graphql/directive/include_directive.rb +0 -2
- data/lib/graphql/directive/skip_directive.rb +0 -2
- data/lib/graphql/directive.rb +0 -104
- data/lib/graphql/enum_type.rb +0 -193
- data/lib/graphql/execution/execute.rb +0 -326
- data/lib/graphql/execution/flatten.rb +0 -40
- data/lib/graphql/execution/instrumentation.rb +0 -92
- data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
- data/lib/graphql/execution/lazy/resolve.rb +0 -91
- data/lib/graphql/execution/typecast.rb +0 -50
- data/lib/graphql/field/resolve.rb +0 -59
- data/lib/graphql/field.rb +0 -330
- data/lib/graphql/float_type.rb +0 -2
- data/lib/graphql/function.rb +0 -153
- data/lib/graphql/id_type.rb +0 -2
- data/lib/graphql/input_object_type.rb +0 -154
- data/lib/graphql/int_type.rb +0 -2
- data/lib/graphql/interface_type.rb +0 -86
- data/lib/graphql/internal_representation/document.rb +0 -27
- data/lib/graphql/internal_representation/node.rb +0 -206
- data/lib/graphql/internal_representation/print.rb +0 -51
- data/lib/graphql/internal_representation/rewrite.rb +0 -184
- data/lib/graphql/internal_representation/scope.rb +0 -88
- data/lib/graphql/internal_representation/visit.rb +0 -36
- data/lib/graphql/internal_representation.rb +0 -7
- data/lib/graphql/language/lexer.rl +0 -258
- data/lib/graphql/list_type.rb +0 -80
- data/lib/graphql/literal_validation_error.rb +0 -6
- data/lib/graphql/non_null_type.rb +0 -81
- data/lib/graphql/object_type.rb +0 -141
- data/lib/graphql/query/arguments.rb +0 -187
- data/lib/graphql/query/arguments_cache.rb +0 -25
- data/lib/graphql/query/executor.rb +0 -53
- data/lib/graphql/query/literal_input.rb +0 -116
- data/lib/graphql/query/serial_execution/field_resolution.rb +0 -92
- data/lib/graphql/query/serial_execution/operation_resolution.rb +0 -19
- data/lib/graphql/query/serial_execution/selection_resolution.rb +0 -23
- data/lib/graphql/query/serial_execution/value_resolution.rb +0 -87
- data/lib/graphql/query/serial_execution.rb +0 -39
- data/lib/graphql/relay/array_connection.rb +0 -85
- data/lib/graphql/relay/base_connection.rb +0 -172
- data/lib/graphql/relay/connection_instrumentation.rb +0 -54
- data/lib/graphql/relay/connection_resolve.rb +0 -43
- data/lib/graphql/relay/connection_type.rb +0 -40
- data/lib/graphql/relay/edge.rb +0 -27
- data/lib/graphql/relay/edge_type.rb +0 -18
- data/lib/graphql/relay/edges_instrumentation.rb +0 -40
- data/lib/graphql/relay/global_id_resolve.rb +0 -18
- data/lib/graphql/relay/mongo_relation_connection.rb +0 -50
- data/lib/graphql/relay/mutation/instrumentation.rb +0 -23
- data/lib/graphql/relay/mutation/resolve.rb +0 -56
- data/lib/graphql/relay/mutation/result.rb +0 -38
- data/lib/graphql/relay/mutation.rb +0 -190
- data/lib/graphql/relay/node.rb +0 -36
- data/lib/graphql/relay/page_info.rb +0 -7
- data/lib/graphql/relay/relation_connection.rb +0 -190
- data/lib/graphql/relay/type_extensions.rb +0 -30
- data/lib/graphql/scalar_type.rb +0 -133
- data/lib/graphql/schema/catchall_middleware.rb +0 -35
- data/lib/graphql/schema/default_parse_error.rb +0 -10
- data/lib/graphql/schema/default_type_error.rb +0 -15
- data/lib/graphql/schema/member/accepts_definition.rb +0 -152
- data/lib/graphql/schema/member/cached_graphql_definition.rb +0 -26
- data/lib/graphql/schema/member/instrumentation.rb +0 -132
- data/lib/graphql/schema/middleware_chain.rb +0 -82
- data/lib/graphql/schema/possible_types.rb +0 -39
- data/lib/graphql/schema/rescue_middleware.rb +0 -60
- data/lib/graphql/schema/timeout_middleware.rb +0 -86
- data/lib/graphql/schema/traversal.rb +0 -228
- data/lib/graphql/schema/validation.rb +0 -303
- data/lib/graphql/static_validation/default_visitor.rb +0 -15
- data/lib/graphql/static_validation/no_validate_visitor.rb +0 -10
- data/lib/graphql/string_type.rb +0 -2
- data/lib/graphql/subscriptions/subscription_root.rb +0 -66
- data/lib/graphql/tracing/skylight_tracing.rb +0 -62
- data/lib/graphql/types/relay/base_field.rb +0 -22
- data/lib/graphql/types/relay/base_interface.rb +0 -29
- data/lib/graphql/types/relay/base_object.rb +0 -26
- data/lib/graphql/types/relay/node_field.rb +0 -43
- data/lib/graphql/types/relay/nodes_field.rb +0 -45
- data/lib/graphql/union_type.rb +0 -128
- data/lib/graphql/upgrader/member.rb +0 -936
- data/lib/graphql/upgrader/schema.rb +0 -37
@@ -2,6 +2,7 @@
|
|
2
2
|
module GraphQL
|
3
3
|
module Language
|
4
4
|
module Nodes
|
5
|
+
NONE = [].freeze
|
5
6
|
# {AbstractNode} is the base class for all nodes in a GraphQL AST.
|
6
7
|
#
|
7
8
|
# It provides some APIs for working with ASTs:
|
@@ -9,6 +10,7 @@ module GraphQL
|
|
9
10
|
# - `scalars` returns all scalar (Ruby) values attached to this one. Used for comparing nodes.
|
10
11
|
# - `to_query_string` turns an AST node into a GraphQL string
|
11
12
|
class AbstractNode
|
13
|
+
|
12
14
|
module DefinitionNode
|
13
15
|
# This AST node's {#line} returns the first line, which may be the description.
|
14
16
|
# @return [Integer] The first line of the definition (not the description)
|
@@ -25,25 +27,28 @@ module GraphQL
|
|
25
27
|
# Initialize a node by extracting its position,
|
26
28
|
# then calling the class's `initialize_node` method.
|
27
29
|
# @param options [Hash] Initial attributes for this node
|
28
|
-
def initialize(options={})
|
30
|
+
def initialize(options = {})
|
29
31
|
if options.key?(:position_source)
|
30
32
|
position_source = options.delete(:position_source)
|
31
|
-
@line = position_source
|
32
|
-
@col = position_source
|
33
|
+
@line = position_source[1]
|
34
|
+
@col = position_source[2]
|
35
|
+
else
|
36
|
+
@line = options.delete(:line)
|
37
|
+
@col = options.delete(:col)
|
33
38
|
end
|
34
39
|
|
35
40
|
@filename = options.delete(:filename)
|
36
41
|
|
37
|
-
initialize_node(options)
|
42
|
+
initialize_node(**options)
|
38
43
|
end
|
39
44
|
|
40
45
|
# Value equality
|
41
46
|
# @return [Boolean] True if `self` is equivalent to `other`
|
42
|
-
def
|
47
|
+
def ==(other)
|
43
48
|
return true if equal?(other)
|
44
|
-
other.
|
45
|
-
other.scalars
|
46
|
-
other.children
|
49
|
+
other.kind_of?(self.class) &&
|
50
|
+
other.scalars == self.scalars &&
|
51
|
+
other.children == self.children
|
47
52
|
end
|
48
53
|
|
49
54
|
NO_CHILDREN = [].freeze
|
@@ -65,9 +70,8 @@ module GraphQL
|
|
65
70
|
@query_string = nil
|
66
71
|
end
|
67
72
|
|
68
|
-
|
69
|
-
|
70
|
-
raise GraphQL::RequiredImplementationMissingError, "#{self.class.name}#visit_method shold return a symbol"
|
73
|
+
def children_method_name
|
74
|
+
self.class.children_method_name
|
71
75
|
end
|
72
76
|
|
73
77
|
def position
|
@@ -142,17 +146,26 @@ module GraphQL
|
|
142
146
|
.gsub(/([a-z])([A-Z])/,'\1_\2') # insert underscores
|
143
147
|
.downcase # remove caps
|
144
148
|
|
145
|
-
child_class.module_eval <<-RUBY
|
149
|
+
child_class.module_eval <<-RUBY, __FILE__, __LINE__
|
146
150
|
def visit_method
|
147
151
|
:on_#{name_underscored}
|
148
152
|
end
|
149
153
|
|
150
|
-
|
151
|
-
|
154
|
+
class << self
|
155
|
+
attr_accessor :children_method_name
|
156
|
+
|
157
|
+
def visit_method
|
158
|
+
:on_#{name_underscored}
|
159
|
+
end
|
152
160
|
end
|
161
|
+
self.children_method_name = :#{name_underscored}s
|
153
162
|
RUBY
|
154
163
|
end
|
155
164
|
|
165
|
+
def children_of_type
|
166
|
+
@children_methods
|
167
|
+
end
|
168
|
+
|
156
169
|
private
|
157
170
|
|
158
171
|
# Name accessors which return lists of nodes,
|
@@ -161,7 +174,7 @@ module GraphQL
|
|
161
174
|
# - Add a persistent update method to add a child
|
162
175
|
# - Generate a `#children` method
|
163
176
|
def children_methods(children_of_type)
|
164
|
-
if @children_methods
|
177
|
+
if defined?(@children_methods)
|
165
178
|
raise "Can't re-call .children_methods for #{self} (already have: #{@children_methods})"
|
166
179
|
else
|
167
180
|
@children_methods = children_of_type
|
@@ -197,14 +210,27 @@ module GraphQL
|
|
197
210
|
else
|
198
211
|
module_eval <<-RUBY, __FILE__, __LINE__
|
199
212
|
def children
|
200
|
-
@children ||=
|
213
|
+
@children ||= begin
|
214
|
+
if #{children_of_type.keys.map { |k| "@#{k}.any?" }.join(" || ")}
|
215
|
+
new_children = []
|
216
|
+
#{children_of_type.keys.map { |k| "new_children.concat(@#{k})" }.join("; ")}
|
217
|
+
new_children.freeze
|
218
|
+
new_children
|
219
|
+
else
|
220
|
+
NO_CHILDREN
|
221
|
+
end
|
222
|
+
end
|
201
223
|
end
|
202
224
|
RUBY
|
203
225
|
end
|
204
226
|
end
|
205
227
|
|
206
228
|
if defined?(@scalar_methods)
|
207
|
-
|
229
|
+
if !method_defined?(:initialize_node)
|
230
|
+
generate_initialize_node
|
231
|
+
else
|
232
|
+
# This method was defined manually
|
233
|
+
end
|
208
234
|
else
|
209
235
|
raise "Can't generate_initialize_node because scalar_methods wasn't called; call it before children_methods"
|
210
236
|
end
|
@@ -214,7 +240,7 @@ module GraphQL
|
|
214
240
|
# - Add reader methods
|
215
241
|
# - Add a `#scalars` method
|
216
242
|
def scalar_methods(*method_names)
|
217
|
-
if @scalar_methods
|
243
|
+
if defined?(@scalar_methods)
|
218
244
|
raise "Can't re-call .scalar_methods for #{self} (already have: #{@scalar_methods})"
|
219
245
|
else
|
220
246
|
@scalar_methods = method_names
|
@@ -251,15 +277,22 @@ module GraphQL
|
|
251
277
|
return
|
252
278
|
else
|
253
279
|
arguments = scalar_method_names.map { |m| "#{m}: nil"} +
|
254
|
-
@children_methods.keys.map { |m| "#{m}:
|
280
|
+
@children_methods.keys.map { |m| "#{m}: NO_CHILDREN" }
|
255
281
|
|
256
282
|
assignments = scalar_method_names.map { |m| "@#{m} = #{m}"} +
|
257
283
|
@children_methods.keys.map { |m| "@#{m} = #{m}.freeze" }
|
258
284
|
|
285
|
+
keywords = scalar_method_names.map { |m| "#{m}: #{m}"} +
|
286
|
+
@children_methods.keys.map { |m| "#{m}: #{m}" }
|
287
|
+
|
259
288
|
module_eval <<-RUBY, __FILE__, __LINE__
|
260
289
|
def initialize_node #{arguments.join(", ")}
|
261
290
|
#{assignments.join("\n")}
|
262
291
|
end
|
292
|
+
|
293
|
+
def self.from_a(filename, line, col, #{(scalar_method_names + @children_methods.keys).join(", ")})
|
294
|
+
self.new(filename: filename, line: line, col: col, #{keywords.join(", ")})
|
295
|
+
end
|
263
296
|
RUBY
|
264
297
|
end
|
265
298
|
end
|
@@ -287,7 +320,7 @@ module GraphQL
|
|
287
320
|
# @return [String] the key for this argument
|
288
321
|
|
289
322
|
# @!attribute value
|
290
|
-
# @return [String, Float, Integer, Boolean, Array, InputObject] The value passed for this key
|
323
|
+
# @return [String, Float, Integer, Boolean, Array, InputObject, VariableIdentifier] The value passed for this key
|
291
324
|
|
292
325
|
def children
|
293
326
|
@children ||= Array(value).flatten.select { |v| v.is_a?(AbstractNode) }
|
@@ -305,42 +338,13 @@ module GraphQL
|
|
305
338
|
class DirectiveDefinition < AbstractNode
|
306
339
|
include DefinitionNode
|
307
340
|
attr_reader :description
|
308
|
-
scalar_methods :name
|
341
|
+
scalar_methods :name, :repeatable
|
309
342
|
children_methods(
|
310
|
-
locations: Nodes::DirectiveLocation,
|
311
343
|
arguments: Nodes::Argument,
|
344
|
+
locations: Nodes::DirectiveLocation,
|
312
345
|
)
|
313
346
|
end
|
314
347
|
|
315
|
-
# This is the AST root for normal queries
|
316
|
-
#
|
317
|
-
# @example Deriving a document by parsing a string
|
318
|
-
# document = GraphQL.parse(query_string)
|
319
|
-
#
|
320
|
-
# @example Creating a string from a document
|
321
|
-
# document.to_query_string
|
322
|
-
# # { ... }
|
323
|
-
#
|
324
|
-
# @example Creating a custom string from a document
|
325
|
-
# class VariableScrubber < GraphQL::Language::Printer
|
326
|
-
# def print_argument(arg)
|
327
|
-
# "#{arg.name}: <HIDDEN>"
|
328
|
-
# end
|
329
|
-
# end
|
330
|
-
#
|
331
|
-
# document.to_query_string(printer: VariableSrubber.new)
|
332
|
-
#
|
333
|
-
class Document < AbstractNode
|
334
|
-
scalar_methods false
|
335
|
-
children_methods(definitions: nil)
|
336
|
-
# @!attribute definitions
|
337
|
-
# @return [Array<OperationDefinition, FragmentDefinition>] top-level GraphQL units: operations or fragments
|
338
|
-
|
339
|
-
def slice_definition(name)
|
340
|
-
GraphQL::Language::DefinitionSlice.slice(self, name)
|
341
|
-
end
|
342
|
-
end
|
343
|
-
|
344
348
|
# An enum value. The string is available as {#name}.
|
345
349
|
class Enum < NameOnlyNode
|
346
350
|
end
|
@@ -351,8 +355,6 @@ module GraphQL
|
|
351
355
|
|
352
356
|
# A single selection in a GraphQL query.
|
353
357
|
class Field < AbstractNode
|
354
|
-
NONE = [].freeze
|
355
|
-
|
356
358
|
scalar_methods :name, :alias
|
357
359
|
children_methods({
|
358
360
|
arguments: GraphQL::Language::Nodes::Argument,
|
@@ -372,20 +374,16 @@ module GraphQL
|
|
372
374
|
@alias = attributes[:alias]
|
373
375
|
end
|
374
376
|
|
375
|
-
|
376
|
-
|
377
|
-
:selections
|
377
|
+
def self.from_a(filename, line, col, graphql_alias, name, arguments, directives, selections) # rubocop:disable Metrics/ParameterLists
|
378
|
+
self.new(filename: filename, line: line, col: col, alias: graphql_alias, name: name, arguments: arguments, directives: directives, selections: selections)
|
378
379
|
end
|
380
|
+
|
381
|
+
# Override this because default is `:fields`
|
382
|
+
self.children_method_name = :selections
|
379
383
|
end
|
380
384
|
|
381
385
|
# A reusable fragment, defined at document-level.
|
382
386
|
class FragmentDefinition < AbstractNode
|
383
|
-
scalar_methods :name, :type
|
384
|
-
children_methods({
|
385
|
-
selections: GraphQL::Language::Nodes::Field,
|
386
|
-
directives: GraphQL::Language::Nodes::Directive,
|
387
|
-
})
|
388
|
-
|
389
387
|
# @!attribute name
|
390
388
|
# @return [String] the identifier for this fragment, which may be applied with `...#{name}`
|
391
389
|
|
@@ -398,9 +396,17 @@ module GraphQL
|
|
398
396
|
@selections = selections
|
399
397
|
end
|
400
398
|
|
401
|
-
def
|
402
|
-
:
|
399
|
+
def self.from_a(filename, line, col, name, type, directives, selections)
|
400
|
+
self.new(filename: filename, line: line, col: col, name: name, type: type, directives: directives, selections: selections)
|
403
401
|
end
|
402
|
+
|
403
|
+
scalar_methods :name, :type
|
404
|
+
children_methods({
|
405
|
+
selections: GraphQL::Language::Nodes::Field,
|
406
|
+
directives: GraphQL::Language::Nodes::Directive,
|
407
|
+
})
|
408
|
+
|
409
|
+
self.children_method_name = :definitions
|
404
410
|
end
|
405
411
|
|
406
412
|
# Application of a named fragment in a selection
|
@@ -408,9 +414,7 @@ module GraphQL
|
|
408
414
|
scalar_methods :name
|
409
415
|
children_methods(directives: GraphQL::Language::Nodes::Directive)
|
410
416
|
|
411
|
-
|
412
|
-
:selections
|
413
|
-
end
|
417
|
+
self.children_method_name = :selections
|
414
418
|
|
415
419
|
# @!attribute name
|
416
420
|
# @return [String] The identifier of the fragment to apply, corresponds with {FragmentDefinition#name}
|
@@ -420,13 +424,11 @@ module GraphQL
|
|
420
424
|
class InlineFragment < AbstractNode
|
421
425
|
scalar_methods :type
|
422
426
|
children_methods({
|
423
|
-
selections: GraphQL::Language::Nodes::Field,
|
424
427
|
directives: GraphQL::Language::Nodes::Directive,
|
428
|
+
selections: GraphQL::Language::Nodes::Field,
|
425
429
|
})
|
426
430
|
|
427
|
-
|
428
|
-
:selections
|
429
|
-
end
|
431
|
+
self.children_method_name = :selections
|
430
432
|
|
431
433
|
# @!attribute type
|
432
434
|
# @return [String, nil] Name of the type this fragment applies to, or `nil` if this fragment applies to any type
|
@@ -449,9 +451,7 @@ module GraphQL
|
|
449
451
|
end
|
450
452
|
end
|
451
453
|
|
452
|
-
|
453
|
-
:value
|
454
|
-
end
|
454
|
+
self.children_method_name = :value
|
455
455
|
|
456
456
|
private
|
457
457
|
|
@@ -473,7 +473,6 @@ module GraphQL
|
|
473
473
|
end
|
474
474
|
end
|
475
475
|
|
476
|
-
|
477
476
|
# A list type definition, denoted with `[...]` (used for variable type definitions)
|
478
477
|
class ListType < WrapperType
|
479
478
|
end
|
@@ -494,6 +493,8 @@ module GraphQL
|
|
494
493
|
|
495
494
|
# @!attribute name
|
496
495
|
# @return [String] The identifier for this variable, _without_ `$`
|
496
|
+
|
497
|
+
self.children_method_name = :variables
|
497
498
|
end
|
498
499
|
|
499
500
|
# A query, mutation or subscription.
|
@@ -503,12 +504,12 @@ module GraphQL
|
|
503
504
|
scalar_methods :operation_type, :name
|
504
505
|
children_methods({
|
505
506
|
variables: GraphQL::Language::Nodes::VariableDefinition,
|
506
|
-
selections: GraphQL::Language::Nodes::Field,
|
507
507
|
directives: GraphQL::Language::Nodes::Directive,
|
508
|
+
selections: GraphQL::Language::Nodes::Field,
|
508
509
|
})
|
509
510
|
|
510
511
|
# @!attribute variables
|
511
|
-
# @return [Array<VariableDefinition>] Variable definitions for this operation
|
512
|
+
# @return [Array<VariableDefinition>] Variable $definitions for this operation
|
512
513
|
|
513
514
|
# @!attribute selections
|
514
515
|
# @return [Array<Field>] Root-level fields on this operation
|
@@ -519,8 +520,35 @@ module GraphQL
|
|
519
520
|
# @!attribute name
|
520
521
|
# @return [String, nil] The name for this operation, or `nil` if unnamed
|
521
522
|
|
522
|
-
|
523
|
-
|
523
|
+
self.children_method_name = :definitions
|
524
|
+
end
|
525
|
+
|
526
|
+
# This is the AST root for normal queries
|
527
|
+
#
|
528
|
+
# @example Deriving a document by parsing a string
|
529
|
+
# document = GraphQL.parse(query_string)
|
530
|
+
#
|
531
|
+
# @example Creating a string from a document
|
532
|
+
# document.to_query_string
|
533
|
+
# # { ... }
|
534
|
+
#
|
535
|
+
# @example Creating a custom string from a document
|
536
|
+
# class VariableScrubber < GraphQL::Language::Printer
|
537
|
+
# def print_argument(arg)
|
538
|
+
# "#{arg.name}: <HIDDEN>"
|
539
|
+
# end
|
540
|
+
# end
|
541
|
+
#
|
542
|
+
# document.to_query_string(printer: VariableScrubber.new)
|
543
|
+
#
|
544
|
+
class Document < AbstractNode
|
545
|
+
scalar_methods false
|
546
|
+
children_methods(definitions: nil)
|
547
|
+
# @!attribute definitions
|
548
|
+
# @return [Array<OperationDefinition, FragmentDefinition>] top-level GraphQL units: operations or fragments
|
549
|
+
|
550
|
+
def slice_definition(name)
|
551
|
+
GraphQL::Language::DefinitionSlice.slice(self, name)
|
524
552
|
end
|
525
553
|
end
|
526
554
|
|
@@ -530,6 +558,7 @@ module GraphQL
|
|
530
558
|
|
531
559
|
# Usage of a variable in a query. Name does _not_ include `$`.
|
532
560
|
class VariableIdentifier < NameOnlyNode
|
561
|
+
self.children_method_name = :value
|
533
562
|
end
|
534
563
|
|
535
564
|
class SchemaDefinition < AbstractNode
|
@@ -538,9 +567,7 @@ module GraphQL
|
|
538
567
|
children_methods({
|
539
568
|
directives: GraphQL::Language::Nodes::Directive,
|
540
569
|
})
|
541
|
-
|
542
|
-
:definitions
|
543
|
-
end
|
570
|
+
self.children_method_name = :definitions
|
544
571
|
end
|
545
572
|
|
546
573
|
class SchemaExtension < AbstractNode
|
@@ -548,9 +575,7 @@ module GraphQL
|
|
548
575
|
children_methods({
|
549
576
|
directives: GraphQL::Language::Nodes::Directive,
|
550
577
|
})
|
551
|
-
|
552
|
-
:definitions
|
553
|
-
end
|
578
|
+
self.children_method_name = :definitions
|
554
579
|
end
|
555
580
|
|
556
581
|
class ScalarTypeDefinition < AbstractNode
|
@@ -560,9 +585,7 @@ module GraphQL
|
|
560
585
|
children_methods({
|
561
586
|
directives: GraphQL::Language::Nodes::Directive,
|
562
587
|
})
|
563
|
-
|
564
|
-
:definitions
|
565
|
-
end
|
588
|
+
self.children_method_name = :definitions
|
566
589
|
end
|
567
590
|
|
568
591
|
class ScalarTypeExtension < AbstractNode
|
@@ -570,9 +593,7 @@ module GraphQL
|
|
570
593
|
children_methods({
|
571
594
|
directives: GraphQL::Language::Nodes::Directive,
|
572
595
|
})
|
573
|
-
|
574
|
-
:definitions
|
575
|
-
end
|
596
|
+
self.children_method_name = :definitions
|
576
597
|
end
|
577
598
|
|
578
599
|
class InputValueDefinition < AbstractNode
|
@@ -582,9 +603,7 @@ module GraphQL
|
|
582
603
|
children_methods({
|
583
604
|
directives: GraphQL::Language::Nodes::Directive,
|
584
605
|
})
|
585
|
-
|
586
|
-
:fields
|
587
|
-
end
|
606
|
+
self.children_method_name = :fields
|
588
607
|
end
|
589
608
|
|
590
609
|
class FieldDefinition < AbstractNode
|
@@ -592,12 +611,10 @@ module GraphQL
|
|
592
611
|
attr_reader :description
|
593
612
|
scalar_methods :name, :type
|
594
613
|
children_methods({
|
595
|
-
directives: GraphQL::Language::Nodes::Directive,
|
596
614
|
arguments: GraphQL::Language::Nodes::InputValueDefinition,
|
615
|
+
directives: GraphQL::Language::Nodes::Directive,
|
597
616
|
})
|
598
|
-
|
599
|
-
:fields
|
600
|
-
end
|
617
|
+
self.children_method_name = :fields
|
601
618
|
|
602
619
|
# this is so that `children_method_name` of `InputValueDefinition` works properly
|
603
620
|
# with `#replace_child`
|
@@ -618,9 +635,7 @@ module GraphQL
|
|
618
635
|
directives: GraphQL::Language::Nodes::Directive,
|
619
636
|
fields: GraphQL::Language::Nodes::FieldDefinition,
|
620
637
|
})
|
621
|
-
|
622
|
-
:definitions
|
623
|
-
end
|
638
|
+
self.children_method_name = :definitions
|
624
639
|
end
|
625
640
|
|
626
641
|
class ObjectTypeExtension < AbstractNode
|
@@ -629,9 +644,7 @@ module GraphQL
|
|
629
644
|
directives: GraphQL::Language::Nodes::Directive,
|
630
645
|
fields: GraphQL::Language::Nodes::FieldDefinition,
|
631
646
|
})
|
632
|
-
|
633
|
-
:definitions
|
634
|
-
end
|
647
|
+
self.children_method_name = :definitions
|
635
648
|
end
|
636
649
|
|
637
650
|
class InterfaceTypeDefinition < AbstractNode
|
@@ -639,23 +652,21 @@ module GraphQL
|
|
639
652
|
attr_reader :description
|
640
653
|
scalar_methods :name
|
641
654
|
children_methods({
|
655
|
+
interfaces: GraphQL::Language::Nodes::TypeName,
|
642
656
|
directives: GraphQL::Language::Nodes::Directive,
|
643
657
|
fields: GraphQL::Language::Nodes::FieldDefinition,
|
644
658
|
})
|
645
|
-
|
646
|
-
:definitions
|
647
|
-
end
|
659
|
+
self.children_method_name = :definitions
|
648
660
|
end
|
649
661
|
|
650
662
|
class InterfaceTypeExtension < AbstractNode
|
651
663
|
scalar_methods :name
|
652
664
|
children_methods({
|
665
|
+
interfaces: GraphQL::Language::Nodes::TypeName,
|
653
666
|
directives: GraphQL::Language::Nodes::Directive,
|
654
667
|
fields: GraphQL::Language::Nodes::FieldDefinition,
|
655
668
|
})
|
656
|
-
|
657
|
-
:definitions
|
658
|
-
end
|
669
|
+
self.children_method_name = :definitions
|
659
670
|
end
|
660
671
|
|
661
672
|
class UnionTypeDefinition < AbstractNode
|
@@ -665,9 +676,7 @@ module GraphQL
|
|
665
676
|
children_methods({
|
666
677
|
directives: GraphQL::Language::Nodes::Directive,
|
667
678
|
})
|
668
|
-
|
669
|
-
:definitions
|
670
|
-
end
|
679
|
+
self.children_method_name = :definitions
|
671
680
|
end
|
672
681
|
|
673
682
|
class UnionTypeExtension < AbstractNode
|
@@ -676,9 +685,7 @@ module GraphQL
|
|
676
685
|
children_methods({
|
677
686
|
directives: GraphQL::Language::Nodes::Directive,
|
678
687
|
})
|
679
|
-
|
680
|
-
:definitions
|
681
|
-
end
|
688
|
+
self.children_method_name = :definitions
|
682
689
|
end
|
683
690
|
|
684
691
|
class EnumValueDefinition < AbstractNode
|
@@ -688,9 +695,7 @@ module GraphQL
|
|
688
695
|
children_methods({
|
689
696
|
directives: GraphQL::Language::Nodes::Directive,
|
690
697
|
})
|
691
|
-
|
692
|
-
:values
|
693
|
-
end
|
698
|
+
self.children_method_name = :values
|
694
699
|
end
|
695
700
|
|
696
701
|
class EnumTypeDefinition < AbstractNode
|
@@ -701,9 +706,7 @@ module GraphQL
|
|
701
706
|
directives: GraphQL::Language::Nodes::Directive,
|
702
707
|
values: GraphQL::Language::Nodes::EnumValueDefinition,
|
703
708
|
})
|
704
|
-
|
705
|
-
:definitions
|
706
|
-
end
|
709
|
+
self.children_method_name = :definitions
|
707
710
|
end
|
708
711
|
|
709
712
|
class EnumTypeExtension < AbstractNode
|
@@ -712,9 +715,7 @@ module GraphQL
|
|
712
715
|
directives: GraphQL::Language::Nodes::Directive,
|
713
716
|
values: GraphQL::Language::Nodes::EnumValueDefinition,
|
714
717
|
})
|
715
|
-
|
716
|
-
:definitions
|
717
|
-
end
|
718
|
+
self.children_method_name = :definitions
|
718
719
|
end
|
719
720
|
|
720
721
|
class InputObjectTypeDefinition < AbstractNode
|
@@ -725,9 +726,7 @@ module GraphQL
|
|
725
726
|
directives: GraphQL::Language::Nodes::Directive,
|
726
727
|
fields: GraphQL::Language::Nodes::InputValueDefinition,
|
727
728
|
})
|
728
|
-
|
729
|
-
:definitions
|
730
|
-
end
|
729
|
+
self.children_method_name = :definitions
|
731
730
|
end
|
732
731
|
|
733
732
|
class InputObjectTypeExtension < AbstractNode
|
@@ -736,9 +735,7 @@ module GraphQL
|
|
736
735
|
directives: GraphQL::Language::Nodes::Directive,
|
737
736
|
fields: GraphQL::Language::Nodes::InputValueDefinition,
|
738
737
|
})
|
739
|
-
|
740
|
-
:definitions
|
741
|
-
end
|
738
|
+
self.children_method_name = :definitions
|
742
739
|
end
|
743
740
|
end
|
744
741
|
end
|