Sha256: 9ad9fb598aff2070c3fd89eb9a0ae5e724a4baae6c0465f295539db6fa16fd3e
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true module GraphQL module Introspection class EntryPoints < Introspection::BaseObject field :__schema, GraphQL::Schema::LateBoundType.new("__Schema"), "This GraphQL schema", null: false field :__type, GraphQL::Schema::LateBoundType.new("__Type"), "A type in the GraphQL system", null: true do argument :name, String, required: true end def __schema # Apply wrapping manually since this field isn't wrapped by instrumentation schema = @context.query.schema schema_type = schema.introspection_system.schema_type schema_type.metadata[:type_class].authorized_new(schema, @context) end def __type(name:) # This will probably break with non-Interpreter runtime type = context.warden.get_type(name) # The interpreter provides this wrapping, other execution doesnt, so support both. if type && !context.interpreter? # Apply wrapping manually since this field isn't wrapped by instrumentation type_type = context.schema.introspection_system.type_type type = type_type.metadata[:type_class].authorized_new(type, context) end type end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.9.0.pre1 | lib/graphql/introspection/entry_points.rb |