UNPKG

create-component-template

Version:
97 lines (77 loc) 2.56 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _require = require('../utils/logger.js'), logError = _require.logError; var inquirer = require('inquirer'); var chalk = require('chalk'); var defaultArgs = require('../args/default'); /** * @param {Object} options * @returns Array */ var createQuestions = function createQuestions(options) { var questions = [{ type: 'input', name: 'componentName', message: chalk.magenta('Please enter a component name'), when: function when() { return !options.componentName; }, validate: function validate(compName) { return compName ? true : 'must be longer than 0 characters'; } }, { type: 'input', name: 'componentPath', message: chalk.magenta('Please enter a folder path for the new component'), when: function when() { return !options.componentPath; }, default: defaultArgs.componentPath }]; return questions; }; /** * @param {Object} options * @returns Object */ var promptUser = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(options) { var questions, answers; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: questions = createQuestions(options); answers = void 0; _context.prev = 2; _context.next = 5; return inquirer.prompt(questions); case 5: answers = _context.sent; _context.next = 11; break; case 8: _context.prev = 8; _context.t0 = _context['catch'](2); logError(_context.t0); case 11: return _context.abrupt('return', (0, _extends3.default)({}, options, answers)); case 12: case 'end': return _context.stop(); } } }, _callee, undefined, [[2, 8]]); })); return function promptUser(_x) { return _ref.apply(this, arguments); }; }(); module.exports = promptUser;