# rxrs **Repository Path**: ZeroBlock0/rxrs ## Basic Information - **Project Name**: rxrs - **Description**: Reactive Extensions for Rust - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-26 - **Last Updated**: 2021-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README


RxRs - Reactive Extensions for Rust


__WIP: rxrs is under heavy development & not ready for production__ ```rust use rxrs::*; #[test] pub fn greet() { let output = RefCell::new(String::new()); let subj = Rc::new(Subject::::new()); let evens: impl Observable> = 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()); } ``` ```bash 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 ```