diff options
Diffstat (limited to 'ext/node/polyfills/internal/util/parse_args/utils.js')
-rw-r--r-- | ext/node/polyfills/internal/util/parse_args/utils.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ext/node/polyfills/internal/util/parse_args/utils.js b/ext/node/polyfills/internal/util/parse_args/utils.js index a51a46098..1ceed0b9e 100644 --- a/ext/node/polyfills/internal/util/parse_args/utils.js +++ b/ext/node/polyfills/internal/util/parse_args/utils.js @@ -173,6 +173,18 @@ function findLongOptionForShort(shortOption, options) { return longOptionEntry?.[0] ?? shortOption; } +/** + * Check if the given option includes a default value + * and that option has not been set by the input args. + * @param {string} longOption - long option name e.g. 'foo' + * @param {object} optionConfig - the option configuration properties + * @param {object} values - option values returned in `values` by parseArgs + */ +function useDefaultValueOption(longOption, optionConfig, values) { + return objectGetOwn(optionConfig, "default") !== undefined && + values[longOption] === undefined; +} + export { findLongOptionForShort, isLoneLongOption, @@ -184,4 +196,5 @@ export { isShortOptionGroup, objectGetOwn, optionsGetOwn, + useDefaultValueOption, }; |