Synopsis
sublish is a minimalist lightweight (663 Bytes minified and 336 Bytes gzipped) implementation of publish/subscribe.
Install
Node.js
With NPM
npm install sublish
From source
git clone https://github.com/pluma/sublish.gitcd sublishnpm installnpm run test && npm run dist
Browser
With component
component install pluma/sublish
With bower
bower install sublish
With a CommonJS module loader
Download the latest minified CommonJS release and add it to your project.
Learn more about CommonJS modules.
With an AMD module loader
Download the latest minified AMD release and add it to your project.
As a standalone library
Download the latest minified standalone release and add it to your project.
This makes the sublish
module available in the global namespace.
Basic usage example
var myPubSub = ; var { console;}); myPubSub;myPubSub;// -> 'myPubSub says: "something amazing"' myPubSub;myPubSub;// -> nothing happens
Extending by inheritance
var PubSub = PubSub;var inherits = inherits; { PubSub;};
Extending as a mixin
var PubSub = PubSub;var extend = ; { PubSub;};
API
new PubSub()
Creates a new PubSub instance.
pubsub.subscribe(fn:Function, ctx:*):Function
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.
pubsub.unsubscribe(fn:Function, ctx:*):Boolean
Removes the given function from the instance's subscribers.
Returns true
if the subscriber exists, false
otherwise.
pubsub.publish(args…)
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.
License
The MIT/Expat license. For more information, see http://pluma.mit-license.org/ or the accompanying LICENSE file.