23 lines
		
	
	
		
			748 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			748 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var plugin = {
 | 
						|
  level1: {
 | 
						|
    value: function precision(_name, value, options) {
 | 
						|
      if (!options.precision.enabled || value.indexOf('.') === -1) {
 | 
						|
        return value;
 | 
						|
      }
 | 
						|
 | 
						|
      return value
 | 
						|
        .replace(options.precision.decimalPointMatcher, '$1$2$3')
 | 
						|
        .replace(options.precision.zeroMatcher, function(match, integerPart, fractionPart, unit) {
 | 
						|
          var multiplier = options.precision.units[unit].multiplier;
 | 
						|
          var parsedInteger = parseInt(integerPart);
 | 
						|
          var integer = Number.isNaN(parsedInteger) ? 0 : parsedInteger;
 | 
						|
          var fraction = parseFloat(fractionPart);
 | 
						|
 | 
						|
          return Math.round((integer + fraction) * multiplier) / multiplier + unit;
 | 
						|
        });
 | 
						|
    }
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
module.exports = plugin;
 |