graphql 1.12.10 → 1.13.4
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 +4 -4
- data/lib/generators/graphql/core.rb +3 -1
- data/lib/generators/graphql/install_generator.rb +9 -2
- data/lib/generators/graphql/mutation_generator.rb +1 -1
- data/lib/generators/graphql/object_generator.rb +2 -1
- data/lib/generators/graphql/relay.rb +19 -11
- data/lib/generators/graphql/templates/schema.erb +14 -2
- data/lib/generators/graphql/type_generator.rb +0 -1
- data/lib/graphql/analysis/ast/field_usage.rb +28 -1
- data/lib/graphql/analysis/ast/query_complexity.rb +10 -14
- data/lib/graphql/analysis/ast/visitor.rb +4 -4
- data/lib/graphql/backtrace/table.rb +15 -3
- data/lib/graphql/backtrace/tracer.rb +7 -4
- data/lib/graphql/base_type.rb +4 -2
- data/lib/graphql/boolean_type.rb +1 -1
- data/lib/graphql/dataloader/null_dataloader.rb +1 -0
- data/lib/graphql/dataloader/source.rb +50 -2
- data/lib/graphql/dataloader.rb +110 -41
- data/lib/graphql/define/instance_definable.rb +1 -1
- data/lib/graphql/deprecated_dsl.rb +11 -3
- data/lib/graphql/deprecation.rb +1 -5
- data/lib/graphql/directive/deprecated_directive.rb +1 -1
- data/lib/graphql/directive/include_directive.rb +1 -1
- data/lib/graphql/directive/skip_directive.rb +1 -1
- data/lib/graphql/directive.rb +0 -4
- data/lib/graphql/enum_type.rb +5 -1
- data/lib/graphql/execution/errors.rb +1 -0
- data/lib/graphql/execution/execute.rb +1 -1
- data/lib/graphql/execution/interpreter/arguments.rb +1 -1
- data/lib/graphql/execution/interpreter/arguments_cache.rb +5 -4
- data/lib/graphql/execution/interpreter/resolve.rb +6 -2
- data/lib/graphql/execution/interpreter/runtime.rb +513 -213
- data/lib/graphql/execution/interpreter.rb +4 -8
- data/lib/graphql/execution/lazy.rb +5 -1
- data/lib/graphql/execution/lookahead.rb +2 -2
- data/lib/graphql/execution/multiplex.rb +4 -1
- data/lib/graphql/float_type.rb +1 -1
- data/lib/graphql/id_type.rb +1 -1
- data/lib/graphql/int_type.rb +1 -1
- data/lib/graphql/integer_encoding_error.rb +18 -2
- data/lib/graphql/introspection/directive_type.rb +1 -1
- data/lib/graphql/introspection/entry_points.rb +2 -2
- data/lib/graphql/introspection/enum_value_type.rb +2 -2
- data/lib/graphql/introspection/field_type.rb +2 -2
- data/lib/graphql/introspection/input_value_type.rb +10 -4
- data/lib/graphql/introspection/schema_type.rb +3 -3
- data/lib/graphql/introspection/type_type.rb +10 -10
- data/lib/graphql/language/block_string.rb +2 -6
- data/lib/graphql/language/document_from_schema_definition.rb +10 -4
- data/lib/graphql/language/lexer.rb +0 -3
- data/lib/graphql/language/lexer.rl +0 -4
- data/lib/graphql/language/nodes.rb +13 -3
- data/lib/graphql/language/parser.rb +442 -434
- data/lib/graphql/language/parser.y +5 -4
- data/lib/graphql/language/printer.rb +6 -1
- data/lib/graphql/language/sanitized_printer.rb +5 -5
- data/lib/graphql/language/token.rb +0 -4
- data/lib/graphql/name_validator.rb +0 -4
- data/lib/graphql/pagination/active_record_relation_connection.rb +43 -6
- data/lib/graphql/pagination/connections.rb +40 -16
- data/lib/graphql/pagination/relation_connection.rb +57 -27
- data/lib/graphql/query/arguments.rb +1 -1
- data/lib/graphql/query/arguments_cache.rb +1 -1
- data/lib/graphql/query/context.rb +15 -2
- data/lib/graphql/query/literal_input.rb +1 -1
- data/lib/graphql/query/null_context.rb +12 -7
- data/lib/graphql/query/serial_execution/field_resolution.rb +1 -1
- data/lib/graphql/query/validation_pipeline.rb +1 -1
- data/lib/graphql/query/variables.rb +5 -1
- data/lib/graphql/query.rb +5 -1
- data/lib/graphql/relay/edges_instrumentation.rb +0 -1
- data/lib/graphql/relay/global_id_resolve.rb +1 -1
- data/lib/graphql/relay/page_info.rb +1 -1
- 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 +247 -0
- data/lib/graphql/schema/argument.rb +103 -45
- data/lib/graphql/schema/build_from_definition.rb +13 -7
- data/lib/graphql/schema/directive/feature.rb +1 -1
- data/lib/graphql/schema/directive/flagged.rb +2 -2
- data/lib/graphql/schema/directive/include.rb +1 -1
- data/lib/graphql/schema/directive/skip.rb +1 -1
- data/lib/graphql/schema/directive/transform.rb +14 -2
- data/lib/graphql/schema/directive.rb +7 -3
- data/lib/graphql/schema/enum.rb +70 -11
- data/lib/graphql/schema/enum_value.rb +6 -0
- data/lib/graphql/schema/field/connection_extension.rb +1 -1
- data/lib/graphql/schema/field.rb +243 -81
- data/lib/graphql/schema/field_extension.rb +89 -2
- data/lib/graphql/schema/find_inherited_value.rb +1 -0
- data/lib/graphql/schema/finder.rb +5 -5
- data/lib/graphql/schema/input_object.rb +39 -29
- data/lib/graphql/schema/interface.rb +11 -20
- data/lib/graphql/schema/introspection_system.rb +1 -1
- data/lib/graphql/schema/list.rb +3 -1
- data/lib/graphql/schema/member/accepts_definition.rb +15 -3
- data/lib/graphql/schema/member/build_type.rb +1 -4
- data/lib/graphql/schema/member/cached_graphql_definition.rb +29 -2
- data/lib/graphql/schema/member/has_arguments.rb +145 -57
- data/lib/graphql/schema/member/has_deprecation_reason.rb +1 -1
- data/lib/graphql/schema/member/has_fields.rb +76 -18
- data/lib/graphql/schema/member/has_interfaces.rb +90 -0
- data/lib/graphql/schema/member.rb +1 -0
- data/lib/graphql/schema/non_null.rb +7 -1
- data/lib/graphql/schema/object.rb +10 -75
- data/lib/graphql/schema/printer.rb +12 -17
- data/lib/graphql/schema/relay_classic_mutation.rb +37 -3
- data/lib/graphql/schema/resolver/has_payload_type.rb +27 -2
- data/lib/graphql/schema/resolver.rb +75 -65
- data/lib/graphql/schema/scalar.rb +2 -0
- data/lib/graphql/schema/subscription.rb +36 -8
- data/lib/graphql/schema/traversal.rb +1 -1
- data/lib/graphql/schema/type_expression.rb +1 -1
- data/lib/graphql/schema/type_membership.rb +18 -4
- data/lib/graphql/schema/union.rb +8 -1
- 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 +3 -1
- data/lib/graphql/schema/validator/format_validator.rb +4 -5
- data/lib/graphql/schema/validator/inclusion_validator.rb +3 -1
- data/lib/graphql/schema/validator/length_validator.rb +5 -3
- data/lib/graphql/schema/validator/numericality_validator.rb +13 -2
- data/lib/graphql/schema/validator/required_validator.rb +29 -15
- data/lib/graphql/schema/validator.rb +33 -25
- data/lib/graphql/schema/warden.rb +116 -52
- data/lib/graphql/schema.rb +162 -227
- data/lib/graphql/static_validation/all_rules.rb +1 -0
- data/lib/graphql/static_validation/base_visitor.rb +8 -5
- data/lib/graphql/static_validation/definition_dependencies.rb +0 -1
- data/lib/graphql/static_validation/error.rb +3 -1
- data/lib/graphql/static_validation/literal_validator.rb +1 -1
- data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +1 -1
- data/lib/graphql/static_validation/rules/fields_will_merge.rb +52 -26
- data/lib/graphql/static_validation/rules/fields_will_merge_error.rb +25 -4
- data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
- 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 +3 -1
- data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +4 -4
- data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +13 -7
- data/lib/graphql/static_validation/validation_context.rb +8 -2
- data/lib/graphql/static_validation/validator.rb +15 -12
- data/lib/graphql/string_encoding_error.rb +13 -3
- data/lib/graphql/string_type.rb +1 -1
- data/lib/graphql/subscriptions/action_cable_subscriptions.rb +36 -6
- data/lib/graphql/subscriptions/event.rb +68 -31
- data/lib/graphql/subscriptions/serialize.rb +23 -3
- data/lib/graphql/subscriptions.rb +17 -19
- data/lib/graphql/tracing/active_support_notifications_tracing.rb +6 -20
- data/lib/graphql/tracing/appsignal_tracing.rb +15 -0
- data/lib/graphql/tracing/notifications_tracing.rb +59 -0
- data/lib/graphql/types/big_int.rb +5 -1
- data/lib/graphql/types/int.rb +1 -1
- data/lib/graphql/types/relay/connection_behaviors.rb +26 -9
- data/lib/graphql/types/relay/default_relay.rb +5 -1
- data/lib/graphql/types/relay/edge_behaviors.rb +13 -2
- data/lib/graphql/types/relay/has_node_field.rb +2 -2
- data/lib/graphql/types/relay/has_nodes_field.rb +2 -2
- data/lib/graphql/types/relay/node_field.rb +15 -4
- data/lib/graphql/types/relay/nodes_field.rb +14 -4
- data/lib/graphql/types/string.rb +1 -1
- data/lib/graphql/unauthorized_error.rb +1 -1
- data/lib/graphql/version.rb +1 -1
- data/lib/graphql.rb +10 -28
- data/readme.md +1 -4
- metadata +17 -21
- data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphql
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.13.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Mosolgo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: benchmark-ips
|
|
@@ -24,20 +24,6 @@ dependencies:
|
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: codeclimate-test-reporter
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.4'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.4'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: concurrent-ruby
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,14 +128,14 @@ dependencies:
|
|
|
142
128
|
requirements:
|
|
143
129
|
- - '='
|
|
144
130
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '
|
|
131
|
+
version: '1.12'
|
|
146
132
|
type: :development
|
|
147
133
|
prerelease: false
|
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
135
|
requirements:
|
|
150
136
|
- - '='
|
|
151
137
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '
|
|
138
|
+
version: '1.12'
|
|
153
139
|
- !ruby/object:Gem::Dependency
|
|
154
140
|
name: parser
|
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -369,7 +355,6 @@ files:
|
|
|
369
355
|
- lib/graphql/execution/interpreter/arguments_cache.rb
|
|
370
356
|
- lib/graphql/execution/interpreter/execution_errors.rb
|
|
371
357
|
- lib/graphql/execution/interpreter/handles_raw_value.rb
|
|
372
|
-
- lib/graphql/execution/interpreter/hash_response.rb
|
|
373
358
|
- lib/graphql/execution/interpreter/resolve.rb
|
|
374
359
|
- lib/graphql/execution/interpreter/runtime.rb
|
|
375
360
|
- lib/graphql/execution/lazy.rb
|
|
@@ -482,9 +467,14 @@ files:
|
|
|
482
467
|
- lib/graphql/relay/range_add.rb
|
|
483
468
|
- lib/graphql/relay/relation_connection.rb
|
|
484
469
|
- lib/graphql/relay/type_extensions.rb
|
|
470
|
+
- lib/graphql/rubocop.rb
|
|
471
|
+
- lib/graphql/rubocop/graphql/base_cop.rb
|
|
472
|
+
- lib/graphql/rubocop/graphql/default_null_true.rb
|
|
473
|
+
- lib/graphql/rubocop/graphql/default_required_true.rb
|
|
485
474
|
- lib/graphql/runtime_type_error.rb
|
|
486
475
|
- lib/graphql/scalar_type.rb
|
|
487
476
|
- lib/graphql/schema.rb
|
|
477
|
+
- lib/graphql/schema/addition.rb
|
|
488
478
|
- lib/graphql/schema/argument.rb
|
|
489
479
|
- lib/graphql/schema/base_64_bp.rb
|
|
490
480
|
- lib/graphql/schema/base_64_encoder.rb
|
|
@@ -528,6 +518,7 @@ files:
|
|
|
528
518
|
- lib/graphql/schema/member/has_deprecation_reason.rb
|
|
529
519
|
- lib/graphql/schema/member/has_directives.rb
|
|
530
520
|
- lib/graphql/schema/member/has_fields.rb
|
|
521
|
+
- lib/graphql/schema/member/has_interfaces.rb
|
|
531
522
|
- lib/graphql/schema/member/has_path.rb
|
|
532
523
|
- lib/graphql/schema/member/has_unresolved_type_error.rb
|
|
533
524
|
- lib/graphql/schema/member/has_validators.rb
|
|
@@ -558,6 +549,8 @@ files:
|
|
|
558
549
|
- lib/graphql/schema/unique_within_type.rb
|
|
559
550
|
- lib/graphql/schema/validation.rb
|
|
560
551
|
- lib/graphql/schema/validator.rb
|
|
552
|
+
- lib/graphql/schema/validator/allow_blank_validator.rb
|
|
553
|
+
- lib/graphql/schema/validator/allow_null_validator.rb
|
|
561
554
|
- lib/graphql/schema/validator/exclusion_validator.rb
|
|
562
555
|
- lib/graphql/schema/validator/format_validator.rb
|
|
563
556
|
- lib/graphql/schema/validator/inclusion_validator.rb
|
|
@@ -613,6 +606,8 @@ files:
|
|
|
613
606
|
- lib/graphql/static_validation/rules/no_definitions_are_present_error.rb
|
|
614
607
|
- lib/graphql/static_validation/rules/operation_names_are_valid.rb
|
|
615
608
|
- lib/graphql/static_validation/rules/operation_names_are_valid_error.rb
|
|
609
|
+
- lib/graphql/static_validation/rules/query_root_exists.rb
|
|
610
|
+
- lib/graphql/static_validation/rules/query_root_exists_error.rb
|
|
616
611
|
- lib/graphql/static_validation/rules/required_arguments_are_present.rb
|
|
617
612
|
- lib/graphql/static_validation/rules/required_arguments_are_present_error.rb
|
|
618
613
|
- lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb
|
|
@@ -651,6 +646,7 @@ files:
|
|
|
651
646
|
- lib/graphql/tracing/appsignal_tracing.rb
|
|
652
647
|
- lib/graphql/tracing/data_dog_tracing.rb
|
|
653
648
|
- lib/graphql/tracing/new_relic_tracing.rb
|
|
649
|
+
- lib/graphql/tracing/notifications_tracing.rb
|
|
654
650
|
- lib/graphql/tracing/platform_tracing.rb
|
|
655
651
|
- lib/graphql/tracing/prometheus_tracing.rb
|
|
656
652
|
- lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
|
|
@@ -707,14 +703,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
707
703
|
requirements:
|
|
708
704
|
- - ">="
|
|
709
705
|
- !ruby/object:Gem::Version
|
|
710
|
-
version: 2.
|
|
706
|
+
version: 2.4.0
|
|
711
707
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
712
708
|
requirements:
|
|
713
709
|
- - ">="
|
|
714
710
|
- !ruby/object:Gem::Version
|
|
715
711
|
version: '0'
|
|
716
712
|
requirements: []
|
|
717
|
-
rubygems_version: 3.2.
|
|
713
|
+
rubygems_version: 3.2.22
|
|
718
714
|
signing_key:
|
|
719
715
|
specification_version: 4
|
|
720
716
|
summary: A GraphQL language and runtime for Ruby
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module GraphQL
|
|
4
|
-
module Execution
|
|
5
|
-
class Interpreter
|
|
6
|
-
# This response class handles `#write` by accumulating
|
|
7
|
-
# values into a Hash.
|
|
8
|
-
class HashResponse
|
|
9
|
-
def initialize
|
|
10
|
-
@result = {}
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def final_value
|
|
14
|
-
@result
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def inspect
|
|
18
|
-
"#<#{self.class.name} result=#{@result.inspect}>"
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# Add `value` at `path`.
|
|
22
|
-
# @return [void]
|
|
23
|
-
def write(path, value)
|
|
24
|
-
if path.empty?
|
|
25
|
-
@result = value
|
|
26
|
-
elsif (write_target = @result)
|
|
27
|
-
i = 0
|
|
28
|
-
prefinal_steps = path.size - 1
|
|
29
|
-
# Use `while` to avoid a closure
|
|
30
|
-
while i < prefinal_steps
|
|
31
|
-
path_part = path[i]
|
|
32
|
-
i += 1
|
|
33
|
-
write_target = write_target[path_part]
|
|
34
|
-
end
|
|
35
|
-
path_part = path[i]
|
|
36
|
-
write_target[path_part] = value
|
|
37
|
-
else
|
|
38
|
-
# The response is completely nulled out
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
nil
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|