pub struct FormatOptions { /* private fields */ }
Available on crate feature text-format only.
Expand description

Options to control printing of the protobuf text format.

Used by DynamicMessage::to_text_format_with_options().

Implementations§

Creates new instance of FormatOptions with default options.

Whether to prettify the format output.

If set to true, each field will be printed on a new line, and nested messages will be indented.

The default value is false.

Whether to include unknown fields in the output.

If set to false, unknown fields will be printed. The protobuf format does not include type information, so the formatter will attempt to infer types.

The default value is true.

Examples
let dynamic_message = DynamicMessage::decode(message_descriptor, b"\x08\x96\x01\x1a\x02\x10\x42".as_ref()).unwrap();
assert_eq!(dynamic_message.to_text_format(), "");
let options = FormatOptions::new().skip_unknown_fields(false);
assert_eq!(dynamic_message.to_text_format_with_options(&options), "1:150,3{2:66}");

Whether to use the expanded form of the google.protobuf.Any type.

If set to true, Any fields will use an expanded form:

[type.googleapis.com/package.MyMessage] {
  foo: 150
}

If set to false, the normal text format representation will be used:

type_url: "type.googleapis.com/package.MyMessage"
value: "\x08\x96\x01"

The default value is true.

Examples
let message_descriptor = pool.get_message_by_name("google.protobuf.Any").unwrap();
let mut dynamic_message = DynamicMessage::new(message_descriptor);
dynamic_message.set_field_by_name("type_url", Value::String("type.googleapis.com/package.MyMessage".to_owned()));
dynamic_message.set_field_by_name("value", Value::Bytes(Bytes::from_static(b"\x08\x96\x01\x1a\x02\x10\x42".as_ref())));

assert_eq!(dynamic_message.to_text_format(), "[type.googleapis.com/package.MyMessage]{foo:150,nested{bar:66}}");
let options = FormatOptions::new().expand_any(false);
assert_eq!(dynamic_message.to_text_format_with_options(&options), r#"type_url:"type.googleapis.com/package.MyMessage",value:"\010\226\001\032\002\020B""#);

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.