@magicbe/api-generator
Version:
api 生成器
71 lines (70 loc) • 2.79 kB
JavaScript
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;
;