Websocket
[VSoRC/.git] / node_modules / node-static / lib / node-static / util.js
diff --git a/node_modules/node-static/lib/node-static/util.js b/node_modules/node-static/lib/node-static/util.js
new file mode 100644 (file)
index 0000000..02de548
--- /dev/null
@@ -0,0 +1,30 @@
+var fs   = require('fs')
+  , path = require('path');
+
+exports.mstat = function (dir, files, callback) {
+    (function mstat(files, stats) {
+        var file = files.shift();
+
+        if (file) {
+            fs.stat(path.join(dir, file), function (e, stat) {
+                if (e) {
+                    callback(e);
+                } else {
+                    mstat(files, stats.concat([stat]));
+                }
+            });
+        } else {
+            callback(null, {
+                size: stats.reduce(function (total, stat) {
+                    return total + stat.size;
+                }, 0),
+                mtime: stats.reduce(function (latest, stat) {
+                    return latest > stat.mtime ? latest : stat.mtime;
+                }, 0),
+                ino: stats.reduce(function (total, stat) {
+                    return total + stat.ino;
+                }, 0)
+            });
+        }
+    })(files.slice(0), []);
+};