refactor(files) read

This commit is contained in:
coderaiser 2014-02-11 09:30:02 -05:00
parent e3b0db07e9
commit 148efae86c

View file

@ -16,60 +16,50 @@
CloudFunc = main.cloudfunc,
Util = main.util;
object.read = function(pFiles, pOptions, pCallBack) {
var lDone = [],
lFiles,
lErrors,
object.read = function(files, options, callback) {
var done = [],
errors,
i, n,
lName,
lReadedFiles = {},
lDoneFunc = function (pParams) {
var msg, status, p, lName,
lRet = Util.checkObj(pParams, ['error', 'data', 'params']);
name,
readFiles = {},
doneFunc = function (name, error, data) {
var msg, status;
if (lRet) {
lDone.pop();
p = pParams,
lName = p.params;
done.pop();
if (error) {
status = 'error';
if (p.error) {
status = 'error';
if (!lErrors)
lErrors = {};
lErrors[lName] = p.error;
}
else {
status = 'ok';
lReadedFiles[lName] = p.data;
}
if (!errors)
errors = {};
lName = path.basename(lName);
msg = CloudFunc.formatMsg('read', lName, status);
Util.log(msg);
if (!lDone.length)
Util.exec(pCallBack, lErrors, lReadedFiles);
errors[name] = p.error;
}
else {
status = 'ok';
readFiles[name] = data;
}
name = path.basename(name);
msg = CloudFunc.formatMsg('read', name, status);
Util.log(msg);
if (!done.length)
Util.exec(callback, errors, readFiles);
};
if (Util.isFunction(pOptions)) {
pCallBack = pOptions;
pOptions = null;
if (Util.isFunction(options)) {
callback = options;
options = null;
}
if (Util.isArray(pFiles))
lFiles = pFiles;
else
lFiles = [pFiles];
for (i = 0, n = lFiles.length; i < n; i++) {
lName = lFiles.pop();
lDone.push(lName);
n = files && files.length;
for (i = 0; i < n; i++) {
name = files.pop();
done.push(name);
fs.readFile(lName, pOptions, Util.call(lDoneFunc, lName));
fs.readFile(name, options, doneFunc.bind(null, name));
}
};