Sha256: a793847c504489e5638472053d682009dcc03ca66aec40d61b596e6a0b18efa6

Contents?: true

Size: 876 Bytes

Versions: 8

Compression:

Stored size: 876 Bytes

Contents

# frozen_string_literal: true
require "graphql/query/context"
module GraphQL
  class Query
    # This object can be `ctx` in places where there is no query
    class NullContext < Context
      include Singleton

      class NullQuery
        def after_lazy(value)
          yield(value)
        end
      end

      class NullSchema < GraphQL::Schema
      end

      extend Forwardable

      attr_reader :schema, :query, :warden, :dataloader
      def_delegators GraphQL::EmptyObjects::EMPTY_HASH, :[], :fetch, :dig, :key?

      def initialize
        @query = NullQuery.new
        @dataloader = GraphQL::Dataloader::NullDataloader.new
        @schema = NullSchema
        @warden = Schema::Warden::NullWarden.new(context: self, schema: @schema)
      end

      def types
        @types ||= GraphQL::Schema::Warden::SchemaSubset.new(@warden)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
graphql-2.3.18 lib/graphql/query/null_context.rb
graphql-2.3.17 lib/graphql/query/null_context.rb
graphql-2.3.16 lib/graphql/query/null_context.rb
graphql-2.3.15 lib/graphql/query/null_context.rb
graphql-2.3.14 lib/graphql/query/null_context.rb
graphql-2.3.13 lib/graphql/query/null_context.rb
graphql-2.3.12 lib/graphql/query/null_context.rb
graphql-2.3.11 lib/graphql/query/null_context.rb