[][src]Trait twitchchat::messages::Extract

pub trait Extract<'a, T: 'a> {
    fn extract(&'a self) -> Option<T>;
}

Extract a value from the AllCommands enum

An example:

let input = ":test!user@host PRIVMSG #museun :this is a test\r\n";
let msg: decode::Message<'_> = decode(input).next().map(|c| c.unwrap()).unwrap();

let all = AllCommands::parse(&msg).unwrap();
let all_ref = &all; // has to be a borrowed AllCommands. this doesn't move anything

let pm: Option<&Privmsg<'_>> = all_ref.extract();
let pm: &Privmsg<'_> = pm.unwrap();

Required methods

fn extract(&'a self) -> Option<T>

Tries to extract the value

Loading content...

Implementors

impl<'a: 't, 't> Extract<'a, &'a Message<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Cap<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a ClearChat<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a ClearMsg<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a GlobalUserState<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a HostTarget<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a IrcReady<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Join<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Notice<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Part<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Ping<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Pong<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Privmsg<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Ready<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Reconnect> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a RoomState<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a UserNotice<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a UserState<'t>> for &'a AllCommands<'t>[src]

impl<'a: 't, 't> Extract<'a, &'a Whisper<'t>> for &'a AllCommands<'t>[src]

Loading content...