Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

sync.js 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
  4. const fsStat = require("@nodelib/fs.stat");
  5. const constants_1 = require("../constants");
  6. const utils = require("../utils");
  7. const common = require("./common");
  8. function read(directory, settings) {
  9. if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
  10. return readdirWithFileTypes(directory, settings);
  11. }
  12. return readdir(directory, settings);
  13. }
  14. exports.read = read;
  15. function readdirWithFileTypes(directory, settings) {
  16. const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
  17. return dirents.map((dirent) => {
  18. const entry = {
  19. dirent,
  20. name: dirent.name,
  21. path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
  22. };
  23. if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
  24. try {
  25. const stats = settings.fs.statSync(entry.path);
  26. entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
  27. }
  28. catch (error) {
  29. if (settings.throwErrorOnBrokenSymbolicLink) {
  30. throw error;
  31. }
  32. }
  33. }
  34. return entry;
  35. });
  36. }
  37. exports.readdirWithFileTypes = readdirWithFileTypes;
  38. function readdir(directory, settings) {
  39. const names = settings.fs.readdirSync(directory);
  40. return names.map((name) => {
  41. const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
  42. const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
  43. const entry = {
  44. name,
  45. path: entryPath,
  46. dirent: utils.fs.createDirentFromStats(name, stats)
  47. };
  48. if (settings.stats) {
  49. entry.stats = stats;
  50. }
  51. return entry;
  52. });
  53. }
  54. exports.readdir = readdir;