socket-function 0.153.0 → 0.155.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "socket-function",
3
- "version": "0.153.0",
3
+ "version": "0.155.0",
4
4
  "main": "index.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -11,7 +11,7 @@
11
11
  "pako": "^2.1.0",
12
12
  "preact": "10.24.0",
13
13
  "typedev": "^0.4.0",
14
- "typenode": "^5.12.0",
14
+ "typenode": "^5.13.0",
15
15
  "ws": "^8.17.1"
16
16
  },
17
17
  "scripts": {
@@ -132,6 +132,8 @@ export function formatNumber(count: number | undefined, maxAbsoluteValue?: numbe
132
132
 
133
133
  maxAbsoluteValue = maxAbsoluteValue ?? Math.abs(count);
134
134
 
135
+ let maxDecimals = 3;
136
+
135
137
  // NOTE: We don't switch units as soon as we possible can, because...
136
138
  // 3.594 vs 3.584 is harder to quickly distinguish compared to 3594 and 3584,
137
139
  // the decimal simply makes it harder to read, and larger.
@@ -144,7 +146,23 @@ export function formatNumber(count: number | undefined, maxAbsoluteValue?: numbe
144
146
  let divisor = 1;
145
147
  let suffix = "";
146
148
  let currencyDecimalsNeeded = false;
147
- if (maxAbsoluteValue < 1000 * extraFactor) {
149
+ if (maxAbsoluteValue < 0.00000001) {
150
+ maxDecimals = 12;
151
+ } else if (maxAbsoluteValue < 0.0000001) {
152
+ maxDecimals = 11;
153
+ } else if (maxAbsoluteValue < 0.000001) {
154
+ maxDecimals = 10;
155
+ } else if (maxAbsoluteValue < 0.00001) {
156
+ maxDecimals = 9;
157
+ } else if (maxAbsoluteValue < 0.0001) {
158
+ maxDecimals = 8;
159
+ } else if (maxAbsoluteValue < 0.001) {
160
+ maxDecimals = 7;
161
+ } else if (maxAbsoluteValue < 0.01) {
162
+ maxDecimals = 6;
163
+ } else if (maxAbsoluteValue < 0.1) {
164
+ maxDecimals = 5;
165
+ } else if (maxAbsoluteValue < 1000 * extraFactor) {
148
166
  if (specialCurrency) {
149
167
  currencyDecimalsNeeded = true;
150
168
  }
@@ -166,8 +184,9 @@ export function formatNumber(count: number | undefined, maxAbsoluteValue?: numbe
166
184
  }
167
185
  count /= divisor;
168
186
  maxAbsoluteValue /= divisor;
169
-
170
- let maxDecimals = noDecimal ? 0 : 3;
187
+ if (noDecimal) {
188
+ maxDecimals = 0;
189
+ }
171
190
 
172
191
  return formatMaxDecimals(count, maxDecimals, maxAbsoluteValue, currencyDecimalsNeeded ? 2 : undefined) + suffix;
173
192
  }