/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/nest-crud-cli@0.0.28/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
#!/usr/bin/env node
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,a,t,o){void 0===o&&(o=t);var c=Object.getOwnPropertyDescriptor(a,t);c&&!("get"in c?!a.__esModule:c.writable||c.configurable)||(c={enumerable:!0,get:function(){return a[t]}}),Object.defineProperty(e,o,c)}:function(e,a,t,o){void 0===o&&(o=t),e[o]=a[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(a,e,t);return __setModuleDefault(a,e),a},__awaiter=this&&this.__awaiter||function(e,a,t,o){return new(t||(t=Promise))((function(c,r){function n(e){try{l(o.next(e))}catch(e){r(e)}}function s(e){try{l(o.throw(e))}catch(e){r(e)}}function l(e){var a;e.done?c(e.value):(a=e.value,a instanceof t?a:new t((function(e){e(a)}))).then(n,s)}l((o=o.apply(e,a||[])).next())}))},__generator=this&&this.__generator||function(e,a){var t,o,c,r,n={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(l){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(n=0)),n;)try{if(t=1,o&&(c=2&s[0]?o.return:s[0]?o.throw||((c=o.return)&&c.call(o),0):o.next)&&!(c=c.call(o,s[1])).done)return c;switch(o=0,c&&(s=[2&s[0],c.value]),s[0]){case 0:case 1:c=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,o=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(!(c=n.trys,(c=c.length>0&&c[c.length-1])||6!==s[0]&&2!==s[0])){n=0;continue}if(3===s[0]&&(!c||s[1]>c[0]&&s[1]<c[3])){n.label=s[1];break}if(6===s[0]&&n.label<c[1]){n.label=c[1],c=s;break}if(c&&n.label<c[2]){n.label=c[2],n.ops.push(s);break}c[2]&&n.ops.pop(),n.trys.pop();continue}s=a.call(e,n)}catch(e){s=[6,e],o=0}finally{t=c=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var entity_command_1=__importDefault(require("./commands/entity.command")),controller_command_1=__importDefault(require("./commands/controller.command")),dto_command_1=__importDefault(require("./commands/dto.command")),service_command_1=__importDefault(require("./commands/service.command")),module_command_1=__importDefault(require("./commands/module.command")),mapper_command_1=__importDefault(require("./commands/mapper.command")),chalk_1=__importDefault(require("chalk")),commander_1=require("commander"),fs_1=__importDefault(require("fs")),path_1=__importStar(require("path")),definition_command_1=__importDefault(require("./commands/definition.command")),className="";function commands(e){(new entity_command_1.default).builder({data:{className:className,entityName:"".concat(className.toLowerCase(),"s"),columns:JSON.parse(e)},templatePath:"../../templates/entity.template.hbs",outDir:"".concat(className.toLowerCase())}).execute(),(new controller_command_1.default).builder({data:{className:className,entityName:className,entityFileName:"./".concat(className.toLowerCase(),".entity"),dtoName:"".concat(className,"DTO"),dtoFileName:"./".concat(className.toLowerCase(),".dto"),mapperName:"".concat(className,"Mapper"),mapperVariableName:"".concat(className.toLowerCase(),"Mapper"),mapperFileName:"./".concat(className.toLowerCase(),".mapper"),serviceName:"".concat(className,"Service"),serviceVariableName:"".concat(className.toLowerCase(),"Service"),serviceFileName:"./".concat(className.toLowerCase(),".service"),controllerPathName:"".concat(className.toLowerCase(),"s")},templatePath:"../../templates/controller.template.hbs",outDir:"".concat(className.toLowerCase())}).execute(),(new dto_command_1.default).builder({data:{className:className,columns:JSON.parse(e)},templatePath:"../../templates/dto.template.hbs",outDir:"".concat(className.toLowerCase())}).execute(),(new service_command_1.default).builder({data:{className:className,entityName:className,entityFileName:"./".concat(className.toLowerCase(),".entity"),dtoName:"".concat(className,"DTO"),dtoFileName:"./".concat(className.toLowerCase(),".dto"),mapperName:"".concat(className,"Mapper"),mapperVariableName:"".concat(className.toLowerCase(),"Mapper"),mapperFileName:"./".concat(className.toLowerCase(),".mapper"),serviceName:"".concat(className,"Service"),repositoryName:"".concat(className.toLowerCase(),"Repository")},templatePath:"../../templates/service.template.hbs",outDir:"".concat(className.toLowerCase())}).execute(),(new module_command_1.default).builder({data:{className:className,entityName:className,entityFileName:"./".concat(className.toLowerCase(),".entity"),mapperName:"".concat(className,"Mapper"),mapperFileName:"./".concat(className.toLowerCase(),".mapper"),serviceName:"".concat(className,"Service"),serviceFileName:"./".concat(className.toLowerCase(),".service"),controllerName:"".concat(className.charAt(0).toUpperCase()+className.slice(1),"Controller"),controllerFileName:"./".concat(className.toLowerCase(),".controller"),moduleName:"".concat(className.charAt(0).toUpperCase()+className.slice(1),"Module")},templatePath:"../../templates/module.template.hbs",outDir:"".concat(className.toLowerCase())}).execute((function(e){updateDefinitions()})),(new mapper_command_1.default).builder({data:{className:className,entityName:className,entityFileName:"./".concat(className.toLowerCase(),".entity"),dtoName:"".concat(className,"DTO"),dtoFileName:"./".concat(className.toLowerCase(),".dto"),mapperName:"".concat(className,"Mapper"),columns:JSON.parse(e)},templatePath:"../../templates/mapper.template.hbs",outDir:"".concat(className.toLowerCase())}).execute()}var getAllFiles=function(e,a){var t=fs_1.default.readdirSync(e);return a=a||[],t.forEach((function(t){if(fs_1.default.statSync(e+"/"+t).isDirectory())a=getAllFiles(e+"/"+t,a);else if(t.includes(".module.")&&!t.includes("app.module.")&&!t.includes("content-type.")){var o=t.split(".")[0],c="".concat(o.charAt(0).toUpperCase()+o.slice(1),"Module");a.push({rawModuleName:o,preparedModuleName:c,path:"./".concat(o,"/").concat(o,".module")})}})),a};function updateDefinitions(){var e=getAllFiles((0,path_1.join)(process.cwd()));(new definition_command_1.default).builder({data:{className:"module",modules:e},templatePath:"../../templates/definition.template.hbs",outDir:"./"}).execute()}function commandRunner(){return __awaiter(this,void 0,void 0,(function(){var e,a,t;return __generator(this,(function(o){return commander_1.program.name("nest-crud-cli").description("nest-crud-cli").version("0.0.28"),commander_1.program.option("-n, --name","entity name","SampleCLIEntity").option("-c, --columns","entity columns").option("-s, --sync","sync modules"),commander_1.program.parse(process.argv),e=commander_1.program.opts(),className=commander_1.program.args[0],a=commander_1.program.args[1],e.sync?(updateDefinitions(),[2]):(t=path_1.default.join(process.cwd(),"".concat(className.toLowerCase())),fs_1.default.existsSync(t)&&fs_1.default.rmdirSync(t,{recursive:!0}),fs_1.default.mkdir(t,(function(e){if(e)return console.log(chalk_1.default.red("-----Module Folder Creation Error----- : ".concat(e)));commands(a),fs_1.default.writeFile(path_1.default.join(process.cwd(),"".concat(className.toLowerCase(),"/").concat(className.toLowerCase(),".schema.json")),a,(function(e){e&&console.log(chalk_1.default.red("-----Schema Creation Error----- : ".concat(e))),console.log(chalk_1.default.green("Creating file "+chalk_1.default.blue.underline.bold("".concat(className.toLowerCase(),".schema.json"))+" has been successful!"))}))})),console.log(chalk_1.default.yellow("Working directory is ".concat(process.cwd()))),[2])}))}))}commandRunner();
//# sourceMappingURL=/sm/8d6d43c4d9bcd576686096d97d1193e8bd7f8d37ace8a7b74f34a3d7b611be9c.map