UNPKG

ts-budgie

Version:

Converts TypeScript code to Budgie.

85 lines 3.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = require("path"); var ts = require("typescript"); var utils_1 = require("./utils"); var createSourceFilesMap = function (sourceFiles) { var map = new Map(); if (sourceFiles instanceof Map) { for (var _i = 0, _a = Array.from(sourceFiles.entries()); _i < _a.length; _i++) { var _b = _a[_i], fileName = _b[0], sourceFile = _b[1]; map.set(utils_1.fullyNormalizeFilePath(fileName), sourceFile); } } else { for (var _c = 0, sourceFiles_1 = sourceFiles; _c < sourceFiles_1.length; _c++) { var sourceFile = sourceFiles_1[_c]; map.set(utils_1.fullyNormalizeFilePath(sourceFile.fileName), sourceFile); } } return map; }; var InMemoryCompilerHost = /** @class */ (function () { function InMemoryCompilerHost(sourceFiles) { var _this = this; this.fileExists = function (fileName) { return _this.sourceFiles.has(utils_1.fullyNormalizeFilePath(fileName)); }; this.readFile = function (fileName) { var file = _this.sourceFiles.get(utils_1.fullyNormalizeFilePath(fileName)); if (file === undefined) { throw new Error("File not found: '" + file + "'."); } return file.text; }; this.sourceFiles = createSourceFilesMap(sourceFiles); } InMemoryCompilerHost.prototype.getDefaultLibFileName = function () { return ""; }; // tslint:disable-next-line:variable-name InMemoryCompilerHost.prototype.getSourceFile = function (fileName, _languageVersion, onError) { var sourceFile = this.sourceFiles.get(utils_1.fullyNormalizeFilePath(fileName)); if (sourceFile !== undefined) { return sourceFile; } var message = "'" + fileName + "' not found."; if (onError !== undefined) { onError(message); } throw new Error(message); }; InMemoryCompilerHost.prototype.writeFile = function () { /* ... */ }; InMemoryCompilerHost.prototype.getCurrentDirectory = function () { return "."; }; InMemoryCompilerHost.prototype.getCanonicalFileName = function (fileName) { return fileName; }; InMemoryCompilerHost.prototype.getNewLine = function () { return "\n"; }; InMemoryCompilerHost.prototype.useCaseSensitiveFileNames = function () { return true; }; InMemoryCompilerHost.prototype.resolveModuleNames = function (moduleNames, containingFile) { var _this = this; return moduleNames.map(function (rawModuleName) { var moduleName = utils_1.fullyNormalizeFilePath(rawModuleName[0] === "." ? path.join(path.dirname(containingFile), rawModuleName) : path.normalize(rawModuleName)); var resolvedFileName = moduleName + ".ts"; if (!_this.sourceFiles.has(resolvedFileName)) { throw new Error("Could not resolve '" + resolvedFileName + "' from module name '" + rawModuleName + "' in '" + containingFile + "'."); } return { resolvedFileName: resolvedFileName, extension: ts.Extension.Ts, }; }); }; InMemoryCompilerHost.prototype.getDirectories = function () { throw new Error("getDirectories is unsupported in a stub compiler."); }; return InMemoryCompilerHost; }()); exports.InMemoryCompilerHost = InMemoryCompilerHost; //# sourceMappingURL=inMemoryCompilerHost.js.map