dat-readdir-stream
is a small util to read the file-table of a dat
as a stream, rather than through dat.readdir
.
npm i dat-readdir-stream --save
new ReaddirStream(archive[, opts])
archive
Hyperdrive archive (object).opts.glob
Do a glob match over a folder (string).opts.globOpts
Options passed to Minimatch (object).opts.cwd
Target directory path (string), defaults to/
.opts.recursive
Read all subfolders and their files as well?opts.maxDepth
Limit the depth until which to look into folders.opts.depthFirst
Using a depth-first search instead of the default breadth-first search.- Returns a readable stream in
Object Mode
. The payload per entry is an object:entry.location
The path of the entryentry.stats
A Stats object for that path
const ReaddirStream = require('dat-readdir-stream')
var stream = new ReaddirStream(archive, { cwd: '/assets' })
stream.on('data', ({location, stat}) => {
console.log(location) // => '/assets/profile.png', '/assets/styles.css'
console.log(stat.isDirectory()) // => false, false
})
var stream = new ReaddirStream(archive, { recursive: true })
stream.on('data', ({location, stat}) => {
console.log(location) // => '/assets', '/index.html', '/assets/profile.png', '/assets/styles.css'
})
var stream = new ReaddirStream(archive, { recursive: true, depthFirst: true })
stream.on('data', ({location, stat}) => {
console.log(location) // => '/assets', '/assets/profile.png', '/assets/styles.css', '/index.html'
})
MIT