1 | var Promise = require('bluebird');
|
2 | var fs = Promise.promisifyAll(require('fs'));
|
3 | var path = require('path');
|
4 | var _ = require('lodash');
|
5 | var async = require('..').async;
|
6 | var await = require('..').await;
|
7 |
|
8 |
|
9 |
|
10 | var 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 |
|
18 | countFiles(__dirname)
|
19 | .then (function (num) { console.log('There are ' + num + ' files in ' + __dirname); })
|
20 | .catch(function (err) { console.log('Something went wrong: ' + err); });
|