use crate::common::one_line_response_two_parts_parser;
use crate::types::response::Quit;
use nom::IResult;
pub fn quit(s: &[u8]) -> Option<Quit> {
match quit_parser(s) {
Ok((_, x)) => Some(x),
Err(_) => None,
}
}
pub(crate) fn quit_parser(s: &[u8]) -> IResult<&[u8], Quit> {
one_line_response_two_parts_parser::<Quit>(s)
}
#[cfg(test)]
mod tests {
use super::*;
use crate::common::StatusIndicator;
#[test]
fn test_quit() {
assert_eq!(
quit(b"-ERR some deleted messages not removed\r\n").unwrap(),
Quit {
status_indicator: StatusIndicator::ERR,
information: b"some deleted messages not removed"
}
);
}
}