resolveFieldEventStream method

Future<Stream> resolveFieldEventStream(
  1. GraphQLObjectType subscriptionType,
  2. dynamic rootValue,
  3. String? fieldName,
  4. Map<String, dynamic> argumentValues
)

Implementation

Future<Stream> resolveFieldEventStream(GraphQLObjectType subscriptionType,
    rootValue, String? fieldName, Map<String, dynamic> argumentValues) async {
  var field = subscriptionType.fields.firstWhere((f) => f.name == fieldName,
      orElse: () {
    throw GraphQLException.fromMessage(
        'No subscription field named "$fieldName" is defined.');
  });
  var resolver = field.resolve!;
  var result = await resolver(rootValue, argumentValues);
  if (result is Stream) {
    return result;
  } else {
    return Stream.fromIterable([result]);
  }
}