UNPKG

@limetech/lime-elements

Version:
80 lines (62 loc) 1.99 kB
'use strict'; const _commonjsHelpers = require('./_commonjsHelpers-a5111d61.js'); var numberAbbreviate = _commonjsHelpers.createCommonjsModule(function (module) { (function(root){ function NumberAbbreviate() { var units; if (!(this instanceof NumberAbbreviate)) { // function usage: abbrev(n, decPlaces, units) var n = arguments[0]; var decPlaces = arguments[1]; units = arguments[2]; var ab = new NumberAbbreviate(units); return ab.abbreviate(n, decPlaces) } // class usage: new NumberAbbreviate(units) units = arguments[0]; this.units = units == null ? ['k', 'm', 'b', 't'] : units; } NumberAbbreviate.prototype._abbreviate = function(number, decPlaces) { decPlaces = Math.pow(10, decPlaces); for (var i = this.units.length - 1; i >= 0; i--) { var size = Math.pow(10, (i + 1) * 3); if (size <= number) { number = Math.round(number * decPlaces / size) / decPlaces; if ((number === 1000) && (i < this.units.length - 1)) { number = 1; i++; } number += this.units[i]; break } } return number }; NumberAbbreviate.prototype.abbreviate = function(number, decPlaces) { var isNegative = number < 0; var abbreviatedNumber = this._abbreviate(Math.abs(number), decPlaces || 0); return isNegative ? '-' + abbreviatedNumber : abbreviatedNumber; }; if (module.exports) { module.exports = NumberAbbreviate; } else { root.NumberAbbreviate = NumberAbbreviate; } })(_commonjsHelpers.commonjsGlobal); }); /** * Abbreviate a number * * @param value - the number to abbreviate * @returns abbreviated number */ function abbreviate(value) { if (typeof value !== 'number') { return ''; } const units = ['k', 'M', 'B', 'T']; const numAbbr = new numberAbbreviate(units); return numAbbr.abbreviate(value, 1); } exports.abbreviate = abbreviate; //# sourceMappingURL=format-c8759d02.js.map