Return `String` directly instead of writing to buffer in `Localize::localize`
Dependencies
- [2]
LU6IFZFGRemove `std::io::Write` trait bound from `Localize` - [3]
BAH2JCJPAdd progress bar to `fluent_embed_interaction` - [4]
JUV7C6ETCreate initial prototype of `fluent_embed_interaction` - [5]
7M4UI3TWUpdate dependencies to latest versions - [6]
3NMKD6I5Refactor `Localize` trait to use `std::io::Write` - [7]
GJMBIJOEMigrate to latest env_preferences version - [*]
HHJDRLLNCreate `fluent_embed_runtime` crate
Change contents
- replacement in fluent_embed_interaction/src/prompt/select.rs at line 20
.map(|item| {let mut buffer = Vec::new();item.localize(&mut buffer).map(|_| buffer)}).collect::<Result<Vec<Vec<u8>>, LocalizationError>>()?.into_iter().map(|item| String::from_utf8(item).map_err(LocalizationError::InvalidOutput)).map(Localize::localize) - replacement in fluent_embed_interaction/src/prompt/password.rs at line 27
let mut buffer = Vec::new();confirmation.localize(&mut buffer)?;let confirmation_text = String::from_utf8(buffer)?;let confirmation_text = confirmation.localize()?;let mismatch_error_text = mismatch_error.localize()?; - edit in fluent_embed_interaction/src/prompt/password.rs at line 30
let mut buffer = Vec::new();mismatch_error.localize(&mut buffer)?;let mismatch_error_text = String::from_utf8(buffer)?; - replacement in fluent_embed_interaction/src/prompt/macros.rs at line 29
let mut buffer = Vec::new();prompt.localize(&mut buffer)?;let localized_text = String::from_utf8(buffer)?;let localized_text = prompt.localize()?; - replacement in fluent_embed_interaction/src/prompt/macros.rs at line 50
let mut buffer = Vec::new();message.localize(&mut buffer).map_err(|error| error.to_string())?;Err(String::from_utf8_lossy(&buffer).to_string())Err(message.localize().unwrap()) - replacement in fluent_embed_interaction/src/prompt/input.rs at line 18
let mut buffer = Vec::new();default.localize(&mut buffer)?;let localized_text = String::from_utf8(buffer)?;let localized_text = default.localize()?; - replacement in fluent_embed_interaction/src/progress.rs at line 26
let mut buffer = Vec::new();message.localize(&mut buffer)?;let localized_text = String::from_utf8(buffer)?;let localized_text = message.localize()?; - replacement in fluent_embed/src/lib.rs at line 52
fn localize<W: std::io::Write>(&self, writer: &mut W) -> Result<(), LocalizationError> {fn localize(&self) -> Result<String, LocalizationError> { - edit in fluent_embed/src/lib.rs at line 73
let mut buffer = Vec::new(); - replacement in fluent_embed/src/lib.rs at line 76
writer,&mut buffer, - replacement in fluent_embed/src/lib.rs at line 78
))?;let localized_text = String::from_utf8(buffer)?;Ok(localized_text)