mutateList<T> method

Future<List<T>> mutateList<T>(
  1. String mutation,
  2. Map<String, dynamic> variables, {
  3. T fromJson(
    1. Map<String, dynamic>
    )?,
  4. String? expectedDataType,
  5. bool convertEnums = false,
  6. bool retryOnTransientNetworkErrors = true,
})

Implementation

Future<List<T>> mutateList<T>(
  String mutation,
  Map<String, dynamic> variables, {
  T Function(Map<String, dynamic>)? fromJson,
  String? expectedDataType,
  bool convertEnums = false,
  bool retryOnTransientNetworkErrors = true,
}) async {
  var data = await _executeGraphQLOperation(
    mutation,
    variables,
    true,
    expectedDataType,
    convertEnums: convertEnums,
    retryOnTransientNetworkErrors: retryOnTransientNetworkErrors,
  );

  if (data == null) {
    throw Exception('No data returned from mutateList');
  }

  if (data is! List) {
    throw Exception('Data must be a list in mutateList');
  }

  if (fromJson != null) {
    return data.map<T>((item) {
      return fromJson(item);
    }).toList();
  }
  return List<T>.from(data);
}