From 2ec2ff9f9d8a9b501e615699524288c1ca974602 Mon Sep 17 00:00:00 2001 From: ikatyang Date: Mon, 11 Sep 2017 00:48:05 +0800 Subject: [PATCH] refactor: replace `getDetailOption()` with `detailOptionMap` --- src/cli-constant.js | 13 +++++-------- src/cli-util.js | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/cli-constant.js b/src/cli-constant.js index bed94d99..91d54494 100644 --- a/src/cli-constant.js +++ b/src/cli-constant.js @@ -299,19 +299,16 @@ function normalizeDetailOptions(rawDetailOptions) { }); }); - normalized.forEach(normalizedOption => { - normalized[normalizedOption.name] = normalizedOption; - }); - return normalized; } -function getDetailOption(name) { - return detailOptions[name]; -} +const detailOptionMap = detailOptions.reduce( + (current, option) => Object.assign(current, { [option.name]: option }), + {} +); module.exports = { minimistOptions, detailOptions, - getDetailOption + detailOptionMap }; diff --git a/src/cli-util.js b/src/cli-util.js index 4bd21b0b..7a2f4f0d 100644 --- a/src/cli-util.js +++ b/src/cli-util.js @@ -437,7 +437,7 @@ function normalizeArgv(rawArgv, options) { return; } - const option = constant.getDetailOption(key); + const option = constant.detailOptionMap[key]; if (option === undefined) { // unknown option