Class: Dendrite
| Defined in: | src/dendrite.coffee |
Overview
dendrite - An extended Observer pattern implementation, worked at any JavaScript environment.
GitHub repository dendrite
Thanks to Joe Zim for original Publish/Subscribe plugin for jQuery
Constant Summary
-
DEBUG
=
Verbose levels constants
-
3 - WARNING =
-
2 - ERROR =
-
1 - SILENT =
-
0
Instance Method Summary
- - (void) constructor(options = {}) Constructor Construct a new Dendrite.
- - (Object) subscribe(topics, callback, context = {}) Subscribe to topic(s).
- - (Object) subscribeGuarded(topics, callback, watchdog, context = {}) Subscribe to topic(s) with 'watchdog' function to handle errors here, in subscriber.
- - (Object) unsubscribe(topics, callback, context) Unsubscribe from topic(s) or remove all subscribers from topic(s).
- - (Object) publish(topics, data...) Synchronously publish any data to topic(s).
- - (Object) publishSync(topics, data...) Alias for #publish
- - (Object) publishAsync(topics, data...) Asynchronously publish any data to topic(s).
Constructor Details
- (void) constructor()
- (void) constructor(options)
Construct a new Dendrite.
Examples:
dendrite_obj = new Dendrite verbose : 'warning'
Instance Method Details
- (Object) subscribe(topics, callback)
- (Object) subscribe(topics, callback, context)
Subscribe to topic(s).
Examples:
handler = dendrite_obj.subscribe 'foo', (topic, data...) -> console.log data, topic
- (Object) subscribeGuarded(topics, callback, watchdog)
- (Object) subscribeGuarded(topics, callback, watchdog, context)
Subscribe to topic(s) with 'watchdog' function to handle errors here, in subscriber.
Examples:
context_object =
name : 'Context Object'
callback : (topic, data) -> throw Error "Die at #{topic}"
watchdog : (err, options) ->
console.log "Error in | #{@name} |"
console.log "Error string: | #{err} |"
console.log "Error detail", options
null
handler = dendrite_obj.subscribeGuarded 'foo', context_object.callback, context_object.watchdog, context_object
- (Object) unsubscribe(topics)
- (Object) unsubscribe(topics, callback)
- (Object) unsubscribe(topics, callback, context)
- (Object) unsubscribe(handler)
Unsubscribe from topic(s) or remove all subscribers from topic(s).
Examples:
dendrite_obj.unsubscribe 'foo bar', callback_reference, obj
dendrite_obj.unsubscribe 'bar baz'
- (Object) publish(topics)
- (Object) publish(topics, data...)
Synchronously publish any data to topic(s).
Examples:
dendrite_obj.publish 'foo bar', 'This is some data'
- (Object) publishSync(topics, data...)
Alias for #publish