From eb0c843feef94f483146a7473dd683e9d5b0bf68 Mon Sep 17 00:00:00 2001 From: Manuel Spigolon Date: Sat, 24 Sep 2022 14:58:56 +0200 Subject: [PATCH] fix: code repetition per code review --- doc/api/util.md | 2 +- lib/internal/util/parse_args/parse_args.js | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/api/util.md b/doc/api/util.md index 487a609f279af3..3e0505fd525d3f 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -1033,7 +1033,7 @@ added: changes: - version: REPLACEME pr-url: https://github.com/nodejs/node/pull/44631 - description: add support for default values in input `config`. + description: Add support for default values in input `config`. - version: - v18.7.0 - v16.17.0 diff --git a/lib/internal/util/parse_args/parse_args.js b/lib/internal/util/parse_args/parse_args.js index 0c0ed4b347fd5a..afe50ea02728e6 100644 --- a/lib/internal/util/parse_args/parse_args.js +++ b/lib/internal/util/parse_args/parse_args.js @@ -333,15 +333,17 @@ const parseArgs = (config = kEmptyObject) => { const defaultValue = objectGetOwn(optionConfig, 'default'); if (defaultValue !== undefined) { - if (optionType === 'string' && !multipleOption) { - validateString(defaultValue, `options.${longOption}.default`); - } else if (optionType === 'string' && multipleOption) { - validateStringArray(defaultValue, `options.${longOption}.default`); - } else if (optionType === 'boolean' && !multipleOption) { - validateBoolean(defaultValue, `options.${longOption}.default`); - } else if (optionType === 'boolean' && multipleOption) { - validateBooleanArray(defaultValue, `options.${longOption}.default`); + let validator; + switch (optionType) { + case 'string': + validator = multipleOption ? validateStringArray : validateString; + break; + + case 'boolean': + validator = multipleOption ? validateBooleanArray : validateBoolean; + break; } + validator(defaultValue, `options.${longOption}.default`); } } );