@gmjs/cli-wrapper
Version:
44 lines (43 loc) • 1.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.processCli = void 0;
const parse_1 = require("../parse");
const merge_cli_options_1 = require("./merge-cli-options");
function processCli(description, config, args) {
const parseResult = (0, parse_1.parse)(args, config);
if (!parseResult.success) {
return {
type: 'error',
message: parseResult.message,
options: {},
};
}
if (parseResult.options.some((o) => o.name === 'version')) {
return {
type: 'completed',
message: `Version ${config.meta.version}`,
options: {},
};
}
if (parseResult.options.some((o) => o.name === 'help')) {
return {
type: 'completed',
message: description,
options: {},
};
}
const mergeResult = (0, merge_cli_options_1.mergeCliOptions)(config.options, parseResult.options);
if (!mergeResult.success) {
return {
type: 'error',
message: mergeResult.message,
options: {},
};
}
return {
type: 'execute',
message: undefined,
options: Object.fromEntries(mergeResult.nameOptionPairs),
};
}
exports.processCli = processCli;
;