observavir
v2.0.3
Published
flexible observables
Downloads
1,129
Readme
observavir
Flexible and simple observables with multiple implementations.
Supports CJS and ESM import.
install
npm i observavir
usage
Full docs: https://electrovir.github.io/observavir
All observables have a .value
property for accessing the current value and a .listen()
method for attaching callbacks to value updates.
Several different observable classes are exported from this package:
Observable
: Bare bones basic observable. Can be listened to and its value can be updated with.setValue()
.AsyncObservable
: If given a Promise, it will updatevalue
(and listeners) when the Promise is set and then resolved or rejected so you can track and evenawait
the Promises. Also includes alastResolvedValue
for anything that does't care about the Promise lifecycle.CallbackObservable
: A sub-class ofAsyncObservable
that accepts a callback for triggering updates ofvalue
.IntervalObservable
: A sub-class ofCallbackObservable
that will automatically update itself at a give internal rate.