lib/graphql/schema/build_from_definition.rb in graphql-1.6.7 vs lib/graphql/schema/build_from_definition.rb in graphql-1.6.8
- old
+ new
@@ -278,10 +278,13 @@
type: type_resolver.call(field_definition.type),
arguments: field_arguments,
resolve: ->(obj, args, ctx) { default_resolve.call(field, obj, args, ctx) },
deprecation_reason: build_deprecation_reason(field_definition.directives),
)
+
+ type_name = resolve_type_name(field_definition.type)
+ field.connection = type_name.end_with?("Connection")
[field_definition.name, field]
end
end
def resolve_type(types, ast_node)
@@ -291,9 +294,18 @@
ast_node = ast_node.of_type
end
raise InvalidDocumentError.new("Type \"#{ast_node.name}\" not found in document.")
end
type
+ end
+
+ def resolve_type_name(type)
+ case type
+ when GraphQL::Language::Nodes::TypeName
+ return type.name
+ else
+ resolve_type_name(type.of_type)
+ end
end
end
private_constant :Builder
end