code: def __init__(self, types):
      super(GraphQLTypeMap, self).__init__()
      self.update(reduce(self.reducer, types, OrderedDict()))
      self._possible_type_map = defaultdict(set)
  
      # Keep track of all implementations by interface name.
      self._implementations = {}
      for gql_type in self.values():
          if isinstance(gql_type, GraphQLObjectType):
              for interface in gql_type.interfaces:
                  self._implementations.setdefault(
                      interface.name, []
                  ).append(gql_type)
  
      # Enforce correct interface implementations.
      for type in self.values():
          if isinstance(type, GraphQLObjectType):
              for interface in type.interfaces:
                  self.assert_object_implements_interface(
                      self, type, interface
                  )
  
file_path: wandb/wandb/vendor/graphql-core-1.1/wandb_graphql/type/typemap.py
imports: from collections import OrderedDict, defaultdict
  from collections.abc import Sequence
  from functools import reduce
  from ..utils.type_comparators import is_equal_type, is_type_sub_type_of
  from .definition import GraphQLArgument, GraphQLField, GraphQLInputObjectField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLUnionType, is_input_type, is_output_type
label_desc: Use image node_id 1 to create a new GraphQLTypeMap object from inherited base classes: OrderedDict with example: obj = GraphQLTypeMap(types)