generateGrpcFile method

String generateGrpcFile([
  1. OutputConfiguration config = const DefaultOutputConfiguration()
])

Returns the contents of the .pbgrpc.dart file for this .proto file.

Implementation

String generateGrpcFile(
    [OutputConfiguration config = const DefaultOutputConfiguration()]) {
  if (!_linked) throw StateError('not linked');
  var out = makeWriter();
  _writeHeading(out);

  out.println(_asyncImport);
  out.println();
  out.println(_coreImport);
  out.println();
  out.println(_grpcImport);

  // Import .pb.dart files needed for requests and responses.
  var imports = <FileGenerator>{};
  for (var generator in grpcGenerators) {
    generator.addImportsTo(imports);
  }
  for (var target in imports) {
    _writeImport(out, config, target, '.pb.dart');
  }

  var resolvedImport =
      config.resolveImport(protoFileUri, protoFileUri, '.pb.dart');
  out.println("export '$resolvedImport';");
  out.println();

  for (var generator in grpcGenerators) {
    generator.generate(out);
  }

  return _formatter.format(out.toString());
}