diff --git a/lib/server/commander.js b/lib/server/commander.js index 466e219f..22af20c3 100644 --- a/lib/server/commander.js +++ b/lib/server/commander.js @@ -115,8 +115,9 @@ for(i = 0; i < n; i++){ var lName = lDirPath + lFiles[i], lParams = { + callback : lFill, + count : n, name : lFiles[i], - callback : i == n-1 ? lFill : null, stats : lStats, }; @@ -139,31 +140,28 @@ * and putting it to lStats object */ function getFilesStat(pParams){ - var lError, lStat, lData, - lAllStats, lName, lCallBack; - - if(pParams){ - lError = pParams.error; - lStat = pParams.data; - lData = pParams.params; + var lRet = Util.checkObj(pParams, + ['error', 'data', 'params']) && - if(lData){ - lAllStats = lData.stats; - lName = lData.name; - lCallBack = lData.callback; - } + Util.checkObj(pParams.params, + ['callback'], ['stats', 'name', 'count']); + + if(lRet){ + var p = pParams, + c = p.params; + + if(c.stats) + c.stats[c.name] = !p.error ? p.data : { + 'mode' : 0, + 'size' : 0, + 'isDirectory' : Util.retFalse + }; + + if(c.count === Object.keys(c.stats).length) + Util.exec(c.callback); } - - if(lAllStats) - lAllStats[lName] = !lError ? lStat : { - 'mode' : 0, - 'size' : 0, - 'isDirectory' : Util.retFalse - }; - - Util.exec(lCallBack); } - + /** * Function fill JSON by file stats *