State management solution combining fp-ts, RxJS and monocle-ts
fp-ts-atom
State management solution combining fp-ts
, RxJS
and monocle-ts
fp-ts-atom
aims to befriend RxJS
and monocle-ts
and provide a convenient way to manage state in a reactive way.
Inspired by @grammarly/focal
Features
- ♨️ Any
Atom
is a hotObservable
- ? Lazy initial value evaluation
- ? Deferred source subscription
- ? Compatible with
Lens
frommonocle-ts
- ? Natively extends
fp-ts
ecosystem - ? Type-safe operations
- ? Covered by tests
Example
import * as a from 'fp-ts-atom/Atom'
const state$ = a.of(0);
state$.get(); // 0
state$.set(3);
state$.get(); // 3
API Reference
Install
Uses fp-ts
, rxjs
and monocle-ts
as a peer dependency.
yarn add fp-ts rxjs monocle-ts fp-ts-atom
or
npm install fp-ts rxjs monocle-ts fp-ts-atom