lib/fsys/index.js
function (basedir, filefn, dirfn) {
        filefn = filefn || function() {};
        dirfn = dirfn || function() {};

        var readdirSync = function(dir) {
            var files = fs.readdirSync(dir);

            for (var i = 0; i < files.length; i++) {
                var file = dir+'/'+files[i];
                //debug('before fs.statsSync:', file);
                var stats = fs.statSync(file);

                if (stats.isFile()) {
                var prefix = dir.replace(basedir, '');
                    filefn(prefix, dir, files[i], stats);

                } else if (stats.isDirectory()) {
                    var prefix = file.replace(basedir, '');
                    dirfn(prefix, stats);
                    readdirSync(file);

                } else {
                    console.error('error:'.error, 'It is a file type that is not assumed. file:', file);
                    return;
                }
            }
        };
        readdirSync(basedir);
    }
function (basedir, filefn, dirfn) {
        filefn = filefn || function() {};
        dirfn = dirfn || function() {};

        var readdirSync = function(dir) {
            var files = fs.readdirSync(dir);

            for (var i = 0; i < files.length; i++) {
                var file = dir+'/'+files[i];
                //debug('before fs.statsSync:', file);
                var stats = fs.statSync(file);

                if (stats.isFile()) {
                var prefix = dir.replace(basedir, '');
                    filefn(prefix, dir, files[i], stats);

                } else if (stats.isDirectory()) {
                    var prefix = file.replace(basedir, '');
                    dirfn(prefix, stats);
                    readdirSync(file);

                } else {
                    console.error('error:'.error, 'It is a file type that is not assumed. file:', file);
                    return;
                }
            }
        };
        readdirSync(basedir);
    }
function ( basedir , filefn , dirfn ) { filefn = filefn || function ( ) { } ; dirfn = dirfn || function ( ) { } ; var readdirSync = function ( dir ) { var files = fs . readdirSync ( dir ) ; for ( var i = 0 ; i < files . length ; i ++ ) { var file = dir + '/' + files [ i ] ; //debug('before fs.statsSync:', file); var stats = fs . statSync ( file ) ; if ( stats . isFile ( ) ) { var prefix = dir . replace ( basedir , '' ) ; filefn ( prefix , dir , files [ i ] , stats ) ; } else if ( stats . isDirectory ( ) ) { var prefix = file . replace ( basedir , '' ) ; dirfn ( prefix , stats ) ; readdirSync ( file ) ; } else { console . error ( 'error:' . error , 'It is a file type that is not assumed. file:' , file ) ; return ; } } } ; readdirSync ( basedir ) ; }
file system walk function

@name walk
@memberof fsys
@method
@param {String} basedir base path
@param {function} filefn Function to be executed when the file is found
@param {function} dirfnFunction to be executed when the directory is found
file system walk function