33 lines
622 B
JavaScript
33 lines
622 B
JavaScript
"use strict";
|
|
|
|
exports.events = {};
|
|
|
|
/**
|
|
* @param name
|
|
* @param data
|
|
*/
|
|
exports.emit = function (name, data) {
|
|
var event = exports.events[name];
|
|
var listeners;
|
|
if (event && event.listeners) {
|
|
listeners = event.listeners;
|
|
for (var i = 0, n = listeners.length; i < n; i += 1) {
|
|
listeners[i](data);
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* @param name
|
|
* @param func
|
|
*/
|
|
exports.on = function (name, func) {
|
|
var events = exports.events;
|
|
if (!events[name]) {
|
|
events[name] = {
|
|
listeners: [func]
|
|
};
|
|
} else {
|
|
events[name].listeners.push(func);
|
|
}
|
|
}; |