wheels-pubsub

0.0.1 • Public • Published

Wheels PubSub

Simple and lightweight PubSub, fully compatible with CommonJS (Node), AMD and standard browser script tag include.

Install

wheels-pubsub can be included in a project with CommonJS / npm, AMD or standard browser script tag. Its only dependency is wheels-class.

npm

npm install wheels-pubsub

AMD / RequireJS

// Remember to provide the dependency `wheels-class`
require(["wheels-pubsub"], function( PubSub ) {
    var ps = new PubSub();
});

Traditional browser script tag

<script type="text/javascript" src="path/to/wheels-class.js"></script>
<script type="text/javascript" src="path/to/wheels-pubsub.js"></script>
<script type="text/javascript">
    var ps = new Wheels.PubSub();
</script> 

Usage

var ps = new PubSub();
 
var cbk = function( evt ) {
    console.log("Event " + evt + " was triggered!");
};
 
// Subscribe to an event:
ps.on("foo", cbk);
 
// emit event:
ps.emit("foo"); // Console will log "Event foo was triggered!"
 
// Pass other arguments when emitting event:
ps.on("bar", function( evt, arg1, arg2 ) {
    console.log( "Received event " + evt + "with args " + arg1 + " and " + arg2 );
});
ps.emit("bar", 123, "abc"); // Console will log "Received event bar with arguments 123 and abc"
 
// Unsubscribe:
ps.off("foo", cbk); // Unsubscribe `cbk` from event "foo"
ps.off("foo");      // Unsubscribe any callback from event foo
ps.off();           // Unsubscribe any callback from any event
 
// Subscribe to an event only once:
ps.once("foo", cbk);
ps.emit("foo"); // Console will log "Event foo was triggered!"
ps.emit("foo"); // Console won't log anything

Readme

Keywords

none

Package Sidebar

Install

npm i wheels-pubsub

Weekly Downloads

1

Version

0.0.1

License

none

Last publish

Collaborators

  • lucaong