use nom::{bytes::streaming::tag_no_case, IResult, Parser};
use crate::{
core::{number_64, paren_delimited},
rfc3501::{AttributeValue, ResponseCode, StatusAttribute},
};
pub(crate) fn resp_text_code_highest_mod_seq(i: &[u8]) -> IResult<&[u8], ResponseCode<'_>> {
let (i, (_, num)) = (tag_no_case("HIGHESTMODSEQ "), number_64).parse(i)?;
Ok((i, ResponseCode::HighestModSeq(num)))
}
pub(crate) fn status_att_val_highest_mod_seq(i: &[u8]) -> IResult<&[u8], StatusAttribute> {
let (i, (_, num)) = (tag_no_case("HIGHESTMODSEQ "), number_64).parse(i)?;
Ok((i, StatusAttribute::HighestModSeq(num)))
}
pub(crate) fn msg_att_mod_seq(i: &[u8]) -> IResult<&[u8], AttributeValue<'_>> {
let (i, (_, num)) = (tag_no_case("MODSEQ "), paren_delimited(number_64)).parse(i)?;
Ok((i, AttributeValue::ModSeq(num)))
}