ensure-files.js 603 B

12345678910111213141516171819202122232425262728293031323334
  1. var fs = require('fs');
  2. /**
  3. * @param {Array<string>} files
  4. * @param {Function} cb
  5. */
  6. function ensureFiles(files, cb) {
  7. var missingFiles = files.reduce(function(prev, filePath) {
  8. var fileFound = false;
  9. try {
  10. fileFound = fs.statSync(filePath).isFile();
  11. } catch (e) { }
  12. if (!fileFound) {
  13. prev.push(filePath + ' Not Found');
  14. }
  15. return prev;
  16. }, []);
  17. if (missingFiles.length) {
  18. var err = new Error('Missing Required Files\n' + missingFiles.join('\n'));
  19. }
  20. if (cb) {
  21. cb(err);
  22. } else if (err) {
  23. throw err;
  24. }
  25. }
  26. module.exports = ensureFiles;