generateJsonFile method
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();
}