Previously known as notify-js,
broadcast is a private or public notification chanel inspired by standards.
Useful for loaders, components bootstrap, geo position updates, and all other asynchronous or on demand user granted privileges operations,
broadcast works on every browser and every platform, it's 100% tests covered, and it weights less than 1Kb.
// as Promise,// inspired by customRegistry.whenDefined(...).then(...)// will you ever ask for a geo position or// have you asked for it already ?broadcast;// as Callback,// receiving one or more arguments// have you read that file before or// will you read it at some point ?broadcast;// as one-off Event (Promise or Callback)broadcast;
It doesn't matter if a channel was resolved, updated, or never asked for, whenever that happens, broadcasts will follow.
// that position? only once asked for itnavigatorgeolocation;// update the position each change? samenavigatorgeolocation;// the file? You got it.fs;// top of the pagedocument;
broadcast happens only once asked for it, and it will receive the latest resolution.
If you'd like to listen to all broadcasted changes, you can use
and eventually stop listening to it via
There are two different ways to have a private broadcasts:
Symbolas channel, like in
const pvt = broadcast.new();
The first way enables shared, yet private, resolutions while the second one would be unreachable outside its scope.
The node module is available via
npm install broadcast.
This library is compatible with every JS engine since ES3, both browser and server,
Promise polyfill might be needed to use Promise based patterns.