12345678910111213141516171819202122232425262728293031323334353637 |
- var events = {};
- function on(name, self, callback) {
- var tuple = [self, callback];
- var callbacks = events[name];
- if (Array.isArray(callbacks)) {
- callbacks.push(tuple);
- }
- else {
- events[name] = [tuple];
- }
- }
- function remove(name, self) {
- var callbacks = events[name];
- if (Array.isArray(callbacks)) {
- events[name] = callbacks.filter((tuple) => {
- return tuple[0] != self;
- })
- }
- }
- function emit(name, data) {
- var callbacks = events[name];
- if (Array.isArray(callbacks)) {
- console.log(callbacks,'callbacks');
- callbacks.map((tuple) => {
- var self = tuple[0];
- var callback = tuple[1];
- callback.call(self, data);
- })
- }
- }
- exports.on = on;
- exports.remove = remove;
- exports.emit = emit;
|