21 lines
368 B
CoffeeScript
21 lines
368 B
CoffeeScript
module.exports =
|
|
class CallbacksRegistry
|
|
constructor: ->
|
|
@nextId = 0
|
|
@callbacks = {}
|
|
|
|
add: (callback) ->
|
|
@callbacks[++@nextId] = callback
|
|
@nextId
|
|
|
|
get: (id) ->
|
|
@callbacks[id]
|
|
|
|
call: (id, args...) ->
|
|
@get(id).call global, args...
|
|
|
|
apply: (id, args...) ->
|
|
@get(id).apply global, args...
|
|
|
|
remove: (id) ->
|
|
delete @callbacks[id]
|