UNPKG

805 BJavaScriptView Raw
1var Promise = require('bluebird');
2var fs = Promise.promisifyAll(require('fs'));
3var path = require('path');
4var _ = require('lodash');
5var async = require('..').async;
6var await = require('..').await;
7
8
9// Return the number of files in the given directory
10var countFiles = async (function(dir) {
11 var files = await (fs.readdirSync(dir));
12 var paths = _.map(files, function (file) { return path.join(dir, file); });
13 var stats = await (_.map(paths, function (path) { return fs.statAsync(path); }));
14 return _.filter(stats, function (stat) { return stat.isFile(); }).length;
15});
16
17
18countFiles(__dirname)
19 .then (function (num) { console.log('There are ' + num + ' files in ' + __dirname); })
20 .catch(function (err) { console.log('Something went wrong: ' + err); });