javascript - command-js 的强制参数
问题描述
我想知道是否可以在指挥官上创建一个看起来像这样的命令
toggle (on|off) <args...>
Where(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);
然后当你像这样调用命令时
toggle -h
你会得到这个帮助输出
Usage: toggle (on|off) <FEATURE_NAME...>
turns a feature on or off
Options:
-i, --institution [name] Institution name
-h, --help output usage information
推荐阅读
- python-3.x - 很少有记录写入谷歌表
- php - 如何在运行时获取 Android 应用程序的 OAuth 客户端密钥和客户端密钥而无需硬编码
- asp.net-core - Blazor checkbox binding is not working - server-side
- javascript - 每次在 ReactJS 中更改时获取单选按钮值
- html - 在 Angular 中声明 ImageObject 格式在哪里?
- python - 有没有办法在 manim 中创建散点图?
- javascript - 使用文件加载器 Web 包加载 Svgs
- python - 在 Tkinter GUI 中敲击键时执行模拟按钮按下
- mongodb - Kubernetes 清单中的 mongo 命令
- python-3.x - 在内存中解压缩存档并 bzip2 吗?