Skip to content

Instantly share code, notes, and snippets.

@jxson
Created July 18, 2014 18:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jxson/06c0442f72c402465ec4 to your computer and use it in GitHub Desktop.
Save jxson/06c0442f72c402465ec4 to your computer and use it in GitHub Desktop.
var extend = require('xtend');
module.exports = SinkEventHandler;
function SinkEventHandler(sink, data) {
if (!(this instanceof SinkEventHandler)) {
return new SinkEventHandler(sink, data);
}
this.sink = sink;
this.id = sink.id;
this.data = extend({ preventDefault: true }, data);
}
SinkEventHandler.prototype.handleEvent = handleEvent;
function handleEvent(ev) {
var data = this.data;
if (data.preventDefault) ev.preventDefault();
if (typeof this.sink === 'function') {
this.sink(this.data);
} else {
this.sink.write(this.data);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment