class Tapioca::Dsl::Compilers::GraphqlMutation

def decorate

def decorate
  return unless constant.method_defined?(:resolve)
  method_def = constant.instance_method(:resolve)
  return if signature_of(method_def) # Skip if the mutation already has an inline sig
  arguments = constant.all_argument_definitions
  return if arguments.empty?
  arguments_by_name = arguments.to_h { |a| [a.keyword.to_s, a] }
  params = compile_method_parameters_to_rbi(method_def).map do |param|
    name = param.param.name
    argument = arguments_by_name.fetch(name, nil)
    create_typed_param(param.param, argument_type(argument, constant))
  end
  root.create_path(constant) do |mutation|
    mutation.create_method("resolve", parameters: params, return_type: "T.untyped")
  end
end