UNPKG

1.33 kBJavaScriptView Raw
1var fs = require('fs');
2
3module.exports = {
4 walk: function(dir, done) {
5 var self = this;
6 var results = [];
7 fs.readdir(dir, function(err, list) {
8 if (err) return done(err);
9 var pending = list.length;
10 if (!pending) return done(null, results);
11 list.forEach(function(file) {
12 file = dir + '/' + file;
13 fs.stat(file, function(err, stat) {
14 if (stat && stat.isDirectory()) {
15 self.walk(file, function(err, res) {
16 results = results.concat(res);
17 if (!--pending) done(null, results);
18 });
19 } else {
20 results.push(file);
21 if (!--pending) done(null, results);
22 }
23 });
24 });
25 });
26 },
27 strRepeat: function(str, length){
28 var out = '';
29 for( var x=0; x<length; x++){
30 out += str;
31 }
32 return out;
33 },
34 concatArray: function (arrays) {
35 if(!arrays || arrays.length == 0) return arrays;
36 for(var a in arrays) {
37 if (a == 0) {
38 if(arrays[a] instanceof Array) {
39 var arr = arrays[a];
40 } else {
41 var arr = [ arrays[a] ]
42 }
43 } else {
44 if(arrays[a] instanceof Array) {
45 arr = arr.concat(arrays[a])
46 } else {
47 arr.push(arrays[a]);
48 }
49 }
50 }
51 return arr;
52 }
53}