UNPKG

geenee-spell

Version:

regenerates project code based upon settings and a template

46 lines (45 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.askForValue = void 0; const extendedDescription_1 = require("./extendedDescription"); const { attention } = require('magicalstrings').constants.chalkColors; function askForValue(specsForInstance, specsForType, currentName, questionName) { const name = questionName; const { type, description, choices, required } = specsForType; const defaultAnswer = specsForInstance || specsForType.default; let fullDescription = '[' + extendedDescription_1.extendedDescription(type, description) + ']'; if (required) fullDescription += attention('*'); if (type === 'boolean') { return { type: 'confirm', name, message: `is ${currentName} true? ${fullDescription}`, default: defaultAnswer, }; } if (choices) { return { type: 'list', name, message: `choose value of ${currentName} ${fullDescription}`, choices, default: defaultAnswer, }; } const questionInfo = { type: 'input', name, message: `enter value of ${currentName} ${fullDescription}`, default: defaultAnswer, }; if (required) questionInfo.validate = function (value) { if (value) { return true; } return attention(`${currentName} is required.`) + ' Please enter value:'; }; return questionInfo; } exports.askForValue = askForValue;