Sha256: eba99e586200207dbf5fa9f4993a571ac49b5b0ac1550120d767dd371b6c9c3e
Contents?: true
Size: 961 Bytes
Versions: 2
Compression:
Stored size: 961 Bytes
Contents
# frozen_string_literal: true module GraphQL module Relay class ConnectionResolve def initialize(field, underlying_resolve) @field = field @underlying_resolve = underlying_resolve @max_page_size = field.connection_max_page_size end def call(obj, args, ctx) nodes = @underlying_resolve.call(obj, args, ctx) if nodes.nil? nil elsif ctx.schema.lazy?(nodes) nodes else build_connection(nodes, args, obj, ctx) end end private def build_connection(nodes, args, parent, ctx) if nodes.is_a? GraphQL::ExecutionError ctx.add_error(nodes) nil else connection_class = GraphQL::Relay::BaseConnection.connection_for_nodes(nodes) connection_class.new(nodes, args, field: @field, max_page_size: @max_page_size, parent: parent, context: ctx) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.5.13 | lib/graphql/relay/connection_resolve.rb |
graphql-1.5.12 | lib/graphql/relay/connection_resolve.rb |