[−][src]Function ellidri::modes::channel_query
pub fn channel_query<'a, I>(
modes: &'a str,
params: I
) -> impl Iterator<Item = Result<ChannelModeChange<'a>>> where
I: IntoIterator<Item = &'a str> + 'a,
An iterator over the changes of a MODE query.
Example
let mut query = modes::channel_query("-olX+kmv", vec!["admin", "secret_key"]); assert_eq!(query.next(), Some(Ok(ChannelModeChange::ChangeOperator(false, "admin")))); assert_eq!(query.next(), Some(Ok(ChannelModeChange::UserLimit(None)))); assert_eq!(query.next(), Some(Err(Error::UnknownMode('X')))); assert_eq!(query.next(), Some(Ok(ChannelModeChange::Key(true, "secret_key")))); assert_eq!(query.next(), Some(Ok(ChannelModeChange::Moderated(true)))); assert_eq!(query.next(), Some(Err(Error::MissingModeParam))); assert_eq!(query.next(), None);