124 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env node
 | |
| (function () {
 | |
|   "use strict";
 | |
| 
 | |
|   var walk = require('../lib/walk-jqueue-3'),
 | |
|     count = 0;
 | |
| 
 | |
|   function sort(a,b) {
 | |
|     a= a.toLowerCase();
 | |
|     b= b.toLowerCase();
 | |
|     if (a > b) return -1;
 | |
|     if (a < b) return  1;
 | |
|     else       return  0;
 | |
|   }
 | |
| 
 | |
|   process.argv.forEach(function(startpath, index) {
 | |
|     if (index > 1) {
 | |
|       emitter = walk(startpath);
 | |
| 
 | |
|   // Non-`stat`ed Nodes
 | |
|       /*
 | |
|       emitter.on('name', function (path, file, stat) {
 | |
|         count += 1;
 | |
|         //console.log( ["[", count, "] ", path, '/', file].join('') )
 | |
|         console.log( [path, '/', file].join('') )
 | |
|       });
 | |
|       emitter.on('names', function (path, files, stats) {
 | |
|         files.sort(sort);
 | |
|         //console.log('sort: ' + files.join(' ; '));
 | |
|       });
 | |
|       */
 | |
| 
 | |
| 
 | |
|   // Single `stat`ed Nodes
 | |
|       emitter.on('error', function (path, err, next) {
 | |
|         // ignore
 | |
|       });
 | |
|       emitter.on('directoryError', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       /*
 | |
|       emitter.on('node', function (path, stat, next) {
 | |
|         count += 1;
 | |
|         console.log( [path, '/', stat.name].join('') )
 | |
|         //console.log( ["[", count, "] ", path, '/', stat.name].join('') )
 | |
|         next();
 | |
|       });
 | |
|       */
 | |
|       emitter.on('file', function (path, stat, next) {
 | |
|         count += 1;
 | |
|         console.log( [path, '/', stat.name].join('') )
 | |
|         //console.log( ["[", count, "] ", path, '/', stat.name].join('') )
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('directory', function (path, stat, next) {
 | |
|         count += 1;
 | |
|         console.log( [path, '/', stat.name].join('') )
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('symbolicLink', function (path, stat, next) {
 | |
|         count += 1;
 | |
|         console.log( [path, '/', stat.name].join('') )
 | |
|         next();
 | |
|       });
 | |
|       /*
 | |
|       */
 | |
|       /*
 | |
|       emitter.on('blockDevice', function (path, stat, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('characterDevice', function (path, stat, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('FIFO', function (path, stat, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('socket', function (path, stat, next) {
 | |
|         next();
 | |
|       });
 | |
|       */
 | |
| 
 | |
|     // Grouped `stat`ed Nodes
 | |
|       emitter.on('errors', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       /*
 | |
|       emitter.on('nodes', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       */
 | |
|       emitter.on('files', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('directories', function (path, stats, next) {
 | |
|         //delete stats[1];
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('symbolicLinks', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       /*
 | |
|       emitter.on('blockDevices', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('characterDevices', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('FIFOs', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       emitter.on('sockets', function (path, stats, next) {
 | |
|         next();
 | |
|       });
 | |
|       */
 | |
| 
 | |
|     // The end of all things
 | |
|       emitter.on('end', function () {
 | |
|         console.log("The eagle has landed.");
 | |
|       });
 | |
|     }
 | |
|   });
 | |
| 
 | |
| }());
 |