A small (~400 bytes gzipped) Pub/Sub plugin for implementing broadcasters in jQuery
import 'watcher-min.js'
// subscribe to (watch) an event
var sub1 = $.watcher('subscribe', '/myEvents/event1', function(results) {
console.log('Event received', result);
});
// publish an event
$.watcher('publish', '/myEvents/event1', {myParam : 'Param Value'});
// unsubscribe to an event
$.watcher('unsubscribe', '/myEvents/event1', sub1);
// remove all subscribers from an event
$.watcher('unsubscribeAll', '/myEvents/event1');
// get all subscribers to an event
var myWatchers = $.watcher('getWatchers', '/myEvents/event1');
The watcher plugin runs as a singleton so every call (listed below) gets wrapped into the $.watcher()
method.
The signature for every call is as follows:
$.watcher(action, event, handler/data);
action
String : Type of action to execute on the $.watcher pluginevent
String : Type (name) of eventhandler
Function : (Subscribe Only) Function to call or execute when the event being watched is publisheddata
Object : (Publish Only) A collection of key/value pairs to be passed along to any subscribers of the event
Get a reference to all subscribers of a specific event.
event
String : Type (name) of event to watch
watchers
Array : An array of references to subscribers to the specified event
Broadcast an event to all subscribers
event
String : Type of event to unregisterhandler
from, or"*"
data
Object : A collection of key/value pairs to be passed along to any subscribers of the event
Listens for an event to be broadcast and executes a handler (callback) method Will also receive a results object allowing for additional parameters to be passed from the broadcaster
event
String : Type (name) of event to watchhandler
Function : Function to call or execute when the event being watched is published
Removes a specific watcher from an event subscription This is good practice to do when the subscription is no longer needed to mark for garbage cleanup
event
String : Type (name) of event to unsunscribe fromreference
[Any] : A variable reference to whatever was used when setting up the watcher initially
Removes all watchers from an event subscription This is good practice to do when the event is no longer needed to mark all watchers for garbage cleanup
event
String : Type (name) of event to remove subscribers from