Struct yaml_rust2::emitter::YamlEmitter

source ·
pub struct YamlEmitter<'a> { /* private fields */ }
Expand description

The YAML serializer.

let input_string = "a: b\nc: d";
let yaml = YamlLoader::load_from_str(input_string).unwrap();

let mut output = String::new();
YamlEmitter::new(&mut output).dump(&yaml[0]).unwrap();

assert_eq!(output, r#"---
a: b
c: d"#);

Implementations§

source§

impl<'a> YamlEmitter<'a>

source

pub fn new(writer: &'a mut dyn Write) -> YamlEmitter<'_>

Create a new emitter serializing into writer.

source

pub fn compact(&mut self, compact: bool)

Set ‘compact inline notation’ on or off, as described for block sequences and mappings.

In this form, blocks cannot have any properties (such as anchors or tags), which should be OK, because this emitter doesn’t (currently) emit those anyways.

source

pub fn is_compact(&self) -> bool

Determine if this emitter is using ‘compact inline notation’.

source

pub fn multiline_strings(&mut self, multiline_strings: bool)

Render strings containing multiple lines in literal style.

§Examples
use yaml_rust2::{Yaml, YamlEmitter, YamlLoader};

let input = r#"{foo: "bar!\nbar!", baz: 42}"#;
let parsed = YamlLoader::load_from_str(input).unwrap();
eprintln!("{:?}", parsed);

let mut output = String::new();
let mut emitter = YamlEmitter::new(&mut output);
emitter.multiline_strings(true);
emitter.dump(&parsed[0]).unwrap();
assert_eq!(output.as_str(), "\
---
foo: |
  bar!
  bar!
baz: 42");
source

pub fn is_multiline_strings(&self) -> bool

Determine if this emitter will emit multiline strings when appropriate.

source

pub fn dump(&mut self, doc: &Yaml) -> EmitResult

Dump Yaml to an output stream.

§Errors

Returns EmitError when an error occurs.

Auto Trait Implementations§

§

impl<'a> Freeze for YamlEmitter<'a>

§

impl<'a> !RefUnwindSafe for YamlEmitter<'a>

§

impl<'a> !Send for YamlEmitter<'a>

§

impl<'a> !Sync for YamlEmitter<'a>

§

impl<'a> Unpin for YamlEmitter<'a>

§

impl<'a> !UnwindSafe for YamlEmitter<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.