UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

62 lines (61 loc) 2.45 kB
"use strict"; 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;