sublish is a minimalist lightweight (663 Bytes minified and 336 Bytes gzipped) implementation of publish/subscribe.
npm install sublish
git clone https://github.com/pluma/sublish.git
cd sublish
npm install
npm run test && npm run dist
component install pluma/sublish
bower install sublish
Download the latest minified CommonJS release and add it to your project.
Learn more about CommonJS modules.
Download the latest minified AMD release and add it to your project.
Download the latest minified standalone release and add it to your project.
<script src="/your/js/path/sublish.globals.min.js"></script>
This makes the sublish
module available in the global namespace.
var myPubSub = require('sublish')();
var listener = function(message) {
console.log('myPubSub says: "' + message + '"');
});
myPubSub.subscribe(listener);
myPubSub.publish('something amazing');
// -> 'myPubSub says: "something amazing"'
myPubSub.unsubscribe(listener);
myPubSub.publish('talking to myself');
// -> nothing happens
var PubSub = require('sublish').PubSub;
var inherits = require('util').inherits;
function MyFancyPubSub() {
PubSub.call(this);
}
inherits(MyFancyPubSub, PubSub);
var PubSub = require('sublish').PubSub;
var extend = require('extend');
function MyFancyPubSub() {
PubSub.call(this);
}
extend(MyFancyPubSub.prototype, PubSub.prototype);
Creates a new PubSub instance.
Adds the given function to the instance's subscribers.
Note: the function will be invoked with its this
context set to the given ctx
. If ctx
is false-y, the PubSub instance will be used instead.
Removes the given function from the instance's subscribers.
Returns true
if the subscriber exists, false
otherwise.
Publishes the given arguments as a message. Every callback function in this object's list of subscribers will be called sequentially with the given messages as its arguments.
The MIT/Expat license. For more information, see http://pluma.mit-license.org/ or the accompanying LICENSE file.