| 
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | # File 'lib/graphql/query/arguments_cache.rb', line 6
def self.build(query)
  Hash.new do |h1, irep_or_ast_node|
    h1[irep_or_ast_node] = Hash.new do |h2, definition|
      ast_node = irep_or_ast_node.is_a?(GraphQL::InternalRepresentation::Node) ? irep_or_ast_node.ast_node : irep_or_ast_node
      h2[definition] = if definition.arguments(query.context).empty?
        GraphQL::Query::Arguments::NO_ARGS
      else
        GraphQL::Query::LiteralInput.from_arguments(
          ast_node.arguments,
          definition,
          query.variables,
        )
      end
    end
  end
end |