generateJsonFile method

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

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

Implementation

String generateJsonFile(
    [OutputConfiguration config = const DefaultOutputConfiguration()]) {
  if (!_linked) throw StateError('not linked');
  var out = makeWriter();
  _writeHeading(out,
      extraIgnores: {'deprecated_member_use_from_same_package'});

  out.println(_coreImport);
  out.println(_convertImport);
  out.println(_typedDataImport);
  // Import the .pbjson.dart files we depend on.
  var imports = _findJsonProtosToImport();
  for (var target in imports) {
    _writeImport(out, config, target, '.pbjson.dart');
  }
  if (imports.isNotEmpty) out.println();

  for (var e in enumGenerators) {
    e.generateConstants(out);
    writeBinaryDescriptor(
        out, e.binaryDescriptorName, e._descriptor.name, e._descriptor);
  }
  for (var m in messageGenerators) {
    m.generateConstants(out);
    writeBinaryDescriptor(
        out, m.binaryDescriptorName, m._descriptor.name, m._descriptor);
  }
  for (var s in serviceGenerators) {
    s.generateConstants(out);
    writeBinaryDescriptor(
        out, s.binaryDescriptorName, s._descriptor.name, s._descriptor);
  }

  return out.toString();
}