UNPKG

react-generate-comp

Version:

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

46 lines (45 loc) 2.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateFunctionComp = exports.createCompTest = void 0; const kolorist_1 = require("kolorist"); const genRTKSlice_1 = require("./supportGen/genRTKSlice"); const writeFolder_1 = require("./supportGen/writeFolder"); const generateCode_1 = require("./supportGen/generateCode"); const bigSmallLetter_1 = require("./supportGen/bigSmallLetter"); const path_1 = __importDefault(require("path")); function createCompTest(isTypescript, method = 'Comp', compName = '', isNative = false) { let dataText = ""; if (method === "Comp") { dataText = (0, generateCode_1.genComponents)(compName, isTypescript ? 'Typescript' : 'Javascript', isNative); } else if (method === "Slice") { dataText = (0, genRTKSlice_1.genRtkSlice)(compName, isTypescript ? 'Typescript' : 'Javascript'); } let [fileName, _] = (0, bigSmallLetter_1.strToSmallAndBig)(compName); method === "Slice" && (fileName += "Slice"); fileName += isTypescript ? '.tsx' : '.jsx'; return [fileName, dataText]; } exports.createCompTest = createCompTest; function generateFunctionComp(isTypescript, method = 'Comp', compName = '', isNative = false) { try { let [fileName, dataText] = createCompTest(isTypescript, method, compName, isNative); console.log((0, kolorist_1.blue)(`Generating ${method} ${fileName}`)); const success = (0, writeFolder_1.writeFolder)(fileName, dataText); if (success) { console.log("Success to write", (0, kolorist_1.yellow)(fileName), "in", (0, kolorist_1.yellow)(path_1.default.join(process.cwd(), fileName))); return; } else { console.log((0, kolorist_1.yellow)(fileName), (0, kolorist_1.lightRed)("already exist.")); } } catch (error) { console.log(error); return; } } exports.generateFunctionComp = generateFunctionComp;