mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 09:24:51 +00:00
feature(util) mv addListener, removeListener from cloudfunc
This commit is contained in:
parent
e7dad86f91
commit
5e12b475bb
4 changed files with 77 additions and 60 deletions
|
|
@ -33,58 +33,7 @@ var Util;
|
|||
this.CHANNEL_TERMINAL_RESIZE= 'terminal-resize';
|
||||
this.MAX_FILE_SIZE = 500 * 1024;
|
||||
|
||||
this.addListener = function(name, func, allListeners, socket) {
|
||||
var listeners, obj,
|
||||
type = Util.getType(name);
|
||||
|
||||
switch(type) {
|
||||
case 'string':
|
||||
listeners = allListeners[name];
|
||||
|
||||
if (!listeners)
|
||||
listeners = allListeners[name] = [];
|
||||
|
||||
listeners.push(func);
|
||||
|
||||
if (func && socket)
|
||||
socket.on(name, func);
|
||||
|
||||
break;
|
||||
|
||||
case 'object':
|
||||
obj = name;
|
||||
|
||||
Object.keys(obj).forEach(function(name) {
|
||||
func = obj[name];
|
||||
CloudFunc.addListener(name, func, allListeners, socket);
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
this.removeListener = function(name, func, allListeners, socket) {
|
||||
var listeners;
|
||||
|
||||
if (socket)
|
||||
socket.removeListener(name, func);
|
||||
|
||||
listeners = allListeners[name];
|
||||
|
||||
if (listeners)
|
||||
listeners = listeners.map(function(listener) {
|
||||
if (listener === func)
|
||||
listener = null;
|
||||
|
||||
return listener;
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
/**
|
||||
* ad new line (if it's not)
|
||||
* @param {string} pText
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue