heapwolf / eventemitter

Rust event emitter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SYNOPSIS

An event emtter for Rust.

USAGE

mod events;

fn main () {
    let mut e = events::EventEmitter::new();

    e.on("click", |data: &mut dyn Any| {

        //
        // Listen for any data structure and re-cast it.
        //
        let d = &mut data.downcast_mut::<Args>().unwrap();
        assert_eq!(d.x, 1);
    });

    struct Args {
        pub x: usize,
        pub y: usize,
    }

    //
    // Emit any data structure
    //
    e.emit("click", &mut Args { x: 1, y: 2 });
}

About

Rust event emitter


Languages

Language:Rust 100.0%