Newer
Older
// 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)
count--
try {
for (file of files) {
if (file.includes('.')) {
let listAddition = `${dir.substring(__dirname.length + tld.length)}/${file}`
if (debug) console.log('GDT pushing', listAddition)
list.push(listAddition)
} else {
let launchPoint = `${dir}${file}`
if (debug) console.log('GDT launching', launchPoint)
} catch (err) {
// just walk on ...
console.log('walkover error:', err)
console.log('problem dir:', dir)
// and push up, give up on counting
list.sort()
resolve(list)
if (debug) console.log('GDT size', count)
if (!count) {
if(debug) console.log('list at fin getDirTree', list)
resolve(list)
}
}) // end fs.readdir
} // end launch