nav-new-publication-cli
Version:
Add new publication to the navigator web project
33 lines (32 loc) • 1.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPrompts = void 0;
const prompts_1 = __importDefault(require("prompts"));
const createPrompt = (promptConfig) => {
const { process, errorMsg, ...promptOpts } = promptConfig;
return {
...promptOpts,
onState: ({ value, aborted, exited }) => {
if (errorMsg && (aborted || exited)) {
throw new Error(errorMsg);
}
if (process)
process(value);
}
};
};
const createPrompts = async (config, key, promptConfig) => {
if (!config[key]) {
const promptsArray = Array.isArray(promptConfig) ? promptConfig : [promptConfig];
const values = await (0, prompts_1.default)(promptsArray.map(createPrompt));
return {
...config,
...values
};
}
return Promise.resolve(config);
};
exports.createPrompts = createPrompts;