Innovenergy_trunk/frontend/node_modules/testcafe-browser-tools/lib/utils/ensure-directory.js

55 lines
5.5 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const graceful_fs_1 = __importDefault(require("graceful-fs"));
const path_1 = require("path");
const mkdirp_1 = __importDefault(require("mkdirp"));
const promisify_1 = __importDefault(require("./promisify"));
const delay_1 = __importDefault(require("./delay"));
const stat = promisify_1.default(graceful_fs_1.default.stat);
const readdir = promisify_1.default(graceful_fs_1.default.readdir);
const mkdir = promisify_1.default(mkdirp_1.default);
const MAX_RETRY_COUNT = 10;
const RETRY_DELAY = 100;
async function createDirectory(directoryPath) {
try {
await mkdir(directoryPath);
return true;
}
catch (e) {
return false;
}
}
async function readDirectory(directoryPath) {
try {
await readdir(directoryPath);
return true;
}
catch (e) {
return false;
}
}
async function ensureDirectory(directoryPath) {
var fileEnsured = await createDirectory(directoryPath) && await readDirectory(directoryPath);
for (var i = 0; i < MAX_RETRY_COUNT && !fileEnsured; i++) {
await delay_1.default(RETRY_DELAY);
fileEnsured = await createDirectory(directoryPath) && await readDirectory(directoryPath);
}
return fileEnsured;
}
async function default_1(fileName) {
var directoryPath = path_1.dirname(fileName);
try {
var stats = await stat(directoryPath);
return stats.isDirectory();
}
catch (e) {
if (e.code === 'ENOENT')
return await ensureDirectory(directoryPath);
return false;
}
}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLWRpcmVjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbnN1cmUtZGlyZWN0b3J5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOERBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixvREFBNEI7QUFDNUIsNERBQW9DO0FBQ3BDLG9EQUE0QjtBQUc1QixNQUFNLElBQUksR0FBSSxtQkFBUyxDQUFDLHFCQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakMsTUFBTSxPQUFPLEdBQUcsbUJBQVMsQ0FBQyxxQkFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLG1CQUFTLENBQUMsZ0JBQU0sQ0FBQyxDQUFDO0FBRWhDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUMzQixNQUFNLFdBQVcsR0FBTyxHQUFHLENBQUM7QUFFNUIsS0FBSyxVQUFVLGVBQWUsQ0FBRSxhQUFhO0lBQ3pDLElBQUk7UUFDQSxNQUFNLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxDQUFDLEVBQUU7UUFDTixPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUFFLGFBQWE7SUFDdkMsSUFBSTtRQUNBLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNOLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0wsQ0FBQztBQUVELEtBQUssVUFBVSxlQUFlLENBQUUsYUFBYTtJQUN6QyxJQUFJLFdBQVcsR0FBSyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxNQUFNLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUvRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sZUFBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpCLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxNQUFNLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUM1RjtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFFYyxLQUFLLG9CQUFXLFFBQVE7SUFDbkMsSUFBSSxhQUFhLEdBQUcsY0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXRDLElBQUk7UUFDQSxJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUM5QjtJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ04sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDbkIsT0FBTyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVoRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUM7QUFkRCw0QkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdncmFjZWZ1bC1mcyc7XG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgbWtkaXJwIGZyb20gJ21rZGlycCc7XG5pbXBvcnQgcHJvbWlzaWZ5IGZyb20gJy4vcHJvbWlzaWZ5JztcbmltcG9ydCBkZWxheSBmcm9tICcuL2RlbGF5JztcblxuXG5jb25zdCBzdGF0ICA9IHByb21pc2lmeShmcy5zdGF0KTtcbmNvbnN0IHJlYWRkaXIgPSBwcm9taXNpZnkoZnMucmVhZGRpcik7XG5jb25zdCBta2RpciA9IHByb21pc2lmeShta2RpcnApO1xuXG5jb25zdCBNQVhfUkVUUllfQ09VTlQgPSAxMDtcbmNvbnN0IFJFVFJZX0RFTEFZICAgICA9IDEwMDtcblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlRGlyZWN0b3J5IChkaXJlY3RvcnlQYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgbWtkaXIoZGlyZWN0b3J5UGF0aCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkRGlyZWN0b3J5IChkaXJlY3RvcnlQYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgcmVhZGRpcihkaXJlY3RvcnlQYXRoKTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZW5zdXJlRGlyZWN0b3J5IChkaXJlY3RvcnlQYXRoKSB7XG4gICAgdmFyIGZpbGVFbnN1cmVkICAgPSBhd2FpdCBjcmVhdGVEaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCkgJiYgYXdhaXQgcmVhZERpcmVjdG9yeShkaXJlY3RvcnlQYXRoKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTUFYX1JFVFJZX0NPVU5UICYmICFmaWxlRW5zdXJlZDsgaSsrKSB7XG4gICAgICAgIGF3YWl0IGRlbGF5KFJFVFJZX0RFTEFZKTtcblxuICAgICAgICBmaWxlRW5zdXJlZCA9IGF3YWl0IGNyZWF0ZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSAmJiBhd2FpdCByZWFkRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWxlRW5zdXJlZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gKGZpbGVOYW1lKSB7XG4gICAgdmFyIGRpcmVjdG9yeVBhdGggPSBkaXJuYW1lKGZpbGVOYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICAgIHZhciBzdGF0cyA9IGF3YWl0IHN0YXQoZGlyZWN0b3J5UGF0aCk7XG5cbiAgICAgICAgcmV0dXJuIHN0YXRzLmlzRGlyZWN0b3J5KCk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKVxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGVuc3VyZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoKTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19