UNPKG

enola

Version:

API and CLI for obliterating files and directories

40 lines (39 loc) 1.24 kB
"use strict"; 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;