UNPKG

ks3-js-sdk

Version:

js sdk for ks3

35 lines (29 loc) 768 B
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;