module GraphQL::Execution::Flatten
def self.call(ctx)
def self.call(ctx) flatten(ctx) end
def flatten(obj)
def flatten(obj) case obj when Hash flattened = {} obj.each do |key, val| flattened[key] = flatten(val) end flattened when Array obj.map { |v| flatten(v) } when Query::Context::SharedMethods if obj.invalid_null? nil elsif obj.skipped? && obj.value.empty? nil else flatten(obj.value) end else obj end end