130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | #!/usr/bin/env node
 | ||
|  | (function () { | ||
|  |   "use strict"; | ||
|  | 
 | ||
|  |   var walk = require('../lib/walk'), | ||
|  |     count = 0, | ||
|  |     saneCount = 0; | ||
|  | 
 | ||
|  |   function sort(a,b) { | ||
|  |     a= a.toLowerCase(); | ||
|  |     b= b.toLowerCase(); | ||
|  |     if (a > b) return -1; | ||
|  |     if (a < b) return  1; | ||
|  |     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) { | ||
|  |         saneCount += 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) { | ||
|  |         next() | ||
|  |         // ignore
 | ||
|  |       }); | ||
|  |       emitter.on('directoryError', function (path, stats, next) { | ||
|  |         next(); | ||
|  |       }); | ||
|  |       emitter.on('nodeError', 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. [" + count + " == " + saneCount + "]"); | ||
|  |       }); | ||
|  |     } | ||
|  |   }); | ||
|  | 
 | ||
|  | }()); |