aboutsummaryrefslogtreecommitdiff
path: root/node_modules/clean-css/lib/options/rounding-precision.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/clean-css/lib/options/rounding-precision.js')
-rw-r--r--node_modules/clean-css/lib/options/rounding-precision.js88
1 files changed, 0 insertions, 88 deletions
diff --git a/node_modules/clean-css/lib/options/rounding-precision.js b/node_modules/clean-css/lib/options/rounding-precision.js
deleted file mode 100644
index 42ecf1b4d..000000000
--- a/node_modules/clean-css/lib/options/rounding-precision.js
+++ /dev/null
@@ -1,88 +0,0 @@
-var override = require('../utils/override');
-
-var INTEGER_PATTERN = /^\d+$/;
-
-var ALL_UNITS = ['*', 'all'];
-var DEFAULT_PRECISION = 'off'; // all precision changes are disabled
-var DIRECTIVES_SEPARATOR = ','; // e.g. *=5,px=3
-var DIRECTIVE_VALUE_SEPARATOR = '='; // e.g. *=5
-
-function roundingPrecisionFrom(source) {
- return override(defaults(DEFAULT_PRECISION), buildPrecisionFrom(source));
-}
-
-function defaults(value) {
- return {
- 'ch': value,
- 'cm': value,
- 'em': value,
- 'ex': value,
- 'in': value,
- 'mm': value,
- 'pc': value,
- 'pt': value,
- 'px': value,
- 'q': value,
- 'rem': value,
- 'vh': value,
- 'vmax': value,
- 'vmin': value,
- 'vw': value,
- '%': value
- };
-}
-
-function buildPrecisionFrom(source) {
- if (source === null || source === undefined) {
- return {};
- }
-
- if (typeof source == 'boolean') {
- return {};
- }
-
- if (typeof source == 'number' && source == -1) {
- return defaults(DEFAULT_PRECISION);
- }
-
- if (typeof source == 'number') {
- return defaults(source);
- }
-
- if (typeof source == 'string' && INTEGER_PATTERN.test(source)) {
- return defaults(parseInt(source));
- }
-
- if (typeof source == 'string' && source == DEFAULT_PRECISION) {
- return defaults(DEFAULT_PRECISION);
- }
-
- if (typeof source == 'object') {
- return source;
- }
-
- return source
- .split(DIRECTIVES_SEPARATOR)
- .reduce(function (accumulator, directive) {
- var directiveParts = directive.split(DIRECTIVE_VALUE_SEPARATOR);
- var name = directiveParts[0];
- var value = parseInt(directiveParts[1]);
-
- if (isNaN(value) || value == -1) {
- value = DEFAULT_PRECISION;
- }
-
- if (ALL_UNITS.indexOf(name) > -1) {
- accumulator = override(accumulator, defaults(value));
- } else {
- accumulator[name] = value;
- }
-
- return accumulator;
- }, {});
-}
-
-module.exports = {
- DEFAULT: DEFAULT_PRECISION,
- roundingPrecisionFrom: roundingPrecisionFrom
-};