be able to contructor a serializer with output configuration
This commit is contained in:
		
							parent
							
								
									e11deedccb
								
							
						
					
					
						commit
						779bddf40a
					
				| @ -12,6 +12,13 @@ pub fn to_string<T: YaSerialize>(model: &T) -> Result<String, String> { | ||||
|   Ok(String::from(data)) | ||||
| } | ||||
| 
 | ||||
| pub fn to_string_with_config<T: YaSerialize>(model: &T, config: &Config) -> Result<String, String> { | ||||
|   let buf = Cursor::new(Vec::new()); | ||||
|   let cursor = serialize_with_writer(model, buf)?; | ||||
|   let data = str::from_utf8(cursor.get_ref()).expect("Found invalid UTF-8"); | ||||
|   Ok(String::from(data)) | ||||
| } | ||||
| 
 | ||||
| pub fn serialize_with_writer<W: Write, T: YaSerialize>(model: &T, writer: W) -> Result<W, String> { | ||||
|   let mut serializer = Serializer::new_from_writer(writer); | ||||
|   match model.serialize(&mut serializer) { | ||||
| @ -93,3 +100,9 @@ impl<'de, W: Write> Serializer<W> { | ||||
|     self.writer.write(event) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| pub struct Config { | ||||
|   perform_indent: bool, | ||||
|   write_document_declaration: bool, | ||||
|   indent_string: Option<String> | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user