@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
36 lines (35 loc) • 1.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
const lodash_1 = __importDefault(require("lodash"));
const config_1 = require("../../config");
const constants_1 = require("../../constants");
const options_1 = require("./options");
const PARAM_REGEX = /{.*}/;
const replacer = (toBeReplaced) => {
const param = toBeReplaced.slice(1, -1);
return `{${lodash_1.default.kebabCase(param)}}`;
};
const create = (message) => (0, options_1.create)([
{
...constants_1.OPTION_FORCE,
required: true,
prompts: {
type: "confirm",
initial: true,
message: () => {
const config = (0, config_1.get)();
let intMessage = message.replace(PARAM_REGEX, replacer);
Object.entries(config.options).forEach((option) => {
intMessage = intMessage.replace(`{${option[0]}}`, option[1]);
});
return intMessage;
},
inputValidator: (value) => value,
},
},
], undefined, false, true);
exports.create = create;