92 lines
1.7 KiB
Markdown
92 lines
1.7 KiB
Markdown
findit
|
|
======
|
|
|
|
Recursively walk directory trees. Think `/usr/bin/find`.
|
|
|
|
example time!
|
|
=============
|
|
|
|
callback style
|
|
--------------
|
|
|
|
````javascript
|
|
require('findit').find(__dirname, function (file) {
|
|
console.log(file);
|
|
})
|
|
````
|
|
|
|
emitter style
|
|
-------------
|
|
|
|
````javascript
|
|
var finder = require('findit').find(__dirname);
|
|
|
|
finder.on('directory', function (dir) {
|
|
console.log(dir + '/');
|
|
});
|
|
|
|
finder.on('file', function (file) {
|
|
console.log(file);
|
|
});
|
|
````
|
|
|
|
synchronous
|
|
-----------
|
|
|
|
````javascript
|
|
var files = require('findit').sync(__dirname);
|
|
console.dir(files);
|
|
````
|
|
|
|
methods
|
|
=======
|
|
|
|
find(basedir)
|
|
-------------
|
|
find(basedir, cb)
|
|
-----------------
|
|
|
|
Do an asynchronous recursive walk starting at `basedir`.
|
|
Optionally supply a callback that will get the same arguments as the path event
|
|
documented below in "events".
|
|
|
|
If `basedir` is actually a non-directory regular file, findit emits a single
|
|
"file" event for it then emits "end".
|
|
|
|
Findit uses `fs.stat()` so symlinks are traversed automatically. Findit won't
|
|
traverse an inode that it has seen before so directories can have symlink cycles
|
|
and findit won't blow up.
|
|
|
|
Returns an EventEmitter. See "events".
|
|
|
|
sync(basedir, cb)
|
|
-----------------
|
|
|
|
Return an array of files and directories from a synchronous recursive walk
|
|
starting at `basedir`.
|
|
|
|
An optional callback `cb` will get called with `cb(file, stat)` if specified.
|
|
|
|
events
|
|
======
|
|
|
|
file: [ file, stat ]
|
|
--------------------
|
|
|
|
Emitted for just files which are not directories.
|
|
|
|
directory : [ directory, stat ]
|
|
-------------------------------
|
|
|
|
Emitted for directories.
|
|
|
|
path : [ file, stat ]
|
|
---------------------
|
|
|
|
Emitted for both files and directories.
|
|
|
|
end
|
|
---
|
|
|
|
Emitted when the recursive walk is done.
|