code: def field_resolver(field, fragment=None, exe_context=None, info=None):
      # resolver = exe_context.get_field_resolver(field.resolver or default_resolve_fn)
      resolver = field.resolver or default_resolve_fn
      if exe_context:
          # We decorate the resolver with the middleware
          resolver = exe_context.get_field_resolver(resolver)
      return type_resolver(
          field.type,
          resolver,
          fragment,
          exe_context,
          info,
          catch_error=True,
      )
  
imports: import sys
  from collections.abc import Iterable
  from functools import partial
  from wandb_promise import Promise, is_thenable
  from ...error import GraphQLError, GraphQLLocatedError
  from ...type import GraphQLEnumType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType
  from ..base import default_resolve_fn
  from ...execution import executor
  from .utils import imap, normal_map
label_desc: Use image node_id 6 for calling a global function with example usage: field_resolver(field, fragment, exe_context, info) and returns: type_resolver