61 lines
3.8 KiB
JavaScript
61 lines
3.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.validateInput = validateInput;
|
|
exports.sync = sync;
|
|
exports.async = async;
|
|
const fs_1 = require("fs");
|
|
const validate_1 = require("./utils/validate");
|
|
const interfaces_1 = require("./interfaces");
|
|
function validateInput(methodName, path) {
|
|
const methodSignature = methodName + '(path)';
|
|
(0, validate_1.validateArgument)(methodSignature, 'path', path, ['string']);
|
|
}
|
|
// ---------------------------------------------------------
|
|
// Sync
|
|
// ---------------------------------------------------------
|
|
function sync(path) {
|
|
let stat;
|
|
try {
|
|
stat = (0, fs_1.statSync)(path);
|
|
if (stat.isDirectory()) {
|
|
return 'dir';
|
|
}
|
|
else if (stat.isFile()) {
|
|
return 'file';
|
|
}
|
|
return 'other';
|
|
}
|
|
catch (err) {
|
|
if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {
|
|
throw err;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
// ---------------------------------------------------------
|
|
// Async
|
|
// ---------------------------------------------------------
|
|
function async(path) {
|
|
return new Promise((resolve, reject) => {
|
|
(0, fs_1.lstat)(path, (err, stat) => {
|
|
if (err) {
|
|
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') {
|
|
resolve(false);
|
|
}
|
|
else {
|
|
reject(err);
|
|
}
|
|
}
|
|
else if (stat.isDirectory()) {
|
|
resolve(interfaces_1.ENodeType.DIR);
|
|
}
|
|
else if (stat.isFile()) {
|
|
resolve(interfaces_1.ENodeType.FILE);
|
|
}
|
|
else {
|
|
resolve(interfaces_1.ENodeType.OTHER);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2V4aXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLHNDQUdDO0FBS0Qsb0JBZ0JDO0FBS0Qsc0JBa0JDO0FBbkRELDJCQUE0QztBQUM1QywrQ0FBb0Q7QUFDcEQsNkNBQXlEO0FBRXpELFNBQWdCLGFBQWEsQ0FBQyxVQUFrQixFQUFFLElBQVk7SUFDN0QsTUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM5QyxJQUFBLDJCQUFnQixFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE9BQU87QUFDUCw0REFBNEQ7QUFDNUQsU0FBZ0IsSUFBSSxDQUFDLElBQVk7SUFDaEMsSUFBSSxJQUFXLENBQUM7SUFDaEIsSUFBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLElBQUEsYUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPLE1BQU0sQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNoQixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEdBQUcsQ0FBQztRQUNYLENBQUM7SUFDRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFFBQVE7QUFDUiw0REFBNEQ7QUFDNUQsU0FBZ0IsS0FBSyxDQUFDLElBQVk7SUFDakMsT0FBTyxJQUFJLE9BQU8sQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckUsSUFBQSxVQUFLLEVBQUMsSUFBSSxFQUFFLENBQUMsR0FBbUIsRUFBRSxJQUFXLEVBQUUsRUFBRTtZQUNoRCxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNULElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixDQUFDO3FCQUFNLENBQUM7b0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLENBQUM7WUFDRixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxzQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLHNCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLE9BQU8sQ0FBQyxzQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|