Skip to content

Instantly share code, notes, and snippets.

@tomz
Created April 11, 2014 16:28
Show Gist options
  • Save tomz/10482147 to your computer and use it in GitHub Desktop.
Save tomz/10482147 to your computer and use it in GitHub Desktop.
(function() {
var slice;
slice = Array.prototype.slice;
return this.events = {
events: {},
on: function(topic, handler, context) {
if (context == null) {
context = this;
}
this.events[topic] = this.events[topic] || [];
return this.events[topic].push({
handler: handler,
context: context
});
},
trigger: function(topic) {
var args, event, i, l, _results;
if (this.events[topic] == null) {
return;
}
args = slice.apply(arguments_, 1);
i = 0;
l = this.events[topic].length;
event = void 0;
_results = [];
while (i < l) {
event = this.events[topic][i];
event.handler.apply(event.context, args);
_results.push(i++);
}
return _results;
}
};
}).call(this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment