executeData<TData, TVariables> method

Future<TData> executeData<TData, TVariables>(
  1. GraphQLOperation<TData, TVariables> operation,
  2. TVariables variables, {
  3. Map<String, dynamic>? extensions,
  4. CancelToken? cancelToken,
})

Executes a generated operation, throwing on GraphQL errors or no data.

Implementation

Future<TData> executeData<TData, TVariables>(
  GraphQLOperation<TData, TVariables> operation,
  TVariables variables, {
  Map<String, dynamic>? extensions,
  CancelToken? cancelToken,
}) async {
  final response = await execute(
    operation,
    variables,
    extensions: extensions,
    cancelToken: cancelToken,
  );
  if (response.errors.isNotEmpty) throw GraphQLException(response.errors);
  if (response.data == null) {
    throw GraphQLRequestException(
      'GraphQL response missing data for ${operation.operationName}',
    );
  }
  return response.data!;
}