index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.toTreeSync = void 0;
  4. const tree_dump_1 = require("tree-dump");
  5. const util_1 = require("../node-to-fsa/util");
  6. const toTreeSync = (fs, opts = {}) => {
  7. const separator = opts.separator || '/';
  8. let dir = opts.dir || separator;
  9. if (dir[dir.length - 1] !== separator)
  10. dir += separator;
  11. const tab = opts.tab || '';
  12. const depth = opts.depth ?? 10;
  13. let subtree = ' (...)';
  14. if (depth > 0) {
  15. const list = fs.readdirSync(dir, { withFileTypes: true });
  16. subtree = (0, tree_dump_1.printTree)(tab, list.map(entry => tab => {
  17. if (entry.isDirectory()) {
  18. return (0, exports.toTreeSync)(fs, { dir: dir + entry.name, depth: depth - 1, tab });
  19. }
  20. else if (entry.isSymbolicLink()) {
  21. return '' + entry.name + ' → ' + fs.readlinkSync(dir + entry.name);
  22. }
  23. else {
  24. return '' + entry.name;
  25. }
  26. }));
  27. }
  28. const base = (0, util_1.basename)(dir, separator) + separator;
  29. return base + subtree;
  30. };
  31. exports.toTreeSync = toTreeSync;
  32. //# sourceMappingURL=index.js.map