module GraphQL::Language::DefinitionSlice

def slice(document, name)

def slice(document, name)
  definitions = {}
  document.definitions.each { |d| definitions[d.name] = d }
  names = Set.new
  DependencyVisitor.find_definition_dependencies(definitions, name, names)
  definitions = document.definitions.select { |d| names.include?(d.name) }
  Nodes::Document.new(definitions: definitions)
end