aboutsummaryrefslogtreecommitdiff
path: root/node_modules/csso/lib/compressor/compress/Number.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/csso/lib/compressor/compress/Number.js')
-rw-r--r--node_modules/csso/lib/compressor/compress/Number.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/csso/lib/compressor/compress/Number.js b/node_modules/csso/lib/compressor/compress/Number.js
new file mode 100644
index 00000000..8e17e118
--- /dev/null
+++ b/node_modules/csso/lib/compressor/compress/Number.js
@@ -0,0 +1,22 @@
+function packNumber(value) {
+ // 100 -> '100'
+ // 00100 -> '100'
+ // +100 -> '100'
+ // -100 -> '-100'
+ // 0.123 -> '.123'
+ // 0.12300 -> '.123'
+ // 0.0 -> ''
+ // 0 -> ''
+ value = String(value).replace(/^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/, '$1$2$3');
+
+ if (value.length === 0 || value === '-') {
+ value = '0';
+ }
+
+ return value;
+};
+
+module.exports = function(node) {
+ node.value = packNumber(node.value);
+};
+module.exports.pack = packNumber;