Proto ProtoMarshalOptions
type ProtoMarshalOptions struct {
// Multiline specifies whether the marshaler
// should format the output in
// indented-form with every textual element
// If Indent is an empty string,
// then an arbitrary indent is chosen.
// Indent specifies the set of indentation
// characters to use in a multiline
// formatted output such that every entry
// is preceded by Indent and
// terminated by a newline. If non-empty,
// then Multiline is treated as true.
// Indent can only be composed of space or tab characters.
// AllowPartial allows messages that have
// missing required fields to marshal
// without returning an error.
// If AllowPartial is false (the default),
// Marshal will return error if there are
// any missing required fields.
// UseProtoNames uses proto field name
// instead of lowerCamelCase name in JSON
// UseEnumNumbers emits enum values as numbers.
// EmitUnpopulated specifies whether to emit unpopulated fields.
// It does not emit unpopulated oneof fields
// or unpopulated extension fields.
// The JSON value emitted for unpopulated fields are as follows:
// ╔═══════╤════════════════════════════
// ║ JSON │ Protobuf field
// ╠═══════╪════════════════════════════
// ║ false │ proto3 boolean fields
// ║ 0 │ proto3 numeric fields
// ║ "" │ proto3 string/bytes fields
// ║ null │ proto2 scalar fields
// ║ null │ message fields
// ╚═══════╧════════════════════════════