项目作者: vsoneji

项目描述 :
JavaScript generator pattern for efficient directory listing
高级语言: JavaScript
项目地址: git://github.com/vsoneji/dir-walker-gen.git
创建时间: 2019-01-13T15:44:04Z
项目社区:https://github.com/vsoneji/dir-walker-gen

开源协议:MIT License

下载


dir-walker-gen Build Status

JavaScript generator pattern for efficient directory listing.

Unlike other directory walkers, this coding pattern will NOT try to scan the entire tree. The directory listings are returned as a generator pattern and the subdirectories are only scanned when the calling method has consumed all the normal files in a directory.

The async nature of the function, it yields to the calling routine allowing it to process the file as needed.

Installation

  1. $ npm install dir-walker-gen

Basic Usage

  1. const DirGen = require('dir-walker-gen');
  2. const options = {
  3. folders: ["D:\\Dropbox"]
  4. }
  5. for (let file of DirGen(options)) {
  6. console.log(file);
  7. }

Options Object

  1. const DirGen = require('dir-walker-gen');
  2. const options = {
  3. folders: ["D:\\Dropbox", "D:\\OneDrive"],
  4. silent: true,
  5. ignoreDotDir: true,
  6. excludeFolders: ['Public'],
  7. excludeExtensions: ['tmp', 'docx', 'xlsx'],
  8. includeExtensions: ['jpeg', 'jpg', 'png', 'gif']
  9. };
  10. for (let file of DirGen(options)) {
  11. console.log(file);
  12. }
Option* Comment Default
folders (Required) List of starting folders
silent Does not show console warning when directories do not exist false
ignoreDotDir Ignores directories that start with a dot (e.g. .git, .vscode, etc) false
excludeFolders Exclude all folder that ends with any of the given strings empty list (ignore nothing)
excludeExtensions List of extensions to ignore empty list (ignore nothing)
includeExtensions List of extensions to scan (all other extensions are ignored) empty list (ignore nothing)

Notes:

  1. excludeExtensions is not really needed if includeExtensions is supplied.
  2. Include and Exclude strings are case sensitive