@mezo-org/passport 0.5.4-dev.19 → 0.5.4-dev.20

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.
@@ -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
- })