query method

Future<Map<String, dynamic>> query(
  1. String document, {
  2. Map<String, dynamic>? variables,
  3. String? operationName,
  4. Map<String, dynamic>? extensions,
  5. CancelToken? cancelToken,
})

Executes document and returns its data, throwing on GraphQL errors.

Implementation

Future<Map<String, dynamic>> query(
  String document, {
  Map<String, dynamic>? variables,
  String? operationName,
  Map<String, dynamic>? extensions,
  CancelToken? cancelToken,
}) async {
  final response = await request(
    document,
    variables: variables,
    operationName: operationName,
    extensions: extensions,
    cancelToken: cancelToken,
  );
  if (response.errors.isNotEmpty) {
    throw GraphQLException(response.errors);
  }
  if (response.data == null) {
    throw const GraphQLRequestException('GraphQL response missing "data"');
  }
  return response.data!;
}