RxJS

pipe + operators

typescript
import { fromEvent, map, filter, debounceTime } from "rxjs";

const clicks$ = fromEvent<MouseEvent>(document, "click").pipe(
  debounceTime(250),
  map((e) => ({ x: e.clientX, y: e.clientY })),
  filter((p) => p.x > 0)
);

clicks$.subscribe(console.log);