spincycle
Version:
A reactive message router and object manager that lets clients subscribe to object property changes on the server
42 lines (30 loc) • 1.05 kB
text/coffeescript
debug = process.env["DEBUG"]
class ClientEndpoints
= []
= []
= []
: (address, sendFunc) ->
#console.log 'ClientEndpoints.registerEndpoint called for address '+address
[address] = sendFunc
.forEach (cb) => cb(address)
: (address) ->
if debug then console.log 'deleting endpoint '+address
delete [address]
.forEach (cb) => cb(address)
: (address, msg) ->
#console.log 'sendToEndpoint "'+address+'" called. endpoints are..'
#console.dir
func = [address]
if func
func(msg)
else
console.log '** no endpoint found for address '+address
: (address) =>
rv = [address]
#console.log 'ClientEndpoints.exists called for '+address+' -> '+rv
rv
: (cb) =>
.push cb
: (cb) =>
.push cb
module.exports = ClientEndpoints