openapi-ts-request
Version:
Swagger2/OpenAPI3/Apifox to TypeScript/JavaScript, request client(support any client), request mock service, enum and enum translation, react-query/vue-query, type field label, JSON Schemas
37 lines (36 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.prettierFile = void 0;
exports.writeFile = writeFile;
const tslib_1 = require("tslib");
const sync_1 = require("@prettier/sync");
const fs_1 = require("fs");
const path_1 = require("path");
const prettier_config_cjs_1 = tslib_1.__importDefault(require("../../prettier.config.cjs"));
const prettierFile = (content) => {
let result = content;
let hasError = false;
try {
result = (0, sync_1.format)(content, Object.assign(Object.assign({}, prettier_config_cjs_1.default), { parser: 'typescript', plugins: [] }));
}
catch (error) {
hasError = true;
}
return [result, hasError];
};
exports.prettierFile = prettierFile;
function mkdir(dir) {
if (!(0, fs_1.existsSync)(dir)) {
mkdir((0, path_1.dirname)(dir));
(0, fs_1.mkdirSync)(dir);
}
}
function writeFile(folderPath, fileName, content) {
const filePath = (0, path_1.join)(folderPath, fileName);
mkdir((0, path_1.dirname)(filePath));
const [prettierContent, hasError] = (0, exports.prettierFile)(content);
(0, fs_1.writeFileSync)(filePath, prettierContent, {
encoding: 'utf8',
});
return hasError;
}