UNPKG

react-generate-comp

Version:

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

69 lines (68 loc) 2.99 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()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.activePromptOptions = void 0; const prompts_1 = __importDefault(require("prompts")); const path_1 = __importDefault(require("path")); const kolorist_1 = require("kolorist"); const utili_1 = require("../utili"); function activePromptOptions() { return __awaiter(this, void 0, void 0, function* () { const questions = [ { type: 'select', name: 'type', message: 'Select a type to generate', choices: [ { title: (0, kolorist_1.cyan)("Components"), value: "Comp" }, { title: (0, kolorist_1.lightGreen)("RTK Slice"), value: "Slice" }, ], }, { type: 'text', name: 'fileName', initial: "users", message: 'What is your file name?', validate: (v) => { if (!v || v !== path_1.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_1.blue)("Typescript"), value: "ts" }, { title: (0, kolorist_1.yellow)("Javascript"), value: "js" }, ], } ]; try { const res = yield (0, prompts_1.default)(questions, { onCancel: () => { throw new Error("Prompt stopped"); } }); (0, utili_1.generateFunctionComp)(res.lang === "ts", res.type, res.fileName.trim().split(' ').join('')); } catch (error) { return; } }); } exports.activePromptOptions = activePromptOptions;