Socket
Socket
Sign inDemoInstall

obz

Package Overview
Dependencies
Maintainers
6
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

obz

simple and lightweight observer


Version published
Maintainers
6
Created
Source

obz

A fork of https://github.com/dominictarr/obv

Represents a value changing in time.

Sometimes you have a sequence of values over time, usually we use streams for this. However, in some cases, the latest value, or the next value matters more than the entire history of values.

For example, if you are drawing the mouse pointer, you just need the current position, not the historical positions.

An observable is a simple way to represent these instantaniously changing values.

Obv() => observable

returns an observable instance.

observable(listener=function, immediate=boolean) => remove

register listener with the observable. immediate is true by default. listener is called with the current value (if one has been set), set to false to disable.

A function remove is returned, calling this function deregisters the listener.

Another way of deregistering the listener is by returning false from inside the listener function.

observable.set(value=any)

set the current value of this observable. Any registered listeners will be called.

observable.once(listener=function, immediate=boolean) => remove

Like the above call to observable() except the listener will only be triggered once.

This is useful for representing variables which must be set after an async operation (say, initializing a database connection), but if the value is initalized you can act on it immediately.

If you call observable.once(listener, false) that triggers at the next time the value is set, which so far I have used to create live streams.

observable.value

The current value of the observable is provided as a property. I recommend not using null as a observable value in your program, because it makes testing the current value awkward.

License

MIT

FAQs

Package last updated on 01 Oct 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc