[][src]Trait lazy_transform_str::Transform

pub trait Transform {
    fn transform(
        &self,
        transform_next: impl FnMut(&mut &str) -> TransformedPart
    ) -> Cow<'_, String, str>; }

Helper trait to call transform as method on &str.

Example

use cervine::Cow;
use gnaw::Unshift as _;
use lazy_transform_str::{Transform as _, TransformedPart};
use smartstring::alias::String;

let input = r#"a "quoted" word"#;

// Escape double quotes
let output = input.transform(|rest| match rest.unshift().unwrap() {
    c @ '\\' | c @ '"' => {
        let mut changed = String::from(r"\");
        changed.push(c);
        TransformedPart::Changed(changed)
    }
    _ => TransformedPart::Unchanged,
});

assert_eq!(output, Cow::Owned(r#"a \"quoted\" word"#.into()));

Required methods

fn transform(
    &self,
    transform_next: impl FnMut(&mut &str) -> TransformedPart
) -> Cow<'_, String, str>

Loading content...

Implementations on Foreign Types

impl Transform for str[src]

Loading content...

Implementors

Loading content...