Number.js 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;