UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

52 lines (50 loc) 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("./../../utils"); function getFileSystemHostWithFiles(files, initialDirectories = []) { files.forEach(file => { file.filePath = utils_1.FileUtils.getStandardizedAbsolutePath(file.filePath); }); const writeLog = []; const syncWriteLog = []; const directories = [...initialDirectories]; 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) => { writeLog.push({ filePath, fileText }); files.push({ filePath, text: fileText }); return Promise.resolve(); }, writeFileSync: (filePath, fileText) => { syncWriteLog.push({ filePath, fileText }); files.push({ filePath, text: fileText }); }, fileExists: filePath => { filePath = utils_1.FileUtils.getStandardizedAbsolutePath(filePath); return Promise.resolve(files.some(f => f.filePath === filePath)); }, fileExistsSync: filePath => { filePath = utils_1.FileUtils.getStandardizedAbsolutePath(filePath); return files.some(f => f.filePath === filePath); }, getCurrentDirectory: () => utils_1.FileUtils.getCurrentDirectory(), mkdir: dirPath => { directories.push(dirPath); return Promise.resolve(); }, mkdirSync: dirPath => directories.push(dirPath), directoryExists: dirPath => Promise.resolve(directories.indexOf(dirPath) >= 0), directoryExistsSync: dirPath => directories.indexOf(dirPath) >= 0, glob: patterns => [], getSyncWriteLog: () => [...syncWriteLog], getWriteLog: () => [...writeLog], getCreatedDirectories: () => [...directories].filter(path => initialDirectories.indexOf(path) === -1) }; } exports.getFileSystemHostWithFiles = getFileSystemHostWithFiles; //# sourceMappingURL=fileSystemHostHelpers.js.map