Rx-01

https://vsavkin.com/the-taxonomy-of-reactive-programming-d40e2e23dee4#.w2n08rahw

by Wemlin

HTML

<script src="https://unpkg.com/@reactivex/[email protected]/dist/global/Rx.min.js"></script>

<div class="stage">

</div>

CSS

.stage {
  width: 300px;
  height: 300px;
  background-color: #e00;
}

TypeScript

type Pair = [number, number]; 
var Observable = (<any>window).Rx.Observable;
var BehaviorSubject = (<any>window).Rx.BehaviorSubject;

const moves: Observable<Pair> = 
  Observable.fromEvent(document.body, "mousemove").
  map(e => [e.screenX, e.screenY])
const position = new BehaviorSubject<Pair>([0,0]);
window.position = position;
moves.subscribe(position); 

console.log(position)