use super::super::*;
use std::fmt;
pub const MARKUP_DELIMITER: char = '|';
pub const MARKUP_ESCAPED_DELIMITER: &str = "\\|";
pub fn escape_depiction_markup<ThingT>(thing: ThingT) -> String
where
ThingT: fmt::Display,
{
thing.to_string().replace(MARKUP_DELIMITER, MARKUP_ESCAPED_DELIMITER)
}
pub trait MapEscapeDepictionError<OkT> {
fn map_escape_depiction_error(self) -> Result<OkT, DispatchError>;
}
impl<OkT, FromErrorT> MapEscapeDepictionError<OkT> for Result<OkT, FromErrorT>
where
FromErrorT: fmt::Display,
{
fn map_escape_depiction_error(self) -> Result<OkT, DispatchError> {
self.map_err(|error| escape_depiction_markup(error))
}
}