geenee-spell
Version:
regenerates project code based upon settings and a template
46 lines (45 loc) • 1.56 kB
JavaScript
;
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;