scandir.js 601 B

123456789101112131415161718192021222324
  1. /**
  2. * This has to be required *after* using Bluebird's promisifyAll() on fs
  3. */
  4. var fs = require('fs');
  5. if(typeof fs.readdirAsync !== 'function') {
  6. console.error("scandir module requires promisifying fs with Bluebird's Promise.promisifyAll()");
  7. }
  8. function scandir(path, excludes) {
  9. excludes = excludes || [];
  10. return fs.readdirAsync(path)
  11. .then(dirContent => {
  12. excludes.forEach(file => {
  13. var idxInContent = dirContent.indexOf(file);
  14. if(idxInContent !== -1) {
  15. dirContent.splice(idxInContent, 1);
  16. }
  17. });
  18. return dirContent;
  19. })
  20. }
  21. module.exports = scandir;