Sha256: 0acbf3c59d3188bc3f59ac9a0e0ebb1ca8e3cfaf7b5bd9df9b37427909e017d4
Contents?: true
Size: 861 Bytes
Versions: 155
Compression:
Stored size: 861 Bytes
Contents
# frozen_string_literal: true module GraphQL module Execution # Starting from a root context, # create a hash out of the context tree. # @api private module Flatten def self.call(ctx) flatten(ctx) end class << self private 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 end end end end
Version data entries
155 entries across 155 versions & 2 rubygems