aboutsummaryrefslogtreecommitdiff
path: root/node_modules/clean-css/lib/options/optimization-level.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
commitcc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch)
tree92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/clean-css/lib/options/optimization-level.js
parent3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff)
remove node_modules
Diffstat (limited to 'node_modules/clean-css/lib/options/optimization-level.js')
-rw-r--r--node_modules/clean-css/lib/options/optimization-level.js221
1 files changed, 0 insertions, 221 deletions
diff --git a/node_modules/clean-css/lib/options/optimization-level.js b/node_modules/clean-css/lib/options/optimization-level.js
deleted file mode 100644
index 0d3ad7303..000000000
--- a/node_modules/clean-css/lib/options/optimization-level.js
+++ /dev/null
@@ -1,221 +0,0 @@
-var roundingPrecisionFrom = require('./rounding-precision').roundingPrecisionFrom;
-
-var override = require('../utils/override');
-
-var OptimizationLevel = {
- Zero: '0',
- One: '1',
- Two: '2'
-};
-
-var DEFAULTS = {};
-
-DEFAULTS[OptimizationLevel.Zero] = {};
-DEFAULTS[OptimizationLevel.One] = {
- cleanupCharsets: true,
- normalizeUrls: true,
- optimizeBackground: true,
- optimizeBorderRadius: true,
- optimizeFilter: true,
- optimizeFontWeight: true,
- optimizeOutline: true,
- removeEmpty: true,
- removeNegativePaddings: true,
- removeQuotes: true,
- removeWhitespace: true,
- replaceMultipleZeros: true,
- replaceTimeUnits: true,
- replaceZeroUnits: true,
- roundingPrecision: roundingPrecisionFrom(undefined),
- selectorsSortingMethod: 'standard',
- specialComments: 'all',
- tidyAtRules: true,
- tidyBlockScopes: true,
- tidySelectors: true,
- transform: noop
-};
-DEFAULTS[OptimizationLevel.Two] = {
- mergeAdjacentRules: true,
- mergeIntoShorthands: true,
- mergeMedia: true,
- mergeNonAdjacentRules: true,
- mergeSemantically: false,
- overrideProperties: true,
- removeEmpty: true,
- reduceNonAdjacentRules: true,
- removeDuplicateFontRules: true,
- removeDuplicateMediaBlocks: true,
- removeDuplicateRules: true,
- removeUnusedAtRules: false,
- restructureRules: false,
- skipProperties: []
-};
-
-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 = ';';
-var OPTION_VALUE_SEPARATOR = ':';
-
-function noop() {}
-
-function optimizationLevelFrom(source) {
- var level = override(DEFAULTS, {});
- var Zero = OptimizationLevel.Zero;
- var One = OptimizationLevel.One;
- var Two = OptimizationLevel.Two;
-
-
- if (undefined === source) {
- delete level[Two];
- return level;
- }
-
- if (typeof source == 'string') {
- source = parseInt(source);
- }
-
- if (typeof source == 'number' && source === parseInt(Two)) {
- return level;
- }
-
- if (typeof source == 'number' && source === parseInt(One)) {
- delete level[Two];
- return level;
- }
-
- if (typeof source == 'number' && source === parseInt(Zero)) {
- delete level[Two];
- delete level[One];
- return level;
- }
-
- if (typeof source == 'object') {
- source = covertValuesToHashes(source);
- }
-
- if (One in source && 'roundingPrecision' in source[One]) {
- source[One].roundingPrecision = roundingPrecisionFrom(source[One].roundingPrecision);
- }
-
- if (Two in source && 'skipProperties' in source[Two] && typeof(source[Two].skipProperties) == 'string') {
- source[Two].skipProperties = source[Two].skipProperties.split(LIST_VALUE_SEPARATOR);
- }
-
- if (Zero in source || One in source || Two in source) {
- level[Zero] = override(level[Zero], source[Zero]);
- }
-
- if (One in source && ALL_KEYWORD_1 in source[One]) {
- level[One] = override(level[One], defaults(One, normalizeValue(source[One][ALL_KEYWORD_1])));
- delete source[One][ALL_KEYWORD_1];
- }
-
- if (One in source && ALL_KEYWORD_2 in source[One]) {
- level[One] = override(level[One], defaults(One, normalizeValue(source[One][ALL_KEYWORD_2])));
- delete source[One][ALL_KEYWORD_2];
- }
-
- if (One in source || Two in source) {
- level[One] = override(level[One], source[One]);
- } else {
- delete level[One];
- }
-
- if (Two in source && ALL_KEYWORD_1 in source[Two]) {
- level[Two] = override(level[Two], defaults(Two, normalizeValue(source[Two][ALL_KEYWORD_1])));
- delete source[Two][ALL_KEYWORD_1];
- }
-
- if (Two in source && ALL_KEYWORD_2 in source[Two]) {
- level[Two] = override(level[Two], defaults(Two, normalizeValue(source[Two][ALL_KEYWORD_2])));
- delete source[Two][ALL_KEYWORD_2];
- }
-
- if (Two in source) {
- level[Two] = override(level[Two], source[Two]);
- } else {
- delete level[Two];
- }
-
- return level;
-}
-
-function defaults(level, value) {
- var options = override(DEFAULTS[level], {});
- var key;
-
- for (key in options) {
- if (typeof options[key] == 'boolean') {
- options[key] = 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 covertValuesToHashes(source) {
- var clonedSource = override(source, {});
- var level;
- var i;
-
- for (i = 0; i <= 2; i++) {
- level = '' + i;
-
- if (level in clonedSource && (clonedSource[level] === undefined || clonedSource[level] === false)) {
- delete clonedSource[level];
- }
-
- if (level in clonedSource && clonedSource[level] === true) {
- clonedSource[level] = {};
- }
-
- if (level in clonedSource && typeof clonedSource[level] == 'string') {
- clonedSource[level] = covertToHash(clonedSource[level], level);
- }
- }
-
- return clonedSource;
-}
-
-function covertToHash(asString, level) {
- return asString
- .split(OPTION_SEPARATOR)
- .reduce(function (accumulator, directive) {
- var parts = directive.split(OPTION_VALUE_SEPARATOR);
- var name = parts[0];
- var value = parts[1];
- var normalizedValue = normalizeValue(value);
-
- if (ALL_KEYWORD_1 == name || ALL_KEYWORD_2 == name) {
- accumulator = override(accumulator, defaults(level, normalizedValue));
- } else {
- accumulator[name] = normalizedValue;
- }
-
- return accumulator;
- }, {});
-}
-
-module.exports = {
- OptimizationLevel: OptimizationLevel,
- optimizationLevelFrom: optimizationLevelFrom,
-};