flat-readdir.js 900 B

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.flatReaddir = flatReaddir;
  6. var _path = require("path");
  7. var _nonNullable = require("./non-nullable");
  8. var _fs = require("fs");
  9. async function flatReaddir(dir, include) {
  10. const dirents = await _fs.promises.readdir(dir, {
  11. withFileTypes: true
  12. });
  13. const result = await Promise.all(dirents.map(async (part)=>{
  14. const absolutePath = (0, _path).join(dir, part.name);
  15. if (part.isSymbolicLink()) {
  16. const stats = await _fs.promises.stat(absolutePath);
  17. if (stats.isDirectory()) {
  18. return null;
  19. }
  20. }
  21. if (part.isDirectory() || !include.test(part.name)) {
  22. return null;
  23. }
  24. return absolutePath;
  25. }));
  26. return result.filter(_nonNullable.nonNullable);
  27. }
  28. //# sourceMappingURL=flat-readdir.js.map