UNPKG

@rist/preset-react

Version:
47 lines (46 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldAskForComponent = exports.dispatch = exports.GeneratorAction = void 0; const abstract_action_1 = require("../abstract/abstract.action"); const enum_1 = require("../utils/enum"); const inquirer = require("inquirer"); const core_1 = require("../../solutions/core"); const bootstrap_component_action_1 = require("./bootstrap.component.action"); class GeneratorAction extends abstract_action_1.AbstractAction { async handle(inputs, options) { await exports.dispatch(inputs.concat(options)); } } exports.GeneratorAction = GeneratorAction; exports.dispatch = async (inputs) => { const componentName = inputs.find((option) => option.name === enum_1.TYPES.COMPONENT.toLowerCase()).value; const schematic = inputs.find((option) => option.name === enum_1.TYPES.SCHEMATIC.toLowerCase()).value; const path = inputs.find((option) => option.name === enum_1.TYPES.PATH.toLowerCase()).value; let framework = inputs.find((option) => option.name === enum_1.TYPES.NAME.toLowerCase()).value; if (framework = await exports.shouldAskForComponent(framework)) { switch (framework) { case enum_1.TYPES.REACT: new core_1.BootstrapComponentGen(new bootstrap_component_action_1.BootstrapComponentAction()).load({ framework, schematic, name: componentName, path }); return; } } }; //选择框架模板 exports.shouldAskForComponent = async (framework) => { if (!framework) { const { action } = await inquirer.prompt([ { name: 'action', type: 'list', message: `select a Template`, choices: [ { name: 'React', value: 'React' }, { name: 'Vue', value: 'Vue' }, { name: 'Angular', value: 'Angular' }, ] } ]); return action; } return framework; };