UNPKG

react-generate-comp

Version:

Generate React components in current execute directory by typing with CLI.

1 lines 2.07 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"activePromptOptions",{enumerable:true,get:()=>activePromptOptions});const _prompts=_interopRequireDefault(require("prompts"));const _path=_interopRequireDefault(require("path"));const _kolorist=require("kolorist");const _utili=require("../utili");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function activePromptOptions(){return _activePromptOptions.apply(this,arguments)}function _activePromptOptions(){_activePromptOptions=_asyncToGenerator(function*(){const questions=[{type:"select",name:"type",message:"Select a type to generate",choices:[{title:(0,_kolorist.cyan)("Components"),value:"Comp"},{title:(0,_kolorist.lightGreen)("RTK Slice"),value:"Slice"}]},{type:"text",name:"fileName",initial:"users",message:"What is your file name?",validate:v=>{if(!v||v!==_path.default.basename(v)){return"Missing file name or invalid file name"}if(v.endsWith(".")){return"Dot(.) can not be named at last"}return true}},{type:"select",name:"lang",message:"Select a languages",choices:[{title:(0,_kolorist.blue)("Typescript"),value:"ts"},{title:(0,_kolorist.yellow)("Javascript"),value:"js"}]}];try{const res=yield(0,_prompts.default)(questions,{onCancel:()=>{throw new Error("Prompt stopped")}});(0,_utili.generateFunctionComp)(res.lang==="ts",res.type,res.fileName.trim().split(" ").join(""))}catch(error){return}});return _activePromptOptions.apply(this,arguments)}