2fab2ca9f484cd7ad8492566b176c10db8c03eb06d6a8e01819240b3ded829262069087a0baa067bb8ca41f17a7292fd3be8fd09fe74d65c11ac1a5829a543 493 B

12345678910111213141516171819202122
  1. function packNumber(value) {
  2. // 100 -> '100'
  3. // 00100 -> '100'
  4. // +100 -> '100'
  5. // -100 -> '-100'
  6. // 0.123 -> '.123'
  7. // 0.12300 -> '.123'
  8. // 0.0 -> ''
  9. // 0 -> ''
  10. value = String(value).replace(/^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/, '$1$2$3');
  11. if (value.length === 0 || value === '-') {
  12. value = '0';
  13. }
  14. return value;
  15. };
  16. module.exports = function(node) {
  17. node.value = packNumber(node.value);
  18. };
  19. module.exports.pack = packNumber;