1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | var slicedToArray = require('./slicedToArray-0711941d.js');
|
6 | require('./unsupportedIterableToArray-68db1d3b.js');
|
7 | var toConsumableArray = require('./toConsumableArray-d8a4a2c3.js');
|
8 | var math = require('./math-f4029164.js');
|
9 | var characters = require('./characters.js');
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | function formatIntegerRange() {
|
24 | var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
25 | var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
26 | var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 99;
|
27 | var maxSuffix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
28 | value = parseInt(value, 10);
|
29 |
|
30 | if (value <= min) {
|
31 | return "".concat(parseInt(min, 10));
|
32 | }
|
33 |
|
34 | if (value > max) {
|
35 | return "".concat(parseInt(max, 10)).concat(maxSuffix);
|
36 | }
|
37 |
|
38 | return String(value);
|
39 | }
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 | function formatNumber(number) {
|
51 | var numAsString = String(number);
|
52 |
|
53 | var _numAsString$split = numAsString.split('.'),
|
54 | _numAsString$split2 = slicedToArray._slicedToArray(_numAsString$split, 2),
|
55 | integer = _numAsString$split2[0],
|
56 | decimals = _numAsString$split2[1];
|
57 |
|
58 | return toConsumableArray._toConsumableArray(integer).reverse().reduce(function (result, digit, index) {
|
59 | return digit + (index > 0 && index % 3 === 0 ? ',' : '') + result;
|
60 | }, decimals ? ".".concat(decimals) : '');
|
61 | }
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | function formatTokenAmount(amount, decimals) {
|
74 | var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
75 | _ref$digits = _ref.digits,
|
76 | digits = _ref$digits === void 0 ? 2 : _ref$digits,
|
77 | _ref$symbol = _ref.symbol,
|
78 | symbol = _ref$symbol === void 0 ? '' : _ref$symbol,
|
79 | _ref$displaySign = _ref.displaySign,
|
80 | displaySign = _ref$displaySign === void 0 ? false : _ref$displaySign;
|
81 |
|
82 | amount = math.JSBI.BigInt(String(amount));
|
83 | decimals = math.JSBI.BigInt(String(decimals));
|
84 | digits = math.JSBI.BigInt(String(digits));
|
85 |
|
86 | if (math.JSBI.lessThan(decimals, 0)) {
|
87 | throw new Error('formatTokenAmount(): decimals cannot be negative');
|
88 | }
|
89 |
|
90 | if (math.JSBI.lessThan(digits, 0)) {
|
91 | throw new Error('formatTokenAmount(): digits cannot be negative');
|
92 | }
|
93 |
|
94 | var _0 = math.JSBI.BigInt(0);
|
95 |
|
96 | var _10 = math.JSBI.BigInt(10);
|
97 |
|
98 | var negative = math.JSBI.lessThan(amount, _0);
|
99 |
|
100 | if (negative) {
|
101 | amount = math.JSBI.unaryMinus(amount);
|
102 | }
|
103 |
|
104 | var amountConverted = math.JSBI.BigInt(math.divideRoundBigInt(amount, math.JSBI.exponentiate(_10, math.JSBI.subtract(decimals, digits))));
|
105 | var leftPart = formatNumber(math.JSBI.divide(amountConverted, math.JSBI.exponentiate(_10, digits)));
|
106 | var rightPart = String(math.JSBI.remainder(amountConverted, math.JSBI.exponentiate(_10, digits))).padStart(digits, '0').replace(/0+$/, '');
|
107 | return [displaySign ? negative ? '-' : '+' : '', leftPart, rightPart ? ".".concat(rightPart) : '', symbol ? "".concat(characters.NO_BREAK_SPACE).concat(symbol) : ''].join('');
|
108 | }
|
109 |
|
110 | exports.formatIntegerRange = formatIntegerRange;
|
111 | exports.formatNumber = formatNumber;
|
112 | exports.formatTokenAmount = formatTokenAmount;
|
113 |
|