| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 | | var OMIT_PLUSSIGN = /^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/; |  | var KEEP_PLUSSIGN = /^([\+\-])?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/; |  | var unsafeToRemovePlusSignAfter = { |  |     Dimension: true, |  |     Hash: true, |  |     Identifier: true, |  |     Number: true, |  |     Raw: true, |  |     UnicodeRange: true |  | }; |  |   |  | function packNumber(value, item) { |  |     // omit plus sign only if no prev or prev is safe type |  |     var regexp = item && item.prev !== null && unsafeToRemovePlusSignAfter.hasOwnProperty(item.prev.data.type) |  |         ? KEEP_PLUSSIGN |  |         : OMIT_PLUSSIGN; |  |   |  |     // 100 -> '100' |  |     // 00100 -> '100' |  |     // +100 -> '100' (only when safe, e.g. omitting plus sign for 1px+1px leads to single dimension instead of two) |  |     // -100 -> '-100' |  |     // 0.123 -> '.123' |  |     // 0.12300 -> '.123' |  |     // 0.0 -> '' |  |     // 0 -> '' |  |     // -0 -> '-' |  |     value = String(value).replace(regexp, '$1$2$3'); |  |   |  |     if (value === '' || value === '-') { |  |         value = '0'; |  |     } |  |   |  |     return value; |  | } |  |   |  | module.exports = function(node, item) { |  |     node.value = packNumber(node.value, item); |  | }; |  | module.exports.pack = packNumber; | 
 |