enola
Version:
API and CLI for obliterating files and directories
40 lines (39 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs-extra");
var ResourceType;
(function (ResourceType) {
ResourceType[ResourceType["Directory"] = 0] = "Directory";
ResourceType[ResourceType["File"] = 1] = "File";
ResourceType[ResourceType["Symlink"] = 2] = "Symlink";
ResourceType[ResourceType["Void"] = 3] = "Void";
})(ResourceType = exports.ResourceType || (exports.ResourceType = {}));
function statSyncSafe(dir) {
try {
const stat = fs.statSync(dir);
return stat;
}
catch (ex) {
return undefined;
}
}
exports.statSyncSafe = statSyncSafe;
function statSafe(dir) {
return new Promise((accept, reject) => {
fs.stat(dir, (err, stats) => {
if (err)
accept(undefined);
else
accept(stats);
});
});
}
exports.statSafe = statSafe;
function getResourceType(stat) {
return typeof stat === "undefined" ? undefined :
stat.isFile() ? ResourceType.File :
stat.isDirectory() ? ResourceType.Directory :
stat.isSymbolicLink() ? ResourceType.Symlink :
undefined;
}
exports.getResourceType = getResourceType;