mirror of
https://github.com/atom/atom.git
synced 2026-01-24 14:28:14 -05:00
21 lines
433 B
CoffeeScript
21 lines
433 B
CoffeeScript
_ = require 'underscore'
|
|
|
|
module.exports =
|
|
class Event
|
|
events: {}
|
|
|
|
on: (name, callback) ->
|
|
@events[name] ?= []
|
|
@events[name].push callback
|
|
|
|
off: (name, callback) ->
|
|
delete @events[name][_.indexOf callback] if @events[name]
|
|
|
|
trigger: (name, data...) ->
|
|
if name.match /^app:/
|
|
OSX.NSApp.triggerGlobalAtomEvent_data name, data
|
|
return
|
|
|
|
_.each @events[name], (callback) => callback data...
|
|
null
|