updated to use Array.prototype.forEach rather than futures/forEachAsync

This commit is contained in:
AJ ONeal 2011-07-28 07:57:02 -06:00
parent cf60919339
commit 1ea316fcbc
4 changed files with 140 additions and 9 deletions

View File

@ -2,9 +2,11 @@
(function () { (function () {
"use strict"; "use strict";
var walk = require('../lib/walk'), var walk = require('walk')
count = 0, , count = 0
saneCount = 0; , emitter
, saneCount = 0
;
function sort(a,b) { function sort(a,b) {
a= a.toLowerCase(); a= a.toLowerCase();
@ -16,7 +18,7 @@
process.argv.forEach(function(startpath, index) { process.argv.forEach(function(startpath, index) {
if (index > 1) { if (index > 1) {
emitter = walk(startpath); emitter = walk.walk(startpath);
// Non-`stat`ed Nodes // Non-`stat`ed Nodes
emitter.on('name', function (path, file, stat) { emitter.on('name', function (path, file, stat) {

View File

@ -6,9 +6,9 @@
"author" : "AJ ONeal <coolaj86@gmail.com>", "author" : "AJ ONeal <coolaj86@gmail.com>",
"contributors" : [], "contributors" : [],
"dependencies" : { "dependencies" : {
"futures": ">= 1.9.2" "Array.prototype.forEachAsync": ">= 2.1.0"
}, },
"lib" : "lib", "lib" : ".",
"main" : "./lib/walk.js", "main" : "./walk.js",
"version" : "2.0.0" "version" : "2.0.1"
} }

View File

@ -3,7 +3,7 @@
"use strict" "use strict"
// Array.prototype.forEachAsync(next, item, i, collection) // Array.prototype.forEachAsync(next, item, i, collection)
require('futures/forEachAsync'); require('Array.prototype.forEachAsync');
function noop() {} function noop() {}

129
profile/walk-test.js Executable file
View File

@ -0,0 +1,129 @@
#!/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 + "]");
});
}
});
}());