5.2.25 • Published 1 year ago
fs-iterator v5.2.25
fs-iterator
A file system iterator with filter and asyncIterator interfaces
Entries are of the format:
- string: basename - file or directory name
- string: path - realtive path from the directory to the file or directory
- string: fullPath - full path to the file or directory
- fs.Stats || fsDirent: stats - file, directory or symlink stats
Promise
const Iterator = require('fs-iterator');
// traverse skipping .git folders
const iterator = new Iterator(__dirname, { filter: (entry) => { return entry.stats.isDirectory() && entry.basename === '.git'; } });
iterator.on('error', console.log); // log expected errors without stopping flow 'ENOENT', 'EPERM', 'EACCES', 'ELOOP'
let entry = await iterator.next();
while(entry) {
/* do something */
entry = await iterator.next();
}
// using forEach with concurrency
const iterator2 = new Iterator(__dirname, { error: (err) => { return true; /* filter errors */ }});
const done = await iterator2.forEach((entry) => { /* do something */ }, { concurrency: 1024 })Callback
const Iterator = require('fs-iterator');
// traverse skipping .git folders
const iterator = new Iterator(__dirname, { filter: (entry) => { return entry.stats.isDirectory() && entry.basename === '.git'; }, error: (err) => { return true; /* filter errors */ } });
iterator.forEach((entry) => { /* do something */ }, { concurrency: 1024 }, (err, done) => {})Iterator Options:
- number: depth - choose maximum depth of the tree to traverse. (default: Infinity)
- function: filter - filter function to continue processing the tree. Return false to skip processing (default: process all)
- bool: callbacks - use a filter function with a callback format like
function(entry, callback). (default: false) - bool: alwaysStat - stat each file individually rather than fetching dirents when reading directories. (default: false)
- bool: lstat - use lstat to get the link's stats instead of using stat on the file itself. (default: false)
- function: error - custom error callback for expected filesystem errors ('ENOENT', 'EPERM', 'EACCES', 'ELOOP'). Return false to stop processing. (default: silent filsystem errors)
forEach Options:
- bool: callbacks - use an each function with a callback
function(entry, callback)(default: false) - number: concurrency - parallelism of processing. (default: Infinity)
- number: limit - maximum number to process. (default: Infinity)
5.2.25
1 year ago
5.2.19
1 year ago
5.2.18
1 year ago
5.2.17
1 year ago
5.2.16
1 year ago
5.2.24
1 year ago
5.2.23
1 year ago
5.2.22
1 year ago
5.2.21
1 year ago
5.2.20
1 year ago
5.2.15
1 year ago
5.2.14
1 year ago
5.2.13
1 year ago
5.2.12
1 year ago
5.2.11
1 year ago
5.2.3
1 year ago
5.2.2
1 year ago
5.2.1
1 year ago
5.2.0
1 year ago
5.2.10
1 year ago
5.2.9
1 year ago
5.2.8
1 year ago
5.2.7
1 year ago
5.2.6
1 year ago
5.2.5
1 year ago
5.1.1
1 year ago
5.1.0
1 year ago
5.0.1
2 years ago
5.0.0
2 years ago
4.2.0
2 years ago
4.1.1
4 years ago
4.1.0
5 years ago
4.0.1
6 years ago
4.0.2
6 years ago
4.0.0
6 years ago
3.0.3
6 years ago
3.0.2
6 years ago
3.0.1
6 years ago
3.0.0
6 years ago
2.6.0
6 years ago
2.5.8
6 years ago
2.5.7
6 years ago
2.5.6
6 years ago
2.5.5
6 years ago
2.5.4
6 years ago
2.5.3
6 years ago
2.5.2
6 years ago
2.5.1
6 years ago
2.5.0
6 years ago
2.4.0
6 years ago
2.3.0
6 years ago
2.2.0
6 years ago
2.1.0
6 years ago
2.0.0
6 years ago
1.3.0
6 years ago
1.2.0
6 years ago
1.1.0
6 years ago
1.0.0
6 years ago