Skip to content

Instantly share code, notes, and snippets.

View kubk's full-sized avatar

Egor Gorbachev kubk

View GitHub Profile
@kubk
kubk / rxjs-plain.ts
Last active April 27, 2021 07:44
Counter state using different JS libraries
// RxJS - FRP
const increment = new Subject<void>();
const decrement = new Subject<void>();
const add = new Subject<number>();
type State = number;
const count$ = merge(
increment.pipe(mapTo((state: State) => state + 1))
decrement.pipe(mapTo((state: State) => state - 1)),
interface Observer<T> {
next(value: T)
complete()
error(error: unknown)
}
class Observable<T> {
constructor(public subscribe: (observer: Observer<T>) => void) {}
map(mapper: (x: T) => T): Observable<T> {