2 releases

Uses old Rust 2015

0.1.1 Apr 16, 2018
0.1.0 Apr 12, 2018

#856 in GUI

MIT license

365KB
3.5K SLoC


RxRs - Reactive Extensions for Rust


WIP: rxrs is under heavy development & not ready for production

    use rxrs::*;

    #[test]
    pub fn greet()
    {
        let output = RefCell::new(String::new());

        let subj = Rc::new(Subject::<NO, i32>::new());

        let evens: impl Observable<NO, Val<String>> = subj.clone()
            .filter(|v:&_| v%2 == 0 )
            .take(4)
            .map(|v:&_| format!("*{}", v));

        evens.subscribe(
            |v: String| output.borrow_mut().push_str(&v),
            |e| output.borrow_mut().push_str("ok")
        );

        for i in 0..10 {
            subj.next(i);
        }

        assert_eq!("*0*2*4*6ok", &*output.borrow());
    }

src
├── by.rs
├── error.rs
├── fac
   ├── iter.rs
   ├── merge.rs
   ├── mod.rs
   ├── of.rs
   └── timer.rs
├── lib.rs
├── observable.rs
├── observer.rs
├── op
   ├── filter.rs
   ├── map.rs
   ├── merge.rs
   ├── mod.rs
   ├── skip.rs
   ├── start.rs
   ├── take.rs
   └── until.rs
├── scheduler
   ├── current_thread_scheduler.rs
   ├── event_loop_scheduler.rs
   ├── mod.rs
   └── new_thread_scheduler.rs
├── subject
   ├── behavior_subject.rs
   ├── mod.rs
   └── subject.rs
├── sync
   ├── act.rs
   ├── any_send_sync.rs
   ├── mod.rs
   ├── re_spin_lock.rs
   ├── re_spin_mutex.rs
   ├── recur_cell.rs
   ├── ss_mark.rs
   └── yesno.rs
├── unsub.rs
└── util
    ├── clones.rs
    └── mod.rs


Dependencies

~17MB
~405K SLoC