ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
108 lines (107 loc) • 3.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require("fs");
var globby = require("globby");
var utils_1 = require("./../utils");
var DefaultFileSystemHost = /** @class */ (function () {
/* istanbul ignore next */ function DefaultFileSystemHost() {
}
DefaultFileSystemHost.prototype.delete = function (path) {
return new Promise(function (resolve, reject) {
fs.unlink(path, function (err) {
if (err)
reject(err);
else
resolve();
});
});
};
DefaultFileSystemHost.prototype.deleteSync = function (path) {
fs.unlinkSync(path);
};
DefaultFileSystemHost.prototype.readFile = function (filePath, encoding) {
if (encoding === void 0) { encoding = "utf-8"; }
return new Promise(function (resolve, reject) {
fs.readFile(filePath, encoding, function (err, data) {
if (err)
reject(err);
else
resolve(data);
});
});
};
DefaultFileSystemHost.prototype.readFileSync = function (filePath, encoding) {
if (encoding === void 0) { encoding = "utf-8"; }
return fs.readFileSync(filePath, encoding);
};
DefaultFileSystemHost.prototype.writeFile = function (filePath, fileText) {
return new Promise(function (resolve, reject) {
fs.writeFile(filePath, fileText, function (err) {
if (err)
reject(err);
else
resolve();
});
});
};
DefaultFileSystemHost.prototype.writeFileSync = function (filePath, fileText) {
fs.writeFileSync(filePath, fileText);
};
DefaultFileSystemHost.prototype.mkdir = function (dirPath) {
return new Promise(function (resolve, reject) {
fs.mkdir(dirPath, function (err) {
if (err)
reject(err);
else
resolve();
});
});
};
DefaultFileSystemHost.prototype.mkdirSync = function (dirPath) {
fs.mkdirSync(dirPath);
};
DefaultFileSystemHost.prototype.fileExists = function (filePath) {
return new Promise(function (resolve, reject) {
fs.stat(filePath, function (err, stat) {
if (err)
resolve(false);
else
resolve(stat.isFile());
});
});
};
DefaultFileSystemHost.prototype.fileExistsSync = function (filePath) {
try {
return fs.statSync(filePath).isFile();
}
catch (err) {
return false;
}
};
DefaultFileSystemHost.prototype.directoryExists = function (dirPath) {
return new Promise(function (resolve, reject) {
fs.stat(dirPath, function (err, stat) {
if (err)
resolve(false);
else
resolve(stat.isDirectory());
});
});
};
DefaultFileSystemHost.prototype.directoryExistsSync = function (dirPath) {
try {
return fs.statSync(dirPath).isDirectory();
}
catch (err) {
return false;
}
};
DefaultFileSystemHost.prototype.getCurrentDirectory = function () {
return utils_1.FileUtils.getCurrentDirectory();
};
DefaultFileSystemHost.prototype.glob = function (patterns) {
return globby.sync(patterns);
};
return DefaultFileSystemHost;
}());
exports.DefaultFileSystemHost = DefaultFileSystemHost;