Skip to content
yingDevPublic

About

Reactive Extensions for Rust

Resources

Stars

122 stars

Watchers

12 watching

Forks

Latest commit

 

History

493 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation


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

About

Reactive Extensions for Rust

Resources

Stars

122 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages