@swapkit/helpers 1.0.0-rc.2 → 1.0.0-rc.22

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.
@@ -6,62 +6,65 @@ describe('SwapKitNumber', () => {
6
6
  describe('constructors', () => {
7
7
  test('creates numbers correctly', () => {
8
8
  const skNumber1 = new SwapKitNumber(1);
9
- expect(skNumber1.value).toBe('1');
10
- expect(skNumber1.bigIntValue).toBe(100000000n);
9
+ expect(skNumber1.getValue('string')).toBe('1');
10
+ expect(skNumber1.getValue('number')).toBe(1);
11
+ expect(skNumber1.getBaseValue('bigint')).toBe(100000000n);
11
12
 
12
13
  const skNumber2 = new SwapKitNumber('1');
13
- expect(skNumber2.value).toBe('1');
14
- expect(skNumber2.bigIntValue).toBe(100000000n);
14
+ expect(skNumber2.getValue('string')).toBe('1');
15
+ expect(skNumber2.getBaseValue('bigint')).toBe(100000000n);
15
16
 
17
+ /**
18
+ * because by default we have 8 decimals - it will be rounded to 0 on base value
19
+ */
16
20
  const skNumber3 = new SwapKitNumber('0.0000000001');
17
- expect(skNumber3.value).toBe('0.0000000001');
18
- expect(skNumber3.bigIntValue).toBe(1n);
19
-
20
- const skNumber4 = new SwapKitNumber(0.000000001);
21
- expect(skNumber4.value).toBe('0.000000001');
22
- expect(skNumber4.bigIntValue).toBe(1n);
23
-
24
- const skNumber6 = new SwapKitNumber({ value: 0.1005, decimal: 3 });
25
- expect(skNumber6.value).toBe('0.101');
26
- expect(skNumber6.bigIntValue).toBe(10050000n);
27
-
28
- const skNumber7 = new SwapKitNumber({ value: -0.1005, decimal: 3 });
29
- expect(skNumber7.value).toBe('-0.101');
30
- expect(skNumber7.bigIntValue).toBe(-10050000n);
31
- expect(skNumber7.decimal).toBe(3);
32
- expect(skNumber7.unsafeNumber).toBe(0);
33
- expect(skNumber7.decimalMultiplier).toBe(100000000n);
34
- expect(skNumber7.toString()).toBe('-0.101');
21
+ expect(skNumber3.getValue('string')).toBe('0.0000000001');
22
+ expect(skNumber3.getBaseValue('bigint')).toBe(0n);
23
+
24
+ const skNumber4 = new SwapKitNumber({ value: '0.0000000001', decimal: 10 });
25
+ expect(skNumber4.getValue('string')).toBe('0.0000000001');
26
+ expect(skNumber4.getBaseValue('bigint')).toBe(1n);
27
+
28
+ const skNumber5 = new SwapKitNumber({ value: 0.1005, decimal: 3 });
29
+ expect(skNumber5.getValue('string')).toBe('0.101');
30
+ expect(skNumber5.getBaseValue('bigint')).toBe(100n);
31
+
32
+ const skNumber6 = new SwapKitNumber({ value: -0.1005, decimal: 3 });
33
+ expect(skNumber6.getValue('string')).toBe('-0.101');
34
+ expect(skNumber6.getBaseValue('bigint')).toBe(-100n);
35
+ expect(skNumber6.decimal).toBe(3);
36
+ expect(skNumber6.getValue('number')).toBe(-0.101);
37
+ expect(skNumber6.decimalMultiplier).toBe(100000000n);
35
38
  });
36
39
 
37
40
  test('creates SwapKitInstance from BigInt: (12.345678901234, decimals: 12)', () => {
38
41
  const skNumber = SwapKitNumber.fromBigInt(12345678901234n, 12);
39
42
 
40
- expect(skNumber.value).toBe('12.345678901234');
41
- expect(skNumber.bigIntValue).toBe(12345678901234n);
43
+ expect(skNumber.getValue('string')).toBe('12.345678901234');
44
+ expect(skNumber.getBaseValue('bigint')).toBe(12345678901234n);
42
45
  });
43
46
  });
44
47
 
45
48
  describe('shiftDecimals', () => {
46
49
  test('shifts up and bumps number', () => {
47
50
  const skNumber = new SwapKitNumber(1);
48
- expect(skNumber.value).toBe('1');
49
- expect(skNumber.bigIntValue).toBe(100000000n);
51
+ expect(skNumber.getValue('string')).toBe('1');
52
+ expect(skNumber.getBaseValue('bigint')).toBe(100000000n);
50
53
 
51
54
  const shiftedSkNumber = SwapKitNumber.shiftDecimals({
52
55
  value: skNumber,
53
- from: 6,
54
- to: 8,
56
+ from: 8,
57
+ to: 6,
55
58
  });
56
59
 
57
- expect(shiftedSkNumber.value).toBe('100');
58
- expect(shiftedSkNumber.bigIntValue).toBe(10000000000n);
60
+ expect(shiftedSkNumber.getValue('string')).toBe('1');
61
+ expect(shiftedSkNumber.getBaseValue('bigint')).toBe(1000000n);
59
62
  });
60
63
 
61
- test.skip('shifts down and rounds down number', () => {
64
+ test('shifts down and rounds down number', () => {
62
65
  const skNumber = new SwapKitNumber(2.12345678);
63
- expect(skNumber.value).toBe('2.12345678');
64
- expect(skNumber.bigIntValue).toBe(212345678n);
66
+ expect(skNumber.getValue('string')).toBe('2.12345678');
67
+ expect(skNumber.getBaseValue('bigint')).toBe(212345678n);
65
68
 
66
69
  const shiftedSkNumber = SwapKitNumber.shiftDecimals({
67
70
  value: skNumber,
@@ -69,8 +72,164 @@ describe('SwapKitNumber', () => {
69
72
  to: 6,
70
73
  });
71
74
 
72
- expect(shiftedSkNumber.value).toBe('2.123456');
73
- expect(shiftedSkNumber.bigIntValue).toBe(2123456n);
75
+ expect(shiftedSkNumber.getValue('string')).toBe('2.123456');
76
+ expect(shiftedSkNumber.getBaseValue('bigint')).toBe(2123456n);
77
+ });
78
+
79
+ test('shift eth from 18 to 8', () => {
80
+ const skNumber = new SwapKitNumber({ value: '0.2', decimal: 18 });
81
+
82
+ const shiftedSkNumber = SwapKitNumber.shiftDecimals({
83
+ value: skNumber,
84
+ from: 18,
85
+ to: 8,
86
+ });
87
+
88
+ expect(shiftedSkNumber.getValue('string')).toBe('0.2');
89
+ expect(shiftedSkNumber.getBaseValue('bigint')).toBe(20000000n);
90
+ });
91
+ });
92
+
93
+ describe('getValue', () => {
94
+ describe('string', () => {
95
+ test('returns string value', () => {
96
+ const skNumber = new SwapKitNumber(1);
97
+ expect(skNumber.getValue('string')).toBe('1');
98
+ });
99
+
100
+ test('returns string value with decimals', () => {
101
+ const skNumber = new SwapKitNumber(0.01);
102
+ expect(skNumber.getValue('string')).toBe('0.01');
103
+ });
104
+ });
105
+
106
+ describe('number', () => {
107
+ test('returns number value', () => {
108
+ const skNumber = new SwapKitNumber(1);
109
+ expect(skNumber.getValue('number')).toBe(1);
110
+ });
111
+
112
+ test('returns number value with decimals', () => {
113
+ const skNumber = new SwapKitNumber(0.01);
114
+ expect(skNumber.getValue('number')).toBe(0.01);
115
+ });
116
+ });
117
+
118
+ describe('bigint', () => {
119
+ test('returns bigint value', () => {
120
+ const skNumber = new SwapKitNumber(1);
121
+ expect(skNumber.getBaseValue('bigint')).toBe(100000000n);
122
+ });
123
+ });
124
+ });
125
+
126
+ describe('toSignificant', () => {
127
+ describe('normal cases', () => {
128
+ test('returns first significant number of digits', () => {
129
+ const usdLikeNumber = new SwapKitNumber(1234.5678);
130
+ expect(usdLikeNumber.toSignificant(2)).toBe('1200');
131
+ expect(usdLikeNumber.toSignificant(3)).toBe('1230');
132
+ expect(usdLikeNumber.toSignificant(4)).toBe('1234');
133
+ expect(usdLikeNumber.toSignificant(5)).toBe('1234.5');
134
+ expect(usdLikeNumber.toSignificant(6)).toBe('1234.56');
135
+ expect(usdLikeNumber.toSignificant(7)).toBe('1234.567');
136
+ expect(usdLikeNumber.toSignificant(8)).toBe('1234.5678');
137
+
138
+ const btcLikeNumber = new SwapKitNumber(0.00005678);
139
+ expect(btcLikeNumber.toSignificant(2)).toBe('0.000056');
140
+ expect(btcLikeNumber.toSignificant(3)).toBe('0.0000567');
141
+ expect(btcLikeNumber.toSignificant(4)).toBe('0.00005678');
142
+ expect(btcLikeNumber.toSignificant(5)).toBe('0.00005678');
143
+ expect(btcLikeNumber.toSignificant(8)).toBe('0.00005678');
144
+ });
145
+ });
146
+
147
+ describe('custom decimals', () => {
148
+ test('returns first significant number of digits', () => {
149
+ const usdLikeNumber = new SwapKitNumber({ value: 1234.5678, decimal: 2 });
150
+ expect(usdLikeNumber.toSignificant(2)).toBe('1200');
151
+ expect(usdLikeNumber.toSignificant(3)).toBe('1230');
152
+ expect(usdLikeNumber.toSignificant(4)).toBe('1234');
153
+ expect(usdLikeNumber.toSignificant(5)).toBe('1234.5');
154
+ expect(usdLikeNumber.toSignificant(6)).toBe('1234.57');
155
+ expect(usdLikeNumber.toSignificant(7)).toBe('1234.57');
156
+ expect(usdLikeNumber.toSignificant(8)).toBe('1234.57');
157
+
158
+ const ethLikeNumber = new SwapKitNumber({ value: 0.00005678, decimal: 18 });
159
+ expect(ethLikeNumber.toSignificant(2)).toBe('0.000056');
160
+ expect(ethLikeNumber.toSignificant(3)).toBe('0.0000567');
161
+ expect(ethLikeNumber.toSignificant(4)).toBe('0.00005678');
162
+ expect(ethLikeNumber.toSignificant(5)).toBe('0.00005678');
163
+ expect(ethLikeNumber.toSignificant(8)).toBe('0.00005678');
164
+ expect(ethLikeNumber.toSignificant(18)).toBe('0.00005678');
165
+ });
166
+ });
167
+ });
168
+
169
+ describe('toAbbreviation', () => {
170
+ test('returns abbreviation with up to 3 integer digits', () => {
171
+ const skNumber = new SwapKitNumber(1234.5678);
172
+ expect(skNumber.toAbbreviation()).toBe('1.23K');
173
+
174
+ const skNumber2 = new SwapKitNumber(1234567.5678);
175
+ expect(skNumber2.toAbbreviation()).toBe('1.23M');
176
+
177
+ const skNumber3 = new SwapKitNumber(1234567890.5678);
178
+ expect(skNumber3.toAbbreviation()).toBe('1.23B');
179
+
180
+ const skNumber4 = new SwapKitNumber(1234567890123.5678);
181
+ expect(skNumber4.toAbbreviation()).toBe('1.23T');
182
+
183
+ const skNumber5 = new SwapKitNumber(1234567890123456.5678);
184
+ expect(skNumber5.toAbbreviation()).toBe('1.23Q');
185
+
186
+ const skNumber6 = new SwapKitNumber(1234567890123456789.5678);
187
+ expect(skNumber6.toAbbreviation()).toBe('1.23Qi');
188
+
189
+ const skNumber7 = new SwapKitNumber(1234567890123456789012.5678);
190
+ expect(skNumber7.toAbbreviation()).toBe('1.23S');
191
+
192
+ const skNumber8 = new SwapKitNumber(1234.5678);
193
+ expect(skNumber8.toAbbreviation(0)).toBe('1K');
194
+
195
+ const skNumber9 = new SwapKitNumber(1234.5678);
196
+ expect(skNumber9.toAbbreviation(1)).toBe('1.2K');
197
+
198
+ const skNumber10 = new SwapKitNumber(123456.78);
199
+ expect(skNumber10.toAbbreviation()).toBe('123.46K');
200
+ });
201
+ });
202
+
203
+ describe('toCurrency', () => {
204
+ test('returns abbreviation with up to 3 integer digits', () => {
205
+ const skNumber = new SwapKitNumber(1234.5678);
206
+ expect(skNumber.toCurrency()).toBe('$1,234.56');
207
+ expect(
208
+ skNumber.toCurrency('€', {
209
+ decimalSeparator: ',',
210
+ thousandSeparator: ' ',
211
+ currencyPosition: 'end',
212
+ }),
213
+ ).toBe('1 234,56€');
214
+
215
+ const skNumber2 = new SwapKitNumber(0.5678);
216
+ expect(skNumber2.toCurrency()).toBe('$0.5678');
217
+ expect(
218
+ skNumber2.toCurrency('€', {
219
+ decimalSeparator: ',',
220
+ currencyPosition: 'end',
221
+ }),
222
+ ).toBe('0,5678€');
223
+
224
+ const skNumber3 = new SwapKitNumber(0.00005678);
225
+ expect(skNumber3.toCurrency()).toBe('$0.000057');
226
+ expect(
227
+ skNumber3.toCurrency('€', {
228
+ decimalSeparator: ',',
229
+ thousandSeparator: ' ',
230
+ currencyPosition: 'end',
231
+ }),
232
+ ).toBe('0,000057€');
74
233
  });
75
234
  });
76
235
 
@@ -81,23 +240,23 @@ describe('SwapKitNumber', () => {
81
240
  const skNumber3 = new SwapKitNumber('0.5');
82
241
  const result = skNumber1.add(skNumber2, skNumber3);
83
242
 
84
- expect(result.value).toBe('15.5');
85
- expect(result.bigIntValue).toBe(1550000000n);
243
+ expect(result.getValue('string')).toBe('15.5');
244
+ expect(result.getBaseValue('bigint')).toBe(1550000000n);
86
245
  });
87
246
 
88
247
  test('adds different type numbers correctly', () => {
89
248
  const skNumber1 = new SwapKitNumber(10);
90
249
  const result = skNumber1.add(6, '0.5');
91
250
 
92
- expect(result.value).toBe('16.5');
93
- expect(result.bigIntValue).toBe(1650000000n);
251
+ expect(result.getValue('string')).toBe('16.5');
252
+ expect(result.getBaseValue('bigint')).toBe(1650000000n);
94
253
  });
95
254
 
96
255
  test('adds large decimal numbers correctly', () => {
97
256
  const skNumber1 = new SwapKitNumber(0.0000000001);
98
257
  const result = skNumber1.add(6.000000000001, '0.0000000000000005');
99
- expect(result.value).toBe('6.0000000001010005');
100
- expect(result.bigIntValue).toBe(60000000001010005n);
258
+ expect(result.getValue('string')).toBe('6.0000000001010005');
259
+ expect(result.getBaseValue('bigint')).toBe(600000000n);
101
260
  });
102
261
  });
103
262
 
@@ -108,16 +267,16 @@ describe('SwapKitNumber', () => {
108
267
  const skNumber3 = new SwapKitNumber(0.5);
109
268
  const result = skNumber1.sub(skNumber2, skNumber3);
110
269
 
111
- expect(result.value).toBe('4.5');
112
- expect(result.bigIntValue).toBe(450000000n);
270
+ expect(result.getValue('string')).toBe('4.5');
271
+ expect(result.getBaseValue('bigint')).toBe(450000000n);
113
272
  });
114
273
 
115
274
  test('subtracts different type numbers correctly', () => {
116
275
  const skNumber1 = new SwapKitNumber(10);
117
276
  const result = skNumber1.sub(6, '0.5');
118
277
 
119
- expect(result.value).toBe('3.5');
120
- expect(result.bigIntValue).toBe(350000000n);
278
+ expect(result.getValue('string')).toBe('3.5');
279
+ expect(result.getBaseValue('bigint')).toBe(350000000n);
121
280
  });
122
281
 
123
282
  test('can process negative results', () => {
@@ -125,10 +284,10 @@ describe('SwapKitNumber', () => {
125
284
  const result0 = skNumber1.sub(10);
126
285
  const resultMinus = result0.sub('10');
127
286
 
128
- expect(result0.value).toBe('0');
129
- expect(resultMinus.value).toBe('-10');
130
- expect(result0.bigIntValue).toBe(0n);
131
- expect(resultMinus.bigIntValue).toBe(-1000000000n);
287
+ expect(result0.getValue('string')).toBe('0');
288
+ expect(resultMinus.getValue('string')).toBe('-10');
289
+ expect(result0.getBaseValue('bigint')).toBe(0n);
290
+ expect(resultMinus.getBaseValue('bigint')).toBe(-1000000000n);
132
291
  });
133
292
  });
134
293
 
@@ -139,36 +298,36 @@ describe('SwapKitNumber', () => {
139
298
  const skNumber3 = new SwapKitNumber(0.5);
140
299
  const result = skNumber1.mul(skNumber2, skNumber3);
141
300
 
142
- expect(result.value).toBe('25');
143
- expect(result.bigIntValue).toBe(2500000000n);
301
+ expect(result.getValue('string')).toBe('25');
302
+ expect(result.getBaseValue('bigint')).toBe(2500000000n);
144
303
  });
145
304
 
146
305
  test('multiplies different type numbers correctly', () => {
147
306
  const skNumber1 = new SwapKitNumber(10);
148
307
  const result = skNumber1.mul(6, '0.5');
149
308
 
150
- expect(result.value).toBe('30');
151
- expect(result.bigIntValue).toBe(3000000000n);
309
+ expect(result.getValue('string')).toBe('30');
310
+ expect(result.getBaseValue('bigint')).toBe(3000000000n);
152
311
  });
153
312
 
154
313
  test('multiplies numbers correctly if decimals of SKN is lower than number multiplied with', () => {
155
314
  const skNumber1 = new SwapKitNumber({ value: 1000000, decimal: 4 });
156
315
  const result = skNumber1.mul('0.00001');
157
316
 
158
- expect(result.value).toBe('10');
159
- expect(result.bigIntValue).toBe(1000000000n);
317
+ expect(result.getValue('string')).toBe('10');
318
+ expect(result.getBaseValue('bigint')).toBe(100000n);
160
319
  });
161
320
 
162
321
  test('should correctly round the result of multiplication', () => {
163
- const skNumber1 = new SwapKitNumber({ decimal: 2, value: 1.23 });
322
+ const skNumber1 = new SwapKitNumber({ decimal: 3, value: 1.23 });
164
323
  const skNumber2 = new SwapKitNumber({ decimal: 4, value: 4.56 });
165
324
 
166
325
  const result = skNumber1.mul(skNumber2);
167
326
 
168
327
  // The exact result of 1.23 * 4.56 is 5.6088
169
328
  // If we round it to 2 decimal places, we should get 5.61
170
- expect(result.value).toBe('5.61');
171
- expect(result.bigIntValue).toBe(560880000n);
329
+ expect(result.getValue('string')).toBe('5.609');
330
+ expect(result.getBaseValue('bigint')).toBe(5608n);
172
331
 
173
332
  const skNumber3 = new SwapKitNumber({ decimal: 2, value: 1.23 });
174
333
  const skNumber4 = new SwapKitNumber(-1.234567891);
@@ -177,8 +336,8 @@ describe('SwapKitNumber', () => {
177
336
 
178
337
  // The exact result of 1.23 * -1.234567891 is -1,518518505
179
338
  // If we round it to 2 decimal places, we should get 5.61
180
- expect(result2.value).toBe('-1.52');
181
- expect(result2.bigIntValue).toBe(-1518518505n);
339
+ expect(result2.getValue('string')).toBe('-1.52');
340
+ expect(result2.getBaseValue('bigint')).toBe(-151n);
182
341
  });
183
342
  });
184
343
 
@@ -189,38 +348,38 @@ describe('SwapKitNumber', () => {
189
348
  const skNumber3 = new SwapKitNumber(0.5);
190
349
  const result = skNumber1.div(skNumber2, skNumber3);
191
350
 
192
- expect(result.value).toBe('4');
193
- expect(result.bigIntValue).toBe(400000000n);
351
+ expect(result.getValue('string')).toBe('4');
352
+ expect(result.getBaseValue('bigint')).toBe(400000000n);
194
353
 
195
354
  const skNumber4 = new SwapKitNumber(10.12);
196
355
  const result2 = skNumber4.div(0.0001);
197
356
 
198
- expect(result2.value).toBe('101200');
199
- expect(result2.bigIntValue).toBe(10120000000000n);
357
+ expect(result2.getValue('string')).toBe('101200');
358
+ expect(result2.getBaseValue('bigint')).toBe(10120000000000n);
200
359
  });
201
360
 
202
361
  test('divides different type numbers correctly', () => {
203
362
  const skNumber1 = new SwapKitNumber(20);
204
363
  const result = skNumber1.div(5, '0.5');
205
364
 
206
- expect(result.value).toBe('8');
207
- expect(result.bigIntValue).toBe(800000000n);
365
+ expect(result.getValue('string')).toBe('8');
366
+ expect(result.getBaseValue('bigint')).toBe(800000000n);
208
367
  });
209
368
 
210
369
  test('divides different type numbers correctly when decimal is set', () => {
211
370
  const skNumber1 = new SwapKitNumber({ value: '1.2', decimal: 2 });
212
371
  const result = skNumber1.div(0.001);
213
372
 
214
- expect(result.value).toBe('1200');
215
- expect(result.bigIntValue).toBe(120000000000n);
373
+ expect(result.getValue('string')).toBe('1200');
374
+ expect(result.getBaseValue('bigint')).toBe(120000n);
216
375
  });
217
376
 
218
377
  test('divides smaller number by larger number', () => {
219
378
  const skNumber1 = new SwapKitNumber(1);
220
379
  const result = skNumber1.div(2);
221
380
 
222
- expect(result.value).toBe('0.5');
223
- expect(result.bigIntValue).toBe(50000000n);
381
+ expect(result.getValue('string')).toBe('0.5');
382
+ expect(result.getBaseValue('bigint')).toBe(50000000n);
224
383
  });
225
384
 
226
385
  test('divides a number with 18 decimals by a negative number with less decimals', () => {
@@ -230,8 +389,8 @@ describe('SwapKitNumber', () => {
230
389
  const result = skNumber1.div(skNumber2);
231
390
 
232
391
  // The exact result of 1.000000000000000010 / -2 is -0.500000000000000005
233
- expect(result.value).toBe('-0.500000000000000005');
234
- expect(result.bigIntValue).toBe(-500000000000000005n);
392
+ expect(result.getValue('string')).toBe('-0.500000000000000005');
393
+ expect(result.getBaseValue('bigint')).toBe(-500000000000000005n);
235
394
  });
236
395
 
237
396
  test('divides a number with 2 decimals by a negative number with more decimals', () => {
@@ -241,8 +400,8 @@ describe('SwapKitNumber', () => {
241
400
  const result = skNumber1.div(skNumber2);
242
401
 
243
402
  // The exact result of 2 / -0.000005 is -400000
244
- expect(result.value).toBe('-400000');
245
- expect(result.bigIntValue).toBe(-40000000000000n);
403
+ expect(result.getValue('string')).toBe('-400000');
404
+ expect(result.getBaseValue('bigint')).toBe(-40000000n);
246
405
  });
247
406
  });
248
407
 
@@ -252,8 +411,8 @@ describe('SwapKitNumber', () => {
252
411
  const skNumber2 = new SwapKitNumber({ value: 987_654_321_000, decimal: 18 });
253
412
 
254
413
  const result = skNumber1.mul(skNumber2);
255
- expect(result.value).toBe('987654321000000987654321000');
256
- expect(result.bigIntValue).toBe(987654321000000987654321000000000000000000000n);
414
+ expect(result.getValue('string')).toBe('987654321000000987654321000');
415
+ expect(result.getBaseValue('bigint')).toBe(987654321000000987654321000000000000000000000n);
257
416
  });
258
417
 
259
418
  test('divide huge numbers', () => {
@@ -261,8 +420,8 @@ describe('SwapKitNumber', () => {
261
420
  const skNumber2 = new SwapKitNumber({ value: 987_654_321_000, decimal: 18 });
262
421
 
263
422
  const result = skNumber1.div(skNumber2);
264
- expect(result.value).toBe('1012.4999999873447625');
265
- expect(result.bigIntValue).toBe(1012499999987344762500n);
423
+ expect(result.getValue('string')).toBe('1012.4999999873447625');
424
+ expect(result.getBaseValue('bigint')).toBe(1012499999987344762500n);
266
425
  });
267
426
  });
268
427