ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
42 lines (40 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./../../utils");
function getFileSystemHostWithFiles(files) {
files.forEach(file => {
file.filePath = utils_1.FileUtils.getStandardizedAbsolutePath(file.filePath);
});
const writeLog = [];
const syncWriteLog = [];
return {
readFile: filePath => {
const file = files.find(f => f.filePath === filePath);
if (file == null)
throw new Error(`Can't find file ${filePath}.`);
return file.text;
},
writeFile: (filePath, fileText) => {
return new Promise((resolve, reject) => {
writeLog.push({ filePath, fileText });
files.push({ filePath, text: fileText });
resolve();
});
},
writeFileSync: (filePath, fileText) => {
syncWriteLog.push({ filePath, fileText });
files.push({ filePath, text: fileText });
},
fileExists: filePath => {
filePath = utils_1.FileUtils.getStandardizedAbsolutePath(filePath);
return files.some(f => f.filePath === filePath);
},
getCurrentDirectory: () => utils_1.FileUtils.getCurrentDirectory(),
directoryExists: dirName => true,
glob: patterns => [],
getSyncWriteLog: () => [...syncWriteLog],
getWriteLog: () => [...writeLog]
};
}
exports.getFileSystemHostWithFiles = getFileSystemHostWithFiles;
//# sourceMappingURL=fileSystemHostHelpers.js.map