ks3-js-sdk
Version:
js sdk for ks3
35 lines (29 loc) • 768 B
JavaScript
var initEvent = function (ks3) {
var listeners = {};
var getList = function (action) {
!listeners[action] && (listeners[action] = []);
return listeners[action];
};
ks3.on = function (action, callback) {
getList(action).push(callback);
};
ks3.off = function (action, callback) {
var list = getList(action);
for (var i = list.length - 1; i >= 0; i--) {
callback === list[i] && list.splice(i, 1);
}
};
ks3.emit = function (action, data) {
var list = getList(action).map(function (cb) {
return cb;
});
for (var i = 0; i < list.length; i++) {
list[i](data);
}
};
};
var EventProxy = function () {
initEvent(this);
};
module.exports.init = initEvent;
module.exports.EventProxy = EventProxy;