UNPKG

@magicbe/api-generator

Version:

api 生成器

71 lines (70 loc) 2.79 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_1 = require("fs"); var lodash_1 = __importDefault(require("lodash")); var path_1 = __importDefault(require("path")); var Generator = /** @class */ (function () { function Generator(options) { this.options = options; } /** * 创建目录 */ Generator.prototype.mkDir = function (_path_) { if (!this.options) return console.error("options is not defined"); var output = this.options.output; return new Promise(function (resolve, reject) { var dir = path_1.default.join.apply(path_1.default, lodash_1.default.compact([output, _path_])); (0, fs_1.access)(dir, fs_1.constants.F_OK, function (err) { if (err) { (0, fs_1.mkdir)(dir, { recursive: true }, function (err) { if (err) { reject(err); console.error(err); } else { resolve(dir); console.log("".concat(output, " \u521B\u5EFA\u76EE\u5F55\u6210\u529F")); } }); } else { resolve(dir); console.log("".concat(output, " \u76EE\u5F55\u5DF2\u5B58\u5728!")); } }); }); }; /** * 写入 */ Generator.prototype.write = function (options) { if (!this.options) return console.error("options is not defined"); var _options_output = this.options.output; var name = options.name, content = options.content, _a = options.path, path = _a === void 0 ? _options_output : _a; return new Promise(function (resolve, reject) { (0, fs_1.writeFile)(path.concat("/").concat(name), content, function (err) { if (err) return reject(err); else resolve(path.concat("/").concat(name)); }); }); }; /** * 生成注释 */ Generator.prototype.genExegesis = function (name, url) { if (!this.options) return console.error("options is not defined"); var _options_service = this.options.service; return "\n/**\n * \u6587\u4EF6\u7531 gen-api \u81EA\u52A8\u751F\u6210\uFF0C\u5982\u6709\u7591\u95EE\uFF0C\u8BF7\u8054\u7CFB teacher-wang \n * \u63A5\u53E3 [".concat(name, "] ").concat(url, " */\n"); }; return Generator; }()); exports.default = Generator;