UNPKG

@iot-studio/material-toolkit-utils

Version:

material 工具链相关工具

60 lines (59 loc) 1.96 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var fs_extra_1 = __importDefault(require("fs-extra")); var fs_1 = __importDefault(require("fs")); var path_1 = __importDefault(require("path")); function readFile(filePath) { fs_extra_1.default.ensureFileSync(filePath); return fs_1.default.readFileSync(filePath).toString(); } function readFileList(dir, filesList) { if (filesList === void 0) { filesList = []; } var files = fs_1.default.readdirSync(dir); files.forEach(function (item, index) { var fullPath = path_1.default.join(dir, item); var stat = fs_1.default.statSync(fullPath); if (stat.isDirectory()) { readFileList(path_1.default.join(dir, item), filesList); //递归读取文件 } else { filesList.push(fullPath); } }); return { filesPath: filesList, files: files, }; } function read(dir) { var fileObj = {}; // 读取目录下的文件 var list = readFileList(dir); // 读取目录下的文件内容 list.filesPath.map(function (file, index) { var content = fs_1.default.readFileSync(file); fileObj[list.files[index]] = content.toString(); }); return fileObj; } function write(realPath, content) { return new Promise(function (resolve, reject) { fs_extra_1.default.ensureFileSync(realPath); var fileContent = typeof content === 'string' ? content : JSON.stringify(content, null, '\t'); fs_1.default.writeFile(realPath, fileContent, 'utf8', function (err) { if (err) { console.error(err); reject(err); } resolve(null); }); }); } exports.default = { read: read, write: write, readFile: readFile, };