Add hasFlags

Check if the current process's arguments contain the specified flags.
This commit is contained in:
Angelos Chalaris
2018-01-01 18:24:43 +02:00
parent 1731671564
commit 9826bbadcd
2 changed files with 22 additions and 0 deletions

21
snippets/hasFlags.md Normal file
View File

@ -0,0 +1,21 @@
### hasFlags
Check if the current process's arguments contain the specified flags.
Use `Array.every()` and `Array.includes()` to check if `process.argv` contains all the specified flags.
Use a regular expression to test if the specified flags are prefixed with `-` or `--` and prefix them accordingly.
```js
const hasFlags = (...flags) =>
flags.every(flag => process.argv.includes(
/^-{1,2}/.test(flag) ? flag : '--' + flag
));
```
```js
// node myScript.js -s --test --cool=true
hasFlags('-s'); // true
hasFlags('test', 'cool=true'); // true
hasFlags('--test', 'cool=true', '-s'); // true
hasFlags('special'); // false
```