30 lines
915 B
JavaScript
Raw Normal View History

import { dirname } from 'path';
export const findMade = async (opts, parent, path) => {
// we never want the 'made' return value to be a root directory
if (path === parent) {
return;
}
return opts.statAsync(parent).then(st => (st.isDirectory() ? path : undefined), // will fail later
// will fail later
er => {
const fer = er;
return fer && fer.code === 'ENOENT'
? findMade(opts, dirname(parent), parent)
: undefined;
});
};
export const findMadeSync = (opts, parent, path) => {
if (path === parent) {
return undefined;
}
try {
return opts.statSync(parent).isDirectory() ? path : undefined;
}
catch (er) {
const fer = er;
return fer && fer.code === 'ENOENT'
? findMadeSync(opts, dirname(parent), parent)
: undefined;
}
};
//# sourceMappingURL=find-made.js.map