UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

66 lines (63 loc) 1.55 kB
import * as fs from 'fs'; /** * 写入文件 * @param {string} file 文件地址 * @param {any} data 文件数据 * @param {boolean} [isJson] 是否需要 json 序列化 * @example * ```ts * writeFileSync('a', 'b.txt', false); * * writeFileSync({ a: 1 }, 'b.json', true); * ``` */ function writeFileSync(file, data, isJson) { var _a; if (isJson === void 0) { isJson = false; } var fileData = isJson ? JSON.stringify(data, null, 2) : data; // eslint-disable-next-line @typescript-eslint/no-require-imports var eol = require('os').EOL || '\n'; if (!((_a = fileData === null || fileData === void 0 ? void 0 : fileData.endsWith) === null || _a === void 0 ? void 0 : _a.call(fileData, eol))) { fileData += eol; } fs.writeFileSync(file, fileData, { encoding: 'utf-8' }); } /** * 读取文件 * @param {string} file 文件地址 * @param {boolean} [isJson] 是否需要 json 反序列化 * @returns {any} 文件内容 * @example * ```ts * readFileSync('b.txt', false); * * readFileSync('b.json', true); * ``` */ function readFileSync(file, isJson) { if (isJson === void 0) { isJson = false; } var content = fs.readFileSync(file, { encoding: 'utf-8' }); var result = content; if (isJson) { try { result = JSON.parse(content); } catch (e) {} } return result; } function isDirectory(filePath) { if (filePath === void 0) { filePath = ''; } var stat = fs.lstatSync(filePath); return stat.isDirectory(); } export { isDirectory, readFileSync, writeFileSync };