observavir - v2.0.2

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 update value (and listeners) when the Promise is set and then resolved or rejected so you can track and even await the Promises. Also includes a lastResolvedValue for anything that does't care about the Promise lifecycle.
  • CallbackObservable: A sub-class of AsyncObservable that accepts a callback for triggering updates of value.
  • IntervalObservable: A sub-class of CallbackObservable that will automatically update itself at a give internal rate.