SATS - Simple Async Tree Scanner
Not always most optimal, but simple to use asynchronous filesystem tree scanner.
Non-blocking filesystem tree scanner. Allows to easily find files or directorys accross deep directory structure picking for desired patterns or properties.
Always returns a promise resolving with desired data.
Searching for ".ini" files case insensitive.
var Tree = ;Tree;
Recursively scan given path.
Resolves an array of nodes (files and subdirectorys): with the below structure:
name: "File name"path: "Full path (including file name)"stat: /* File stat data */contents: /* Subdirectory contents or null in case of regular file. */
Is the full path to the directory to scan.
Is an (Optional) filtering function, regular expression or string to allow or reject nodes (and its contents in case of directorys) in the tree.
Valid filter types are:
string: File name pattern (with '*' and '?' wilcards allowed). Files should match. Directorys are discarded only if no matchings inside (recursively).
RegExp: Like string, but using regular expression.
function: Function receiving the full node and returning true (to accept) or false (to discard) each node. This is the most powerful option, but you should manually take care of not discarding directorys if you want to recursively match file names even if parent directory names doesn't match.
Additional options like "i" for case insensitive matching in case of RegExp or string (same as RegExp) filter.
Just like scan(), but it resolves to flat array with the full path of all results.
Enable distinction of display and recursion in filtering function to allow not returning parent directory nodes in find output.
If you are interested in contributing with this project, you can do it in many ways:
Creating and/or mantainig documentation.
Implementing new features or improving code implementation.
Reporting bugs and/or fixing it.
Sending me any other feedback.
Whatever you like...
Please, contact-me, open issues or send pull-requests thought this project GIT repository