UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

85 lines (83 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const globby = require("globby"); const utils_1 = require("./utils"); /** * @internal */ class DefaultFileSystemHost { readFile(filePath, encoding = "utf-8") { return fs.readFileSync(filePath, encoding); } writeFile(filePath, fileText) { return new Promise((resolve, reject) => { fs.writeFile(filePath, fileText, err => { if (err) reject(err); else resolve(); }); }); } writeFileSync(filePath, fileText) { fs.writeFileSync(filePath, fileText); } mkdir(dirPath) { return new Promise((resolve, reject) => { fs.mkdir(dirPath, err => { if (err) reject(err); else resolve(); }); }); } mkdirSync(dirPath) { fs.mkdirSync(dirPath); } fileExists(filePath) { return new Promise((resolve, reject) => { fs.stat(filePath, (err, stat) => { if (err) resolve(false); else resolve(stat.isFile()); }); }); } fileExistsSync(filePath) { try { return fs.statSync(filePath).isFile(); } catch (err) { return false; } } directoryExists(dirPath) { return new Promise((resolve, reject) => { fs.stat(dirPath, (err, stat) => { if (err) resolve(false); else resolve(stat.isDirectory()); }); }); } directoryExistsSync(dirPath) { try { return fs.statSync(dirPath).isDirectory(); } catch (err) { return false; } } getCurrentDirectory() { return utils_1.FileUtils.getCurrentDirectory(); } glob(patterns) { return globby.sync(patterns); } } exports.DefaultFileSystemHost = DefaultFileSystemHost; //# sourceMappingURL=DefaultFileSystemHost.js.map