UNPKG

zqserver-cli

Version:
84 lines 6.97 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.add = void 0; const colors = require("colors/safe"); const eac = require("english-article-classifier"); const fs = require("fs"); const fse = require("fs-extra"); const lodash = require("lodash"); const inquirer = require("inquirer"); const pluralize = require("pluralize"); function add(flags, answers_) { return __awaiter(this, void 0, void 0, function* () { const cwd = process.cwd(); let answers; if (!answers_) answers = yield inquirer.prompt([ { type: 'input', name: 'model', default: 'sample', message: 'model 名称', }, { type: 'input', name: 'endpoint', default: (answer) => `/api/${pluralize(answer.model)}`, message: '路由地址', }, { type: 'input', name: 'path', default: (answer) => `${cwd}/src/api/${answer.model}`, message: '所在路径', validate: input => { if (fs.existsSync(input)) return colors.red(`API Path ${input} already exits`); return true; }, }, ]); else answers = answers_; flags.model = answers.model; flags.endpoint = answers.endpoint; flags.path = answers.path; try { yield fse.mkdirp(flags.path); const controllerTmp = yield fse.readFile(__dirname + `/../templates/api/controller.ts`); const modelTmp = yield fse.readFile(__dirname + `/../templates/api/model.ts`); const routerTmp = yield fse.readFile(__dirname + `/../templates/api/router.ts`); const modelUppercase = lodash.capitalize(flags.model); const options = { model: flags.model, modelUppercase: modelUppercase, modelUppercasePlural: pluralize(modelUppercase), article: eac.classifyArticle(flags.model).type, endpoint: flags.endpoint, }; const controller = lodash.template(controllerTmp.toString())(options); const model = lodash.template(modelTmp.toString())(options); const router = lodash.template(routerTmp.toString())(options); yield fse.outputFile(`${flags.path}/controller.ts`, controller); yield fse.outputFile(`${flags.path}/model.ts`, model); yield fse.outputFile(`${flags.path}/router.ts`, router); console.log('Your Api', colors.cyan(flags.model), 'has been created'); return true; } catch (e) { console.log(e); return false; } }); } exports.add = add; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBc0M7QUFDdEMsa0RBQWtEO0FBQ2xELHlCQUF5QjtBQUN6QixnQ0FBZ0M7QUFDaEMsaUNBQWlDO0FBQ2pDLHFDQUFxQztBQUNyQyx1Q0FBdUM7QUFHdkMsU0FBc0IsR0FBRyxDQUFDLEtBQVUsRUFBRSxRQUFjOztRQUNsRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUTtZQUNYLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQzlCO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxRQUFRO29CQUNqQixPQUFPLEVBQUUsVUFBVTtpQkFDcEI7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMzRCxPQUFPLEVBQUUsTUFBTTtpQkFDaEI7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFLE1BQU07b0JBQ1osT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUMxRCxPQUFPLEVBQUUsTUFBTTtvQkFDZixRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2hCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7NEJBQ3RCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEtBQUssZ0JBQWdCLENBQUMsQ0FBQzt3QkFDdkQsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRjthQUNGLENBQUMsQ0FBQzs7WUFDQSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM1QixLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRTFCLElBQUk7WUFFRixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRzdCLE1BQU0sYUFBYSxHQUFHLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FDdEMsU0FBUyxHQUFHLGlDQUFpQyxDQUM5QyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUNqQyxTQUFTLEdBQUcsNEJBQTRCLENBQ3pDLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQ2xDLFNBQVMsR0FBRyw2QkFBNkIsQ0FDMUMsQ0FBQztZQUdGLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELE1BQU0sT0FBTyxHQUFRO2dCQUNuQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixvQkFBb0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDO2dCQUMvQyxPQUFPLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSTtnQkFDOUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQUM7WUFHRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUc5RCxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNoRSxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBR3hELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDdEUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0NBQUE7QUE1RUQsa0JBNEVDIn0=