electron/common/api/lib/callbacks_registry.coffee

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]