spincycle
Version:
A reactive message router and object manager that lets clients subscribe to object property changes on the server
70 lines (53 loc) • 1.66 kB
JavaScript
// Generated by CoffeeScript 1.8.0
(function() {
var ClientEndpoints, debug;
debug = process.env["DEBUG"];
ClientEndpoints = (function() {
function ClientEndpoints() {}
ClientEndpoints.endpoints = [];
ClientEndpoints.ondisconnectcbs = [];
ClientEndpoints.onconnectcbs = [];
ClientEndpoints.registerEndpoint = function(address, sendFunc) {
this.endpoints[address] = sendFunc;
return this.onconnectcbs.forEach((function(_this) {
return function(cb) {
return cb(address);
};
})(this));
};
ClientEndpoints.removeEndpoint = function(address) {
if (debug) {
console.log('deleting endpoint ' + address);
}
delete this.endpoints[address];
return this.ondisconnectcbs.forEach((function(_this) {
return function(cb) {
return cb(address);
};
})(this));
};
ClientEndpoints.sendToEndpoint = function(address, msg) {
var func;
func = this.endpoints[address];
if (func) {
return func(msg);
} else {
return console.log('** no endpoint found for address ' + address);
}
};
ClientEndpoints.exists = function(address) {
var rv;
rv = ClientEndpoints.endpoints[address];
return rv;
};
ClientEndpoints.onDisconnect = function(cb) {
return ClientEndpoints.ondisconnectcbs.push(cb);
};
ClientEndpoints.onConnect = function(cb) {
return ClientEndpoints.onconnectcbs.push(cb);
};
return ClientEndpoints;
})();
module.exports = ClientEndpoints;
}).call(this);
//# sourceMappingURL=ClientEndpoints.js.map