mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
feature(util) checkArgs -> check
This commit is contained in:
parent
5ce9ceb0f3
commit
dc3ecd9f56
27 changed files with 99 additions and 86 deletions
|
|
@ -150,7 +150,7 @@ var Util, DOM, CloudFunc, join;
|
|||
this.join = function(urls) {
|
||||
var prefix = CloudCmd.PREFIX;
|
||||
|
||||
Util.checkArgs(arguments, ['urls']);
|
||||
Util.check(arguments, ['urls']);
|
||||
|
||||
urls = urls.map(function(url) {
|
||||
return url.replace(prefix, '');
|
||||
|
|
|
|||
|
|
@ -425,7 +425,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
DOM.RESTful.write(path, file, callback);
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['files']);
|
||||
Util.check(arguments, ['files']);
|
||||
|
||||
if (files.length) {
|
||||
func = func(files[0].name);
|
||||
|
|
@ -495,7 +495,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
from : path
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['operation']);
|
||||
Util.check(arguments, ['operation']);
|
||||
|
||||
if (operation.pack) {
|
||||
op = RESTful.pack;
|
||||
|
|
@ -1260,7 +1260,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
nameHash = name + '-hash',
|
||||
getStoreHash = Util.exec.with(Storage.get, nameHash);
|
||||
|
||||
Util.checkArgs(arguments, ['name', 'callback']);
|
||||
Util.check(arguments, ['name', 'callback']);
|
||||
|
||||
parallel([loadHash, getStoreHash], function(error, loadHash, storeHash) {
|
||||
var equal,
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
|
|||
var name = Info.name,
|
||||
isDir = Info.isDir;
|
||||
|
||||
Util.checkArgs(arguments, ['callback']);
|
||||
Util.check(arguments, ['callback']);
|
||||
|
||||
if (isDir)
|
||||
Edit.setMode('json');
|
||||
|
|
@ -526,7 +526,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
|
|||
function readWithFlag(flag) {
|
||||
var path = Info.path;
|
||||
|
||||
Util.checkArgs(arguments, ['flag']);
|
||||
Util.check(arguments, ['flag']);
|
||||
|
||||
RESTful.read(path + '?' + flag, function(data) {
|
||||
Ace.setValue(data);
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ var Util, DOM;
|
|||
* @param listener
|
||||
*/
|
||||
this.add = function(type, element, listener) {
|
||||
Util.checkArgs(arguments, ['type']);
|
||||
Util.check(arguments, ['type']);
|
||||
|
||||
parseArgs(type, element, listener, function(element, args) {
|
||||
element.addEventListener.apply(element, args);
|
||||
|
|
@ -124,7 +124,7 @@ var Util, DOM;
|
|||
* @param element {document by default}
|
||||
*/
|
||||
this.remove = function(type, element, listener) {
|
||||
Util.checkArgs(arguments, ['type']);
|
||||
Util.check(arguments, ['type']);
|
||||
|
||||
parseArgs(type, element, listener, function(element, args) {
|
||||
element.removeEventListener.apply(element, args);
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ var Util, DOM, CloudCmd;
|
|||
this.get = function(name, callback) {
|
||||
var type = Util.type(name);
|
||||
|
||||
Util.checkArgs(arguments, ['name', 'callback']);
|
||||
Util.check(arguments, ['name', 'callback']);
|
||||
|
||||
switch(type) {
|
||||
case 'string':
|
||||
|
|
@ -51,7 +51,7 @@ var Util, DOM, CloudCmd;
|
|||
regExp = new RegExp(strFiles),
|
||||
isFile = regExp.test(name);
|
||||
|
||||
Util.checkArgs(arguments, [name, data]);
|
||||
Util.check(arguments, [name, data]);
|
||||
|
||||
if (!isFile) {
|
||||
showError(name);
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ var CloudCmd, Util, DOM, CloudFunc, $;
|
|||
}
|
||||
|
||||
function getMediaElement(src, callback) {
|
||||
Util.checkArgs(arguments, ['src', 'callback']);
|
||||
Util.check(arguments, ['src', 'callback']);
|
||||
|
||||
DOM.Files.get('view/media-tmpl', function(error, template) {
|
||||
var rendered, element, type, is,
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
};
|
||||
|
||||
module.exports.listen = function(socket) {
|
||||
Util.checkArgs(arguments, ['socket']);
|
||||
Util.check(arguments, ['socket']);
|
||||
|
||||
webconsole({
|
||||
socket: socket
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ var Util;
|
|||
pathHTML = '',
|
||||
path = '/';
|
||||
|
||||
Util.checkArgs(arguments, ['url', 'template']);
|
||||
Util.check(arguments, ['url', 'template']);
|
||||
|
||||
namesRaw = url.split('/')
|
||||
.slice(1, -1),
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
function save(callback) {
|
||||
var data = Util.json.stringify(config);
|
||||
|
||||
Util.checkArgs(arguments, ['callback']);
|
||||
Util.check(arguments, ['callback']);
|
||||
|
||||
if (data)
|
||||
fs.writeFile(ConfigHome, data, callback);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['files', 'callback']);
|
||||
Util.check(arguments, ['files', 'callback']);
|
||||
|
||||
if (noOptions) {
|
||||
callback = options;
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
bufferSize: 4 * 1024
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['read', 'write', 'callback']);
|
||||
Util.check(arguments, ['read', 'write', 'callback']);
|
||||
|
||||
if (isFunc)
|
||||
callback = options;
|
||||
|
|
|
|||
|
|
@ -21,13 +21,13 @@
|
|||
mkdir = tryRequire('mkdirp') || fs.mkdir;
|
||||
|
||||
exports.create = function(path, type, callback) {
|
||||
Util.checkArgs(arguments, ['path', 'callback']);
|
||||
Util.check(arguments, ['path', 'callback']);
|
||||
|
||||
mkdir(path, callback);
|
||||
};
|
||||
|
||||
exports.read = function(path, type, callback) {
|
||||
Util.checkArgs(arguments, ['path', 'callback']);
|
||||
Util.check(arguments, ['path', 'callback']);
|
||||
|
||||
if (!callback)
|
||||
callback = type;
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
};
|
||||
|
||||
exports.delete = function(path, callback) {
|
||||
Util.checkArgs(arguments, ['path', 'callback']);
|
||||
Util.check(arguments, ['path', 'callback']);
|
||||
|
||||
if (rimraf)
|
||||
rimraf(path, callback);
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
};
|
||||
|
||||
exports.move = function(from, to, callback) {
|
||||
Util.checkArgs(arguments, ['path', 'to', 'callback']);
|
||||
Util.check(arguments, ['path', 'to', 'callback']);
|
||||
|
||||
fs.rename(from, to, function(error) {
|
||||
var isExDev = error && error.code === 'EXDEV';
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
};
|
||||
|
||||
exports.copy = function(from, to, callback) {
|
||||
Util.checkArgs(arguments, ['from', 'to', 'callback']);
|
||||
Util.check(arguments, ['from', 'to', 'callback']);
|
||||
|
||||
fs.lstat(from, function(error, stat) {
|
||||
var isDir = stat && stat.isDirectory();
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
|
||||
|
||||
module.exports = function(name, callback) {
|
||||
Util.checkArgs(arguments, ['name', 'callback']);
|
||||
Util.check(arguments, ['name', 'callback']);
|
||||
|
||||
getTimes(function(times) {
|
||||
var readTime = times[name];
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
function convertPath(path) {
|
||||
var volume;
|
||||
|
||||
Util.checkArgs(arguments, ['path']);
|
||||
Util.check(arguments, ['path']);
|
||||
|
||||
if (isWin && path !== '/') {
|
||||
volume = path[1];
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
'bigger then ';
|
||||
|
||||
module.exports = function(name, patch, options, callback) {
|
||||
Util.checkArgs(arguments, ['name', 'patch', 'callback']);
|
||||
Util.check(arguments, ['name', 'patch', 'callback']);
|
||||
|
||||
if (!callback) {
|
||||
callback = options;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
function all(streams, options, callback) {
|
||||
var n, write, isFSWrite;
|
||||
|
||||
Util.checkArgs(arguments, ['streams', 'callback']);
|
||||
Util.check(arguments, ['streams', 'callback']);
|
||||
|
||||
n = streams.length - 1;
|
||||
write = streams[n];
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
function getBody(readStream, callback) {
|
||||
var sended, body = '';
|
||||
|
||||
Util.checkArgs(arguments, ['readStream', 'callback']);
|
||||
Util.check(arguments, ['readStream', 'callback']);
|
||||
|
||||
readStream.on('data', function(chunk) {
|
||||
body += chunk;
|
||||
|
|
|
|||
|
|
@ -252,8 +252,8 @@
|
|||
function checkParams(params) {
|
||||
var ret = true;
|
||||
|
||||
Util.checkArgs(arguments, ['params']);
|
||||
Util.checkArgs([params.name, params.request, params.response], ['name', 'requst', 'response']);
|
||||
Util.check(arguments, ['params']);
|
||||
Util.check([params.name, params.request, params.response], ['name', 'requst', 'response']);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@
|
|||
function getQuery(req) {
|
||||
var query, parsed;
|
||||
|
||||
Util.checkArgs(arguments, ['req']);
|
||||
Util.check(arguments, ['req']);
|
||||
|
||||
parsed = url.parse(req.url);
|
||||
query = parsed.query;
|
||||
|
|
@ -272,7 +272,7 @@
|
|||
function getPathName(req) {
|
||||
var pathname, parsed;
|
||||
|
||||
Util.checkArgs(arguments, ['req']);
|
||||
Util.check(arguments, ['req']);
|
||||
|
||||
parsed = url.parse(req.url);
|
||||
pathname = parsed.pathname;
|
||||
|
|
@ -322,7 +322,7 @@
|
|||
'Location': url
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['url', 'response']);
|
||||
Util.check(arguments, ['url', 'response']);
|
||||
|
||||
fillHeader(header, response);
|
||||
response.statusCode = MOVED_PERMANENTLY;
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
WIN = process.platform === 'win32';
|
||||
|
||||
module.exports = function(path, callback) {
|
||||
Util.checkArgs(arguments, ['path', 'callback'])
|
||||
.checkType('path', path, 'string')
|
||||
.checkType('callback', callback, 'function');
|
||||
Util.check(arguments, ['path', 'callback'])
|
||||
.type('path', path, 'string')
|
||||
.type('callback', callback, 'function');
|
||||
|
||||
fs.readdir(path, function(error, names) {
|
||||
if (error)
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
function parseStats(stats) {
|
||||
var files;
|
||||
|
||||
Util.checkArgs(arguments, ['stats']);
|
||||
Util.check(arguments, ['stats']);
|
||||
|
||||
files = Object.keys(stats).map(function(name) {
|
||||
var file, isDir, size, mode, modeStr,
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
files : []
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['params']);
|
||||
Util.check(arguments, ['params']);
|
||||
|
||||
files = parseStats(stats);
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
response : response,
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['request', 'response', 'next']);
|
||||
Util.check(arguments, ['request', 'response', 'next']);
|
||||
|
||||
apiURL = CloudFunc.apiURL;
|
||||
name = ponse.getPathName(request);
|
||||
|
|
@ -260,7 +260,7 @@
|
|||
function onPUT(name, body, callback) {
|
||||
var cmd, files, data, from, to, error;
|
||||
|
||||
Util.checkArgs(arguments, ['name', 'body', 'callback']);
|
||||
Util.check(arguments, ['name', 'body', 'callback']);
|
||||
|
||||
if (name[0] === '/')
|
||||
cmd = name.replace('/', '');
|
||||
|
|
@ -406,7 +406,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
Util.checkArgs(arguments, ['files', 'processFunc', 'callback']);
|
||||
Util.check(arguments, ['files', 'processFunc', 'callback']);
|
||||
|
||||
copy();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
module.exports = function(query, name, callback) {
|
||||
var hashStream, error;
|
||||
|
||||
Util.checkArgs(arguments, ['query', 'name', 'callback']);
|
||||
Util.check(arguments, ['query', 'name', 'callback']);
|
||||
|
||||
switch (query) {
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
module.exports = function(name, readStream, callback) {
|
||||
var baseName = path.basename(name);
|
||||
|
||||
Util.checkArgs(arguments, ['name', 'readStream', 'callback']);
|
||||
Util.check(arguments, ['name', 'readStream', 'callback']);
|
||||
|
||||
pipe.getBody(readStream, function(error, data) {
|
||||
var options = {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
onSave = Util.exec.with(onDone, 'save'),
|
||||
OnMakeDir = Util.exec.with(onDone, 'make dir');
|
||||
|
||||
Util.checkArgs(arguments, ['query', 'name', 'readStream', 'callback']);
|
||||
Util.check(arguments, ['query', 'name', 'readStream', 'callback']);
|
||||
|
||||
switch(query) {
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
lenthPath = TMPL_PATH.length,
|
||||
isRead = lengthTmpl === lenthPath;
|
||||
|
||||
Util.checkArgs(arguments, ['callback']);
|
||||
Util.check(arguments, ['callback']);
|
||||
|
||||
if (isRead) {
|
||||
callback();
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
function route(request, response, callback) {
|
||||
var name, p, isAuth, isFS, path;
|
||||
|
||||
Util.checkArgs(arguments, ['req', 'res', 'callback']);
|
||||
Util.check(arguments, ['req', 'res', 'callback']);
|
||||
|
||||
name = ponse.getPathName(request);
|
||||
isAuth = Util.strCmp(name, ['/auth', '/auth/github']);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
var type, stopOnError,
|
||||
total = 0;
|
||||
|
||||
Util.checkArgs(arguments, ['dir', 'callback']);
|
||||
Util.check(arguments, ['dir', 'callback']);
|
||||
|
||||
if (!callback) {
|
||||
callback = options;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
ConNum = 0;
|
||||
|
||||
module.exports = function(socket) {
|
||||
Util.checkArgs(arguments, ['socket']);
|
||||
Util.check(arguments, ['socket']);
|
||||
|
||||
if (pty)
|
||||
socket
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
if (!callback)
|
||||
callback = option;
|
||||
|
||||
Util.checkArgs(arguments, ['filename', 'callback']);
|
||||
Util.check(arguments, ['filename', 'callback']);
|
||||
|
||||
fs.stat(filename, function(error, stat) {
|
||||
var time, timeRet;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
function getVolumes(callback) {
|
||||
var wmic = spawn('wmic', ['logicaldisk', 'get', 'name']);
|
||||
|
||||
Util.checkArgs(arguments, ['callback']);
|
||||
Util.check(arguments, ['callback']);
|
||||
|
||||
/* stream should be closed on win xp*/
|
||||
wmic.stdin.end();
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
function isVolume(command) {
|
||||
var is, winVolume;
|
||||
|
||||
Util.checkArgs(arguments, ['command']);
|
||||
Util.check(arguments, ['command']);
|
||||
|
||||
if (WIN) {
|
||||
winVolume = new RegExp(WIN_VOLUME + '\\\\.*', 'i');
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
function isChangeVolume(command) {
|
||||
var is, winVolume;
|
||||
|
||||
Util.checkArgs(arguments, ['command']);
|
||||
Util.check(arguments, ['command']);
|
||||
|
||||
if (WIN) {
|
||||
winVolume = new RegExp(WIN_VOLUME, 'i');
|
||||
|
|
|
|||
85
lib/util.js
85
lib/util.js
|
|
@ -59,44 +59,57 @@
|
|||
return !!isMatch;
|
||||
};
|
||||
|
||||
this.checkArgs = function(args, names) {
|
||||
var msg = '',
|
||||
template = '',
|
||||
name = '',
|
||||
|
||||
lenNames = names.length,
|
||||
lenArgs = args.length,
|
||||
lessArgs = lenArgs < lenNames;
|
||||
|
||||
if (lessArgs) {
|
||||
template = '{{ name }} coud not be empty!';
|
||||
name = names[lenNames - 1];
|
||||
|
||||
msg = Util.render(template, {
|
||||
name: name
|
||||
});
|
||||
|
||||
throw(Error(msg));
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
this.check = new checkProto();
|
||||
|
||||
/**
|
||||
* Check is type of arg with name is equal to type
|
||||
*
|
||||
* @param name
|
||||
* @param arg
|
||||
* @param type
|
||||
*/
|
||||
this.checkType = function(name, arg, type) {
|
||||
var is = Util.type(arg) === type;
|
||||
function checkProto() {
|
||||
/**
|
||||
* Check is all arguments with names present
|
||||
*
|
||||
* @param name
|
||||
* @param arg
|
||||
* @param type
|
||||
*/
|
||||
var check = function check(args, names) {
|
||||
var msg = '',
|
||||
template = '',
|
||||
name = '',
|
||||
|
||||
lenNames = names.length,
|
||||
lenArgs = args.length,
|
||||
lessArgs = lenArgs < lenNames;
|
||||
|
||||
if (lessArgs) {
|
||||
template = '{{ name }} coud not be empty!';
|
||||
name = names[lenNames - 1];
|
||||
|
||||
msg = Util.render(template, {
|
||||
name: name
|
||||
});
|
||||
|
||||
throw(Error(msg));
|
||||
}
|
||||
|
||||
return check;
|
||||
};
|
||||
|
||||
if (!is)
|
||||
throw(Error(name + ' should be ' + type));
|
||||
/**
|
||||
* Check is type of arg with name is equal to type
|
||||
*
|
||||
* @param name
|
||||
* @param arg
|
||||
* @param type
|
||||
*/
|
||||
check.type = function(name, arg, type) {
|
||||
var is = Util.type(arg) === type;
|
||||
|
||||
if (!is)
|
||||
throw(Error(name + ' should be ' + type));
|
||||
|
||||
return check;
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
return check;
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy properties from from to to
|
||||
|
|
@ -553,7 +566,7 @@
|
|||
countFuncs = 0,
|
||||
type = Util.type(funcs);
|
||||
|
||||
Util.checkArgs(arguments, ['funcs', 'callback']);
|
||||
Util.check(arguments, ['funcs', 'callback']);
|
||||
|
||||
switch(type) {
|
||||
case 'array':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue