aboutsummaryrefslogtreecommitdiff
path: root/CI/utils/walk.js
diff options
context:
space:
mode:
Diffstat (limited to 'CI/utils/walk.js')
-rw-r--r--CI/utils/walk.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/CI/utils/walk.js b/CI/utils/walk.js
new file mode 100644
index 0000000..101c1cf
--- /dev/null
+++ b/CI/utils/walk.js
@@ -0,0 +1,40 @@
+var fs = require('fs');
+var path = require('path');
+var walk = function(dir, done) {
+ var results = [];
+ fs.readdir(dir, function(err, list) {
+ if (err) return done(err);
+ var pending = list.length;
+ if (!pending) return done(null, results);
+ list.forEach(function(file) {
+ file = path.resolve(dir, file);
+ fs.stat(file, function(err, stat) {
+ if (stat && stat.isDirectory()) {
+ walk(file, function(err, res) {
+ results = results.concat(res);
+ if (!--pending) done(null, results);
+ });
+ } else {
+ results.push(file);
+ if (!--pending) done(null, results);
+ }
+ });
+ });
+ });
+};
+
+async function walkP(dir){
+ return new Promise((res, rej)=>{
+ walk(dir, (err, resu)=>{
+ if(err){
+ rej(err)
+ return
+ }
+
+ res(resu)
+ });
+ })
+}
+
+module.exports = {walk, walkP} //https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search
+//i was just too lazy to code this myself OMEGALUL \ No newline at end of file