From 13d17dd325e06323d5e017fc2f552efdbe9a3dc4 Mon Sep 17 00:00:00 2001 From: Larry Xue Date: Sun, 12 Mar 2023 06:35:45 -0400 Subject: [PATCH 1/3] fix typo --- lib/options/optimization-level.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/options/optimization-level.js b/lib/options/optimization-level.js index 0b6f0fa1..d0bd562c 100644 --- a/lib/options/optimization-level.js +++ b/lib/options/optimization-level.js @@ -93,7 +93,7 @@ function optimizationLevelFrom(source) { } if (typeof source == 'object') { - source = covertValuesToHashes(source); + source = convertValuesToHashes(source); } if (One in source && 'roundingPrecision' in source[One]) { @@ -169,7 +169,7 @@ function normalizeValue(value) { } } -function covertValuesToHashes(source) { +function convertValuesToHashes(source) { var clonedSource = override(source, {}); var level; var i; @@ -186,14 +186,14 @@ function covertValuesToHashes(source) { } if (level in clonedSource && typeof clonedSource[level] == 'string') { - clonedSource[level] = covertToHash(clonedSource[level], level); + clonedSource[level] = convertToHash(clonedSource[level], level); } } return clonedSource; } -function covertToHash(asString, level) { +function convertToHash(asString, level) { return asString .split(OPTION_SEPARATOR) .reduce(function(accumulator, directive) { From 329d64dea11163dba1a85932a0ad260f2394b120 Mon Sep 17 00:00:00 2001 From: Larry Xue Date: Sun, 12 Mar 2023 06:38:22 -0400 Subject: [PATCH 2/3] fix clean-css/clean-css-cli#77 --- lib/options/format.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/options/format.js b/lib/options/format.js index 525dd48e..a7870f40 100644 --- a/lib/options/format.js +++ b/lib/options/format.js @@ -149,6 +149,8 @@ function toHash(string) { accumulator[name] = mapIndentWith(value); } else if (name == 'breakWith') { accumulator[name] = mapBreakWith(value); + } else { + accumulator[name] = normalizeValue(value); } return accumulator; From 72be1cd2750d9ac99e52e17e09101f26e218f308 Mon Sep 17 00:00:00 2001 From: Larry Xue Date: Sun, 12 Mar 2023 06:48:48 -0400 Subject: [PATCH 3/3] refactor reused normalizeValue --- lib/options/format.js | 19 +------------------ lib/options/optimization-level.js | 18 +----------------- lib/utils/normalize-value.js | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 35 deletions(-) create mode 100644 lib/utils/normalize-value.js diff --git a/lib/options/format.js b/lib/options/format.js index a7870f40..b4e4b85e 100644 --- a/lib/options/format.js +++ b/lib/options/format.js @@ -1,6 +1,7 @@ var systemLineBreak = require('os').EOL; var override = require('../utils/override'); +var normalizeValue = require('../utils/normalize-value'); var Breaks = { AfterAtRule: 'afterAtRule', @@ -49,11 +50,6 @@ var OPTION_NAME_VALUE_SEPARATOR = ':'; var HASH_VALUES_OPTION_SEPARATOR = ','; var HASH_VALUES_NAME_VALUE_SEPARATOR = '='; -var FALSE_KEYWORD_1 = 'false'; -var FALSE_KEYWORD_2 = 'off'; -var TRUE_KEYWORD_1 = 'true'; -var TRUE_KEYWORD_2 = 'on'; - function breaks(value) { var breakOptions = {}; @@ -171,19 +167,6 @@ function hashValuesToHash(string) { }, {}); } -function normalizeValue(value) { - switch (value) { - case FALSE_KEYWORD_1: - case FALSE_KEYWORD_2: - return false; - case TRUE_KEYWORD_1: - case TRUE_KEYWORD_2: - return true; - default: - return value; - } -} - function mapBreakWith(value) { switch (value) { case 'windows': diff --git a/lib/options/optimization-level.js b/lib/options/optimization-level.js index d0bd562c..238d82d8 100644 --- a/lib/options/optimization-level.js +++ b/lib/options/optimization-level.js @@ -1,6 +1,7 @@ var roundingPrecisionFrom = require('./rounding-precision').roundingPrecisionFrom; var override = require('../utils/override'); +var normalizeValue = require('../utils/normalize-value'); var OptimizationLevel = { Zero: '0', @@ -53,10 +54,6 @@ DEFAULTS[OptimizationLevel.Two] = { var ALL_KEYWORD_1 = '*'; var ALL_KEYWORD_2 = 'all'; -var FALSE_KEYWORD_1 = 'false'; -var FALSE_KEYWORD_2 = 'off'; -var TRUE_KEYWORD_1 = 'true'; -var TRUE_KEYWORD_2 = 'on'; var LIST_VALUE_SEPARATOR = ','; var OPTION_SEPARATOR = ';'; @@ -156,19 +153,6 @@ function defaults(level, value) { return options; } -function normalizeValue(value) { - switch (value) { - case FALSE_KEYWORD_1: - case FALSE_KEYWORD_2: - return false; - case TRUE_KEYWORD_1: - case TRUE_KEYWORD_2: - return true; - default: - return value; - } -} - function convertValuesToHashes(source) { var clonedSource = override(source, {}); var level; diff --git a/lib/utils/normalize-value.js b/lib/utils/normalize-value.js new file mode 100644 index 00000000..72d2e2fd --- /dev/null +++ b/lib/utils/normalize-value.js @@ -0,0 +1,19 @@ +var FALSE_KEYWORD_1 = 'false'; +var FALSE_KEYWORD_2 = 'off'; +var TRUE_KEYWORD_1 = 'true'; +var TRUE_KEYWORD_2 = 'on'; + +function normalizeValue(value) { + switch (value) { + case FALSE_KEYWORD_1: + case FALSE_KEYWORD_2: + return false; + case TRUE_KEYWORD_1: + case TRUE_KEYWORD_2: + return true; + default: + return value; + } +} + +module.exports = normalizeValue;