@mezo-org/passport 0.5.4-dev.2 → 0.5.4-dev.21

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.
Files changed (54) hide show
  1. package/dist/src/api/portal.d.ts +1 -1
  2. package/dist/src/api/portal.d.ts.map +1 -1
  3. package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -1
  4. package/dist/src/components/Dropdown/Root/AccountBalance.js +1 -0
  5. package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -1
  6. package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts.map +1 -1
  7. package/dist/src/components/Dropdown/Root/AccountBtcListing.js +4 -3
  8. package/dist/src/components/Dropdown/Root/AccountBtcListing.js.map +1 -1
  9. package/dist/src/components/Dropdown/Root/AccountMusdListing.js +3 -3
  10. package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -1
  11. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +3 -3
  12. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -1
  13. package/dist/src/hooks/index.d.ts +1 -1
  14. package/dist/src/hooks/index.d.ts.map +1 -1
  15. package/dist/src/hooks/index.js +1 -1
  16. package/dist/src/hooks/index.js.map +1 -1
  17. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -1
  18. package/dist/src/hooks/useAssetsConversionRates.js +15 -3
  19. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -1
  20. package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
  21. package/dist/src/hooks/useBorrowData.js +5 -6
  22. package/dist/src/hooks/useBorrowData.js.map +1 -1
  23. package/dist/src/hooks/useCollateralPrice.d.ts.map +1 -1
  24. package/dist/src/hooks/useCollateralPrice.js +3 -1
  25. package/dist/src/hooks/useCollateralPrice.js.map +1 -1
  26. package/dist/src/hooks/useTokensBalances.d.ts.map +1 -1
  27. package/dist/src/hooks/useTokensBalances.js +10 -13
  28. package/dist/src/hooks/useTokensBalances.js.map +1 -1
  29. package/dist/src/provider.d.ts +14 -3
  30. package/dist/src/provider.d.ts.map +1 -1
  31. package/dist/src/provider.js +3 -1
  32. package/dist/src/provider.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/api/portal.ts +1 -1
  35. package/src/components/Dropdown/Root/AccountBalance.tsx +1 -0
  36. package/src/components/Dropdown/Root/AccountBtcListing.tsx +5 -4
  37. package/src/components/Dropdown/Root/AccountMusdListing.tsx +4 -4
  38. package/src/components/Dropdown/Root/AccountOtherAssets.tsx +4 -4
  39. package/src/hooks/index.ts +1 -0
  40. package/src/hooks/useAssetsConversionRates.ts +17 -3
  41. package/src/hooks/useBorrowData.ts +6 -7
  42. package/src/hooks/useCollateralPrice.ts +4 -1
  43. package/src/hooks/useTokensBalances.ts +13 -16
  44. package/src/provider.ts +19 -4
  45. package/dist/src/utils/number2.d.ts +0 -106
  46. package/dist/src/utils/number2.d.ts.map +0 -1
  47. package/dist/src/utils/number2.js +0 -289
  48. package/dist/src/utils/number2.js.map +0 -1
  49. package/dist/src/utils/number2.test.d.ts +0 -2
  50. package/dist/src/utils/number2.test.d.ts.map +0 -1
  51. package/dist/src/utils/number2.test.js +0 -223
  52. package/dist/src/utils/number2.test.js.map +0 -1
  53. package/src/utils/number2.test.ts +0 -309
  54. package/src/utils/number2.ts +0 -419
@@ -1 +0,0 @@
1
- {"version":3,"file":"number2.js","sourceRoot":"","sources":["../../../src/utils/number2.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=number2.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number2.test.d.ts","sourceRoot":"","sources":["../../../src/utils/number2.test.ts"],"names":[],"mappings":""}
@@ -1,223 +0,0 @@
1
- import { bigIntToFloat, bigIntToHumanReadableFormat, floatToBigInt, floatToHumanReadableFormat, multiplyBigIntWithDecimal, normalizeDecimalNumber, trimBeforeDecimals, trimDecimals, } from "./number2";
2
- describe("floatToBigInt", () => {
3
- it("should convert integer string to bigint with default decimals", () => {
4
- expect(floatToBigInt({ amount: "1" })).toBe(1000000000000000000n);
5
- });
6
- it("should convert float string to bigint with default decimals", () => {
7
- expect(floatToBigInt({ amount: "1.23" })).toBe(1230000000000000000n);
8
- });
9
- it("should convert float string to bigint with custom decimals", () => {
10
- expect(floatToBigInt({ amount: "1.23", decimals: 2 })).toBe(123n);
11
- expect(floatToBigInt({ amount: "1.2345", decimals: 2 })).toBe(123n);
12
- expect(floatToBigInt({ amount: "1.2345", decimals: 6 })).toBe(1234500n);
13
- });
14
- it("should handle numbers as input", () => {
15
- expect(floatToBigInt({ amount: 2.5 })).toBe(2500000000000000000n);
16
- });
17
- it("should handle zero", () => {
18
- expect(floatToBigInt({ amount: "0" })).toBe(0n);
19
- expect(floatToBigInt({ amount: 0 })).toBe(0n);
20
- });
21
- it("should handle negative numbers", () => {
22
- expect(floatToBigInt({ amount: "-1.5" })).toBe(-1500000000000000000n);
23
- });
24
- it("should handle numbers with thousands separator", () => {
25
- expect(floatToBigInt({ amount: "1,234.56" })).toBe(1234560000000000000000n);
26
- });
27
- it("should return 0n for invalid input", () => {
28
- expect(floatToBigInt({ amount: "abc" })).toBe(0n);
29
- expect(floatToBigInt({ amount: "1.2.3" })).toBe(0n);
30
- expect(floatToBigInt({ amount: "" })).toBe(0n);
31
- });
32
- });
33
- describe("bigIntToFloat", () => {
34
- it("should convert bigint to float string with default decimals", () => {
35
- expect(bigIntToFloat({ amount: 1000000000000000000n })).toBe("1");
36
- expect(bigIntToFloat({ amount: 1230000000000000000n })).toBe("1.23");
37
- });
38
- it("should convert bigint to float string with custom decimals", () => {
39
- expect(bigIntToFloat({ amount: 123n, decimals: 2 })).toBe("1.23");
40
- expect(bigIntToFloat({ amount: 1234500n, decimals: 6 })).toBe("1.2345");
41
- });
42
- it("should handle desiredDecimals less than decimals", () => {
43
- expect(bigIntToFloat({
44
- amount: 1234567890000000000n,
45
- decimals: 18,
46
- desiredDecimals: 2,
47
- })).toBe("1.23");
48
- expect(bigIntToFloat({
49
- amount: 1234567890000000000n,
50
- decimals: 18,
51
- desiredDecimals: 6,
52
- })).toBe("1.234568");
53
- });
54
- it("should handle zero", () => {
55
- expect(bigIntToFloat({ amount: 0n })).toBe("0");
56
- });
57
- it("should handle negative numbers", () => {
58
- expect(bigIntToFloat({ amount: -1500000000000000000n })).toBe("-1.5");
59
- });
60
- it("should handle rounding up", () => {
61
- expect(bigIntToFloat({
62
- amount: 1249999999999999999n,
63
- decimals: 18,
64
- desiredDecimals: 2,
65
- })).toBe("1.25");
66
- expect(bigIntToFloat({
67
- amount: 1234567890000000000n,
68
- decimals: 18,
69
- desiredDecimals: 4,
70
- })).toBe("1.2346");
71
- });
72
- it("should handle large numbers", () => {
73
- expect(bigIntToFloat({
74
- amount: 123456789012345678901234567890n,
75
- decimals: 18,
76
- desiredDecimals: 2,
77
- })).toBe("123456789012.35");
78
- });
79
- });
80
- describe("floatToHumanReadableFormat", () => {
81
- it("should format number with thousands separator and default decimals", () => {
82
- expect(floatToHumanReadableFormat({ amount: 1234567.891 })).toBe("1,234,567.89");
83
- expect(floatToHumanReadableFormat({ amount: "1234567.891" })).toBe("1,234,567.89");
84
- });
85
- it("should format with custom decimals", () => {
86
- expect(floatToHumanReadableFormat({ amount: 1234567.891, desiredDecimals: 3 })).toBe("1,234,567.891");
87
- expect(floatToHumanReadableFormat({ amount: 1234567.8, desiredDecimals: 0 })).toBe("1,234,568");
88
- });
89
- it("should format with minDecimals", () => {
90
- expect(floatToHumanReadableFormat({
91
- amount: 1234.5,
92
- desiredDecimals: 2,
93
- minDecimals: 1,
94
- })).toBe("1,234.5");
95
- expect(floatToHumanReadableFormat({
96
- amount: 1234.5,
97
- desiredDecimals: 2,
98
- minDecimals: 2,
99
- })).toBe("1,234.50");
100
- expect(floatToHumanReadableFormat({
101
- amount: 1234.5,
102
- desiredDecimals: 2,
103
- minDecimals: 4,
104
- })).toBe("1,234.5000");
105
- });
106
- it("should return '0' for invalid input", () => {
107
- expect(floatToHumanReadableFormat({ amount: "abc" })).toBe("0");
108
- });
109
- });
110
- describe("bigIntToHumanReadableFormat", () => {
111
- it("should format bigint to human readable string", () => {
112
- expect(bigIntToHumanReadableFormat({
113
- amount: 1234567890000000000n,
114
- decimals: 18,
115
- desiredDecimals: 2,
116
- })).toBe("1.23");
117
- expect(bigIntToHumanReadableFormat({
118
- amount: 1234567890000000000n,
119
- decimals: 18,
120
- desiredDecimals: 6,
121
- })).toBe("1.234568");
122
- });
123
- it("should handle negative values", () => {
124
- expect(bigIntToHumanReadableFormat({
125
- amount: -1234567890000000000n,
126
- decimals: 18,
127
- desiredDecimals: 2,
128
- })).toBe("-1.23");
129
- });
130
- it("should show <0.01 for very small nonzero values", () => {
131
- expect(bigIntToHumanReadableFormat({
132
- amount: 1n,
133
- decimals: 18,
134
- desiredDecimals: 2,
135
- })).toBe("<0.01");
136
- expect(bigIntToHumanReadableFormat({
137
- amount: -1n,
138
- decimals: 18,
139
- desiredDecimals: 2,
140
- })).toBe("<0.01");
141
- });
142
- it("should format with minDecimals", () => {
143
- expect(bigIntToHumanReadableFormat({
144
- amount: 1234000000000000000n,
145
- decimals: 18,
146
- desiredDecimals: 2,
147
- minDecimals: 3,
148
- })).toBe("1.234");
149
- expect(bigIntToHumanReadableFormat({
150
- amount: 1234000000000000000n,
151
- decimals: 18,
152
- desiredDecimals: 3,
153
- minDecimals: 2,
154
- })).toBe("1.234");
155
- expect(bigIntToHumanReadableFormat({
156
- amount: 1234000000000000000n,
157
- decimals: 18,
158
- desiredDecimals: 2,
159
- minDecimals: 4,
160
- })).toBe("1.2340");
161
- });
162
- });
163
- describe("multiplyBigIntWithDecimal", () => {
164
- it("should multiply bigint by integer", () => {
165
- expect(multiplyBigIntWithDecimal(10n, 2)).toBe(20n);
166
- });
167
- it("should multiply bigint by decimal", () => {
168
- expect(multiplyBigIntWithDecimal(100n, 0.5)).toBe(50n);
169
- expect(multiplyBigIntWithDecimal(100n, 1.25)).toBe(125n);
170
- });
171
- it("should handle scientific notation", () => {
172
- expect(multiplyBigIntWithDecimal(100n, 1e-2)).toBe(1n);
173
- });
174
- it("should handle zero", () => {
175
- expect(multiplyBigIntWithDecimal(0n, 1.5)).toBe(0n);
176
- });
177
- });
178
- describe("trimDecimals", () => {
179
- it("should trim decimals to specified precision", () => {
180
- expect(trimDecimals("1.23456", 2)).toBe("1.23");
181
- expect(trimDecimals("1.2", 4)).toBe("1.2");
182
- expect(trimDecimals("1", 2)).toBe("1");
183
- });
184
- });
185
- describe("trimBeforeDecimals", () => {
186
- it("should trim integer part to specified length", () => {
187
- expect(trimBeforeDecimals("12345.67", 3)).toBe("123.67");
188
- expect(trimBeforeDecimals("12.34", 5)).toBe("12.34");
189
- expect(trimBeforeDecimals("123456", 2)).toBe("12.");
190
- });
191
- });
192
- describe("normalizeDecimalNumber", () => {
193
- it("should remove invalid characters", () => {
194
- expect(normalizeDecimalNumber("12a3.4b5")).toBe("123.45");
195
- });
196
- it("should prevent multiple dots", () => {
197
- expect(normalizeDecimalNumber("1.2.3")).toBe("12.3");
198
- expect(normalizeDecimalNumber("1..1.2")).toBe("11.2");
199
- });
200
- it("should allow only digits and one dot", () => {
201
- expect(normalizeDecimalNumber("abc")).toBe("");
202
- expect(normalizeDecimalNumber("123")).toBe("123");
203
- });
204
- it("should handle leading and trailing spaces", () => {
205
- expect(normalizeDecimalNumber(" 1.23 ")).toBe("1.23");
206
- expect(normalizeDecimalNumber(" 1.2.3 ")).toBe("12.3");
207
- });
208
- it("should handle empty input", () => {
209
- expect(normalizeDecimalNumber("")).toBe("");
210
- expect(normalizeDecimalNumber(" ")).toBe("");
211
- });
212
- it("should handle numbers with thousands separator", () => {
213
- expect(normalizeDecimalNumber("1,234.56")).toBe("1234.56");
214
- expect(normalizeDecimalNumber("1,234,567.89")).toBe("1234567.89");
215
- });
216
- it("should handle scientific notation", () => {
217
- // This function does not support scientific notation as our input is expected
218
- // to accept only decimal numbers
219
- expect(normalizeDecimalNumber("1e3")).toBe("13");
220
- expect(normalizeDecimalNumber("1.23e2")).toBe("1.232");
221
- });
222
- });
223
- //# sourceMappingURL=number2.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number2.test.js","sourceRoot":"","sources":["../../../src/utils/number2.test.ts"],"names":[],"mappings":"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"}
@@ -1,309 +0,0 @@
1
- import {
2
- bigIntToFloat,
3
- bigIntToHumanReadableFormat,
4
- floatToBigInt,
5
- floatToHumanReadableFormat,
6
- multiplyBigIntWithDecimal,
7
- normalizeDecimalNumber,
8
- trimBeforeDecimals,
9
- trimDecimals,
10
- } from "./number2"
11
-
12
- describe("floatToBigInt", () => {
13
- it("should convert integer string to bigint with default decimals", () => {
14
- expect(floatToBigInt({ amount: "1" })).toBe(1_000_000_000_000_000_000n)
15
- })
16
-
17
- it("should convert float string to bigint with default decimals", () => {
18
- expect(floatToBigInt({ amount: "1.23" })).toBe(1_230_000_000_000_000_000n)
19
- })
20
-
21
- it("should convert float string to bigint with custom decimals", () => {
22
- expect(floatToBigInt({ amount: "1.23", decimals: 2 })).toBe(123n)
23
- expect(floatToBigInt({ amount: "1.2345", decimals: 2 })).toBe(123n)
24
- expect(floatToBigInt({ amount: "1.2345", decimals: 6 })).toBe(1234500n)
25
- })
26
-
27
- it("should handle numbers as input", () => {
28
- expect(floatToBigInt({ amount: 2.5 })).toBe(2_500_000_000_000_000_000n)
29
- })
30
-
31
- it("should handle zero", () => {
32
- expect(floatToBigInt({ amount: "0" })).toBe(0n)
33
- expect(floatToBigInt({ amount: 0 })).toBe(0n)
34
- })
35
-
36
- it("should handle negative numbers", () => {
37
- expect(floatToBigInt({ amount: "-1.5" })).toBe(-1_500_000_000_000_000_000n)
38
- })
39
-
40
- it("should handle numbers with thousands separator", () => {
41
- expect(floatToBigInt({ amount: "1,234.56" })).toBe(
42
- 1_234_560_000_000_000_000_000n,
43
- )
44
- })
45
-
46
- it("should return 0n for invalid input", () => {
47
- expect(floatToBigInt({ amount: "abc" })).toBe(0n)
48
- expect(floatToBigInt({ amount: "1.2.3" })).toBe(0n)
49
- expect(floatToBigInt({ amount: "" })).toBe(0n)
50
- })
51
- })
52
-
53
- describe("bigIntToFloat", () => {
54
- it("should convert bigint to float string with default decimals", () => {
55
- expect(bigIntToFloat({ amount: 1_000_000_000_000_000_000n })).toBe("1")
56
- expect(bigIntToFloat({ amount: 1_230_000_000_000_000_000n })).toBe("1.23")
57
- })
58
-
59
- it("should convert bigint to float string with custom decimals", () => {
60
- expect(bigIntToFloat({ amount: 123n, decimals: 2 })).toBe("1.23")
61
- expect(bigIntToFloat({ amount: 1234500n, decimals: 6 })).toBe("1.2345")
62
- })
63
-
64
- it("should handle desiredDecimals less than decimals", () => {
65
- expect(
66
- bigIntToFloat({
67
- amount: 1_234_567_890_000_000_000n,
68
- decimals: 18,
69
- desiredDecimals: 2,
70
- }),
71
- ).toBe("1.23")
72
- expect(
73
- bigIntToFloat({
74
- amount: 1_234_567_890_000_000_000n,
75
- decimals: 18,
76
- desiredDecimals: 6,
77
- }),
78
- ).toBe("1.234568")
79
- })
80
-
81
- it("should handle zero", () => {
82
- expect(bigIntToFloat({ amount: 0n })).toBe("0")
83
- })
84
-
85
- it("should handle negative numbers", () => {
86
- expect(bigIntToFloat({ amount: -1_500_000_000_000_000_000n })).toBe("-1.5")
87
- })
88
-
89
- it("should handle rounding up", () => {
90
- expect(
91
- bigIntToFloat({
92
- amount: 1_249_999_999_999_999_999n,
93
- decimals: 18,
94
- desiredDecimals: 2,
95
- }),
96
- ).toBe("1.25")
97
- expect(
98
- bigIntToFloat({
99
- amount: 1_234_567_890_000_000_000n,
100
- decimals: 18,
101
- desiredDecimals: 4,
102
- }),
103
- ).toBe("1.2346")
104
- })
105
-
106
- it("should handle large numbers", () => {
107
- expect(
108
- bigIntToFloat({
109
- amount: 123_456_789_012_345_678_901_234_567_890n,
110
- decimals: 18,
111
- desiredDecimals: 2,
112
- }),
113
- ).toBe("123456789012.35")
114
- })
115
- })
116
-
117
- describe("floatToHumanReadableFormat", () => {
118
- it("should format number with thousands separator and default decimals", () => {
119
- expect(floatToHumanReadableFormat({ amount: 1234567.891 })).toBe(
120
- "1,234,567.89",
121
- )
122
- expect(floatToHumanReadableFormat({ amount: "1234567.891" })).toBe(
123
- "1,234,567.89",
124
- )
125
- })
126
-
127
- it("should format with custom decimals", () => {
128
- expect(
129
- floatToHumanReadableFormat({ amount: 1234567.891, desiredDecimals: 3 }),
130
- ).toBe("1,234,567.891")
131
- expect(
132
- floatToHumanReadableFormat({ amount: 1234567.8, desiredDecimals: 0 }),
133
- ).toBe("1,234,568")
134
- })
135
-
136
- it("should format with minDecimals", () => {
137
- expect(
138
- floatToHumanReadableFormat({
139
- amount: 1234.5,
140
- desiredDecimals: 2,
141
- minDecimals: 1,
142
- }),
143
- ).toBe("1,234.5")
144
- expect(
145
- floatToHumanReadableFormat({
146
- amount: 1234.5,
147
- desiredDecimals: 2,
148
- minDecimals: 2,
149
- }),
150
- ).toBe("1,234.50")
151
- expect(
152
- floatToHumanReadableFormat({
153
- amount: 1234.5,
154
- desiredDecimals: 2,
155
- minDecimals: 4,
156
- }),
157
- ).toBe("1,234.5000")
158
- })
159
-
160
- it("should return '0' for invalid input", () => {
161
- expect(floatToHumanReadableFormat({ amount: "abc" })).toBe("0")
162
- })
163
- })
164
-
165
- describe("bigIntToHumanReadableFormat", () => {
166
- it("should format bigint to human readable string", () => {
167
- expect(
168
- bigIntToHumanReadableFormat({
169
- amount: 1_234_567_890_000_000_000n,
170
- decimals: 18,
171
- desiredDecimals: 2,
172
- }),
173
- ).toBe("1.23")
174
- expect(
175
- bigIntToHumanReadableFormat({
176
- amount: 1_234_567_890_000_000_000n,
177
- decimals: 18,
178
- desiredDecimals: 6,
179
- }),
180
- ).toBe("1.234568")
181
- })
182
-
183
- it("should handle negative values", () => {
184
- expect(
185
- bigIntToHumanReadableFormat({
186
- amount: -1_234_567_890_000_000_000n,
187
- decimals: 18,
188
- desiredDecimals: 2,
189
- }),
190
- ).toBe("-1.23")
191
- })
192
-
193
- it("should show <0.01 for very small nonzero values", () => {
194
- expect(
195
- bigIntToHumanReadableFormat({
196
- amount: 1n,
197
- decimals: 18,
198
- desiredDecimals: 2,
199
- }),
200
- ).toBe("<0.01")
201
- expect(
202
- bigIntToHumanReadableFormat({
203
- amount: -1n,
204
- decimals: 18,
205
- desiredDecimals: 2,
206
- }),
207
- ).toBe("<0.01")
208
- })
209
-
210
- it("should format with minDecimals", () => {
211
- expect(
212
- bigIntToHumanReadableFormat({
213
- amount: 1_234_000_000_000_000_000n,
214
- decimals: 18,
215
- desiredDecimals: 2,
216
- minDecimals: 3,
217
- }),
218
- ).toBe("1.234")
219
- expect(
220
- bigIntToHumanReadableFormat({
221
- amount: 1_234_000_000_000_000_000n,
222
- decimals: 18,
223
- desiredDecimals: 3,
224
- minDecimals: 2,
225
- }),
226
- ).toBe("1.234")
227
- expect(
228
- bigIntToHumanReadableFormat({
229
- amount: 1_234_000_000_000_000_000n,
230
- decimals: 18,
231
- desiredDecimals: 2,
232
- minDecimals: 4,
233
- }),
234
- ).toBe("1.2340")
235
- })
236
- })
237
-
238
- describe("multiplyBigIntWithDecimal", () => {
239
- it("should multiply bigint by integer", () => {
240
- expect(multiplyBigIntWithDecimal(10n, 2)).toBe(20n)
241
- })
242
-
243
- it("should multiply bigint by decimal", () => {
244
- expect(multiplyBigIntWithDecimal(100n, 0.5)).toBe(50n)
245
- expect(multiplyBigIntWithDecimal(100n, 1.25)).toBe(125n)
246
- })
247
-
248
- it("should handle scientific notation", () => {
249
- expect(multiplyBigIntWithDecimal(100n, 1e-2)).toBe(1n)
250
- })
251
-
252
- it("should handle zero", () => {
253
- expect(multiplyBigIntWithDecimal(0n, 1.5)).toBe(0n)
254
- })
255
- })
256
-
257
- describe("trimDecimals", () => {
258
- it("should trim decimals to specified precision", () => {
259
- expect(trimDecimals("1.23456", 2)).toBe("1.23")
260
- expect(trimDecimals("1.2", 4)).toBe("1.2")
261
- expect(trimDecimals("1", 2)).toBe("1")
262
- })
263
- })
264
-
265
- describe("trimBeforeDecimals", () => {
266
- it("should trim integer part to specified length", () => {
267
- expect(trimBeforeDecimals("12345.67", 3)).toBe("123.67")
268
- expect(trimBeforeDecimals("12.34", 5)).toBe("12.34")
269
- expect(trimBeforeDecimals("123456", 2)).toBe("12.")
270
- })
271
- })
272
-
273
- describe("normalizeDecimalNumber", () => {
274
- it("should remove invalid characters", () => {
275
- expect(normalizeDecimalNumber("12a3.4b5")).toBe("123.45")
276
- })
277
-
278
- it("should prevent multiple dots", () => {
279
- expect(normalizeDecimalNumber("1.2.3")).toBe("12.3")
280
- expect(normalizeDecimalNumber("1..1.2")).toBe("11.2")
281
- })
282
-
283
- it("should allow only digits and one dot", () => {
284
- expect(normalizeDecimalNumber("abc")).toBe("")
285
- expect(normalizeDecimalNumber("123")).toBe("123")
286
- })
287
-
288
- it("should handle leading and trailing spaces", () => {
289
- expect(normalizeDecimalNumber(" 1.23 ")).toBe("1.23")
290
- expect(normalizeDecimalNumber(" 1.2.3 ")).toBe("12.3")
291
- })
292
-
293
- it("should handle empty input", () => {
294
- expect(normalizeDecimalNumber("")).toBe("")
295
- expect(normalizeDecimalNumber(" ")).toBe("")
296
- })
297
-
298
- it("should handle numbers with thousands separator", () => {
299
- expect(normalizeDecimalNumber("1,234.56")).toBe("1234.56")
300
- expect(normalizeDecimalNumber("1,234,567.89")).toBe("1234567.89")
301
- })
302
-
303
- it("should handle scientific notation", () => {
304
- // This function does not support scientific notation as our input is expected
305
- // to accept only decimal numbers
306
- expect(normalizeDecimalNumber("1e3")).toBe("13")
307
- expect(normalizeDecimalNumber("1.23e2")).toBe("1.232")
308
- })
309
- })