ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
62 lines (61 loc) • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var errors = require("./../errors");
var utils_1 = require("./../utils");
var VirtualFileSystemHost = /** @class */ (function () {
function VirtualFileSystemHost() {
this.files = new utils_1.KeyValueCache();
}
VirtualFileSystemHost.prototype.delete = function (path) {
this.deleteSync(path);
return Promise.resolve();
};
VirtualFileSystemHost.prototype.deleteSync = function (path) {
this.files.removeByKey(path);
};
VirtualFileSystemHost.prototype.readFile = function (filePath, encoding) {
if (encoding === void 0) { encoding = "utf-8"; }
return Promise.resolve(this.readFileSync(filePath, encoding));
};
VirtualFileSystemHost.prototype.readFileSync = function (filePath, encoding) {
if (encoding === void 0) { encoding = "utf-8"; }
var fileText = this.files.get(filePath);
if (fileText == null)
throw new errors.FileNotFoundError(filePath);
return fileText;
};
VirtualFileSystemHost.prototype.writeFile = function (filePath, fileText) {
this.files.set(filePath, fileText);
return Promise.resolve();
};
VirtualFileSystemHost.prototype.writeFileSync = function (filePath, fileText) {
this.files.set(filePath, fileText);
};
VirtualFileSystemHost.prototype.mkdir = function (dirPath) {
// do nothing
return Promise.resolve();
};
VirtualFileSystemHost.prototype.mkdirSync = function (dirPath) {
// do nothing
};
VirtualFileSystemHost.prototype.fileExists = function (filePath) {
return Promise.resolve(this.files.has(filePath));
};
VirtualFileSystemHost.prototype.fileExistsSync = function (filePath) {
return this.files.has(filePath);
};
VirtualFileSystemHost.prototype.directoryExists = function (dirPath) {
return Promise.resolve(true);
};
VirtualFileSystemHost.prototype.directoryExistsSync = function (dirPath) {
return true;
};
VirtualFileSystemHost.prototype.getCurrentDirectory = function () {
return "/";
};
VirtualFileSystemHost.prototype.glob = function (patterns) {
throw new errors.NotImplementedError("Glob is not implemented for a virtual file system.");
};
return VirtualFileSystemHost;
}());
exports.VirtualFileSystemHost = VirtualFileSystemHost;