gpt4 book ai didi

javascript - Commander-js 的强制参数

转载 作者:行者123 更新时间:2023-12-02 23:32:17 25 4
gpt4 key购买 nike

我想知道是否可以在commander上创建命令看起来像这样

toggle (on|off) <args...>

其中(on|off)表示您必须选择其中之一,强制。

理想情况下,指挥官应该负责抛出适当的错误和错误消息。

最佳答案

正如@shadowspawn所说,指挥官不支持这种构造。但是,您可以通过将强制参数作为参数来模拟它并自行进行验证。然后您可以使用使用方法覆盖帮助输出。像这样的东西。

const assertOnOff = (str) => {
if (!/^(on|off)$/.test(str)) {
Logger.error('Toggle action must be either `on` or `off`');
process.exit(1);
}
};

const expandJson = str => JSON.stringify(JSON.parse(str), null, 2);

async function start(action, features) {
assertOnOff(action);
// ... do things
}


program.command('toggle <action> <FEATURE_NAME...>')
.description('turns a feature on or off')
.usage('(on|off) <FEATURE_NAME...>')
.action(start);

然后当你像这样调用命令时

切换-h

您将得到此帮助输出

Usage: toggle (on|off) <FEATURE_NAME...>

turns a feature on or off

Options:
-i, --institution [name] Institution name
-h, --help output usage information

关于javascript - Commander-js 的强制参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com