a456520b62da4528c93033e3ec16fd97938e4cad79261496c359abd775970ea2cac1a2e7d08278fbdd6482b7f8245b1a705705dec618dc441c3405550291c0 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.findMadeSync = exports.findMade = void 0;
  4. const path_1 = require("path");
  5. const findMade = async (opts, parent, path) => {
  6. // we never want the 'made' return value to be a root directory
  7. if (path === parent) {
  8. return;
  9. }
  10. return opts.statAsync(parent).then(st => (st.isDirectory() ? path : undefined), // will fail later
  11. // will fail later
  12. er => {
  13. const fer = er;
  14. return fer && fer.code === 'ENOENT'
  15. ? (0, exports.findMade)(opts, (0, path_1.dirname)(parent), parent)
  16. : undefined;
  17. });
  18. };
  19. exports.findMade = findMade;
  20. const findMadeSync = (opts, parent, path) => {
  21. if (path === parent) {
  22. return undefined;
  23. }
  24. try {
  25. return opts.statSync(parent).isDirectory() ? path : undefined;
  26. }
  27. catch (er) {
  28. const fer = er;
  29. return fer && fer.code === 'ENOENT'
  30. ? (0, exports.findMadeSync)(opts, (0, path_1.dirname)(parent), parent)
  31. : undefined;
  32. }
  33. };
  34. exports.findMadeSync = findMadeSync;
  35. //# sourceMappingURL=find-made.js.map