1 | 'use strict'
|
2 | const fs = require('fs')
|
3 | const glob = require('glob')
|
4 |
|
5 | module.exports = function (dir, options, callback) {
|
6 | const metadata = {}
|
7 | return glob(dir + '/**/*', options, function (error, filenames) {
|
8 | if (error) { return callback(error) }
|
9 | for (const filename of filenames) {
|
10 | const stat = fs.lstatSync(filename)
|
11 | if (stat.isFile()) {
|
12 | metadata[filename] = {type: 'file', stat: stat}
|
13 | } else if (stat.isDirectory()) {
|
14 | metadata[filename] = {type: 'directory', stat: stat}
|
15 | } else if (stat.isSymbolicLink()) {
|
16 | metadata[filename] = {type: 'link', stat: stat}
|
17 | }
|
18 | }
|
19 | return callback(null, filenames, metadata)
|
20 | })
|
21 | }
|