Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// do file management
const fs = require('fs')
module.exports = {
// get a tree: takes the root (relative the process) and returns all branches below,
// includes route-to-root in list
getDirTree: (dir, debug) => {
return new Promise((resolve, reject) => {
// items and count,
let list = []
let count = 0
// recursor,
let launch = (dir) => {
if(debug) console.log('GDT launch at', dir)
// just counting actually,
count ++
fs.readdir(dir, (err, files) => {
if(err){
reject(err)
}
count --
for (file of files) {
if (file.includes('.')) {
if(debug) console.log('GDT pushing', `${dir}\\${file}`)
list.push(`${dir.substring(__dirname.length)}\\${file}`)
} else {
launch(`${dir}\\${file}`)
}
}
if(debug) console.log('GDT size', count)
if(!count){
// we sort,
list.sort()
resolve(list)
}
}) // end fs.readdir
} // end launch
launch(`${__dirname}\\${dir}`)
})
}
}