@agrozyme/numeric 1.0.19 → 1.0.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.
@@ -0,0 +1,392 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ import { hexlify, isBytesLike } from '@ethersproject/bytes';
3
+ import bigInt from 'big-integer';
4
+ import BN from 'bn.js';
5
+ import { isNode } from 'browser-or-node';
6
+ import { Decimal } from 'decimal.js';
7
+ import { toNumerics } from "./convert.mjs";
8
+ const inspect = Symbol.for('nodejs.util.inspect.custom');
9
+ // noinspection LocalVariableNamingConventionJS
10
+ export class Numeric extends Decimal {
11
+ // private readonly toStringTag: string = 'Decimal';
12
+ constructor(value) {
13
+ if (value instanceof Decimal) {
14
+ super(value);
15
+ }
16
+ else {
17
+ switch (typeof value) {
18
+ case 'string':
19
+ case 'number':
20
+ super(value);
21
+ break;
22
+ case 'bigint':
23
+ super(value.toString());
24
+ break;
25
+ default:
26
+ if (bigInt.isInstance(value) || BigNumber.isBigNumber(value) || BN.isBN(value)) {
27
+ super(value.toString());
28
+ }
29
+ else if (isBytesLike(value)) {
30
+ super(hexlify(value));
31
+ }
32
+ else {
33
+ super(value);
34
+ }
35
+ break;
36
+ }
37
+ }
38
+ }
39
+ get [Symbol.toStringTag]() {
40
+ return 'Numeric';
41
+ }
42
+ static abs(value) {
43
+ return new Numeric(value).abs();
44
+ }
45
+ static acos(value) {
46
+ return new Numeric(value).acos();
47
+ }
48
+ static acosh(value) {
49
+ return new Numeric(value).acosh();
50
+ }
51
+ static add(x, y) {
52
+ return new Numeric(x).add(y);
53
+ }
54
+ static asin(value) {
55
+ return new Numeric(value).asin();
56
+ }
57
+ static asinh(value) {
58
+ return new Numeric(value).asinh();
59
+ }
60
+ static atan(value) {
61
+ return new Numeric(value).atan();
62
+ }
63
+ static atan2(x, y) {
64
+ return new Numeric(Decimal.atan2(new Numeric(x), new Numeric(y)));
65
+ }
66
+ static atanh(value) {
67
+ return new Numeric(value).atanh();
68
+ }
69
+ static cbrt(value) {
70
+ return new Numeric(value).cbrt();
71
+ }
72
+ static ceil(value) {
73
+ return new Numeric(value).ceil();
74
+ }
75
+ static cos(value) {
76
+ return new Numeric(value).cos();
77
+ }
78
+ static cosh(value) {
79
+ return new Numeric(value).cosh();
80
+ }
81
+ static div(x, y) {
82
+ return new Numeric(x).div(y);
83
+ }
84
+ static exp(value) {
85
+ return new Numeric(value).exp();
86
+ }
87
+ static floor(value) {
88
+ return new Numeric(value).floor();
89
+ }
90
+ static hypot(...values) {
91
+ return new Numeric(Decimal.hypot(...toNumerics(values)));
92
+ }
93
+ static ln(value) {
94
+ return new Numeric(value).ln();
95
+ }
96
+ static log(value, base) {
97
+ return new Numeric(value).log(base);
98
+ }
99
+ static log10(value) {
100
+ return new Numeric(value).log(10);
101
+ }
102
+ static log2(value) {
103
+ return new Numeric(value).log(2);
104
+ }
105
+ static max(...values) {
106
+ return new Numeric(Decimal.max(...toNumerics(values)));
107
+ }
108
+ static min(...values) {
109
+ return new Numeric(Decimal.min(...toNumerics(values)));
110
+ }
111
+ static mod(x, y) {
112
+ return new Numeric(x).mod(y);
113
+ }
114
+ static mul(x, y) {
115
+ return new Numeric(x).mul(y);
116
+ }
117
+ static pow(base, exponent) {
118
+ return new Numeric(base).pow(exponent);
119
+ }
120
+ static random(significantDigits) {
121
+ return new Numeric(Decimal.random(significantDigits));
122
+ }
123
+ static round(value) {
124
+ return new Numeric(value).round();
125
+ }
126
+ static set(object) {
127
+ return Decimal.set(object);
128
+ }
129
+ static sign(value) {
130
+ return Decimal.sign(new Numeric(value));
131
+ }
132
+ static sin(value) {
133
+ return new Numeric(value).sin();
134
+ }
135
+ static sinh(value) {
136
+ return new Numeric(value).sinh();
137
+ }
138
+ static sqrt(value) {
139
+ return new Numeric(value).sqrt();
140
+ }
141
+ static sub(x, y) {
142
+ return new Numeric(x).sub(y);
143
+ }
144
+ static tan(value) {
145
+ return new Numeric(value).tan();
146
+ }
147
+ static tanh(value) {
148
+ return new Numeric(value).tanh();
149
+ }
150
+ static trunc(value) {
151
+ return new Numeric(value).trunc();
152
+ }
153
+ abs() {
154
+ return new Numeric(super.abs());
155
+ }
156
+ absoluteValue() {
157
+ return new Numeric(super.absoluteValue());
158
+ }
159
+ acos() {
160
+ return new Numeric(super.acos());
161
+ }
162
+ acosh() {
163
+ return new Numeric(super.acosh());
164
+ }
165
+ add(value) {
166
+ return new Numeric(super.add(new Numeric(value)));
167
+ }
168
+ asin() {
169
+ return new Numeric(super.asin());
170
+ }
171
+ asinh() {
172
+ return new Numeric(super.asinh());
173
+ }
174
+ atan() {
175
+ return new Numeric(super.atan());
176
+ }
177
+ atanh() {
178
+ return new Numeric(super.atanh());
179
+ }
180
+ cbrt() {
181
+ return new Numeric(super.cbrt());
182
+ }
183
+ ceil() {
184
+ return new Numeric(super.ceil());
185
+ }
186
+ cmp(value) {
187
+ return super.cmp(new Numeric(value));
188
+ }
189
+ comparedTo(value) {
190
+ return super.comparedTo(new Numeric(value));
191
+ }
192
+ cos() {
193
+ return new Numeric(super.cos());
194
+ }
195
+ cosh() {
196
+ return new Numeric(super.cosh());
197
+ }
198
+ cosine() {
199
+ return new Numeric(super.cosine());
200
+ }
201
+ cubeRoot() {
202
+ return new Numeric(super.cubeRoot());
203
+ }
204
+ div(value) {
205
+ return new Numeric(super.div(new Numeric(value)));
206
+ }
207
+ divToInt(value) {
208
+ return new Numeric(super.divToInt(new Numeric(value)));
209
+ }
210
+ dividedBy(value) {
211
+ return new Numeric(super.dividedBy(new Numeric(value)));
212
+ }
213
+ dividedToIntegerBy(value) {
214
+ return new Numeric(super.dividedToIntegerBy(new Numeric(value)));
215
+ }
216
+ eq(value) {
217
+ return super.eq(new Numeric(value));
218
+ }
219
+ equals(value) {
220
+ return super.equals(new Numeric(value));
221
+ }
222
+ exp() {
223
+ return new Numeric(super.exp());
224
+ }
225
+ floor() {
226
+ return new Numeric(super.floor());
227
+ }
228
+ greaterThan(value) {
229
+ return super.greaterThan(new Numeric(value));
230
+ }
231
+ greaterThanOrEqualTo(value) {
232
+ return super.greaterThanOrEqualTo(new Numeric(value));
233
+ }
234
+ gt(value) {
235
+ return super.gt(new Numeric(value));
236
+ }
237
+ gte(value) {
238
+ return super.gte(new Numeric(value));
239
+ }
240
+ hyperbolicCosine() {
241
+ return new Numeric(super.hyperbolicCosine());
242
+ }
243
+ hyperbolicSine() {
244
+ return new Numeric(super.hyperbolicSine());
245
+ }
246
+ hyperbolicTangent() {
247
+ return new Numeric(super.hyperbolicTangent());
248
+ }
249
+ inverseCosine() {
250
+ return new Numeric(super.inverseCosine());
251
+ }
252
+ inverseHyperbolicCosine() {
253
+ return new Numeric(super.inverseHyperbolicCosine());
254
+ }
255
+ inverseHyperbolicSine() {
256
+ return new Numeric(super.inverseHyperbolicSine());
257
+ }
258
+ inverseHyperbolicTangent() {
259
+ return new Numeric(super.inverseHyperbolicTangent());
260
+ }
261
+ inverseSine() {
262
+ return new Numeric(super.inverseSine());
263
+ }
264
+ inverseTangent() {
265
+ return new Numeric(super.inverseTangent());
266
+ }
267
+ lessThan(value) {
268
+ return super.lessThan(new Numeric(value));
269
+ }
270
+ lessThanOrEqualTo(value) {
271
+ return super.lessThanOrEqualTo(new Numeric(value));
272
+ }
273
+ ln() {
274
+ return new Numeric(super.ln());
275
+ }
276
+ log(value) {
277
+ return new Numeric(super.log(undefined === value ? undefined : new Numeric(value)));
278
+ }
279
+ logarithm(value) {
280
+ return new Numeric(super.logarithm(undefined === value ? undefined : new Numeric(value)));
281
+ }
282
+ lt(value) {
283
+ return super.lt(new Numeric(value));
284
+ }
285
+ lte(value) {
286
+ return super.lte(new Numeric(value));
287
+ }
288
+ minus(value) {
289
+ return new Numeric(super.minus(new Numeric(value)));
290
+ }
291
+ mod(value) {
292
+ return new Numeric(super.mod(new Numeric(value)));
293
+ }
294
+ modulo(value) {
295
+ return new Numeric(super.modulo(new Numeric(value)));
296
+ }
297
+ mul(value) {
298
+ return new Numeric(super.mul(new Numeric(value)));
299
+ }
300
+ naturalExponential() {
301
+ return new Numeric(super.naturalExponential());
302
+ }
303
+ naturalLogarithm() {
304
+ return new Numeric(super.naturalLogarithm());
305
+ }
306
+ neg() {
307
+ return new Numeric(super.neg());
308
+ }
309
+ negated() {
310
+ return new Numeric(super.negated());
311
+ }
312
+ plus(value) {
313
+ return new Numeric(super.plus(new Numeric(value)));
314
+ }
315
+ pow(value) {
316
+ return new Numeric(super.pow(new Numeric(value)));
317
+ }
318
+ round() {
319
+ return new Numeric(super.round());
320
+ }
321
+ sin() {
322
+ return new Numeric(super.sin());
323
+ }
324
+ sine() {
325
+ return new Numeric(super.sine());
326
+ }
327
+ sinh() {
328
+ return new Numeric(super.sinh());
329
+ }
330
+ sqrt() {
331
+ return new Numeric(super.sqrt());
332
+ }
333
+ squareRoot() {
334
+ return new Numeric(super.squareRoot());
335
+ }
336
+ sub(value) {
337
+ return new Numeric(super.sub(new Numeric(value)));
338
+ }
339
+ tan() {
340
+ return new Numeric(super.tan());
341
+ }
342
+ tangent() {
343
+ return new Numeric(super.tangent());
344
+ }
345
+ tanh() {
346
+ return new Numeric(super.tanh());
347
+ }
348
+ times(value) {
349
+ return new Numeric(super.times(new Numeric(value)));
350
+ }
351
+ toDP(decimalPlaces, rounding) {
352
+ return new Numeric(undefined !== rounding && undefined !== decimalPlaces
353
+ ? super.toDP(decimalPlaces, rounding)
354
+ : super.toDP(decimalPlaces));
355
+ }
356
+ toDecimalPlaces(decimalPlaces, rounding) {
357
+ return new Numeric(undefined !== rounding && undefined !== decimalPlaces
358
+ ? super.toDecimalPlaces(decimalPlaces, rounding)
359
+ : super.toDecimalPlaces(decimalPlaces));
360
+ }
361
+ toFraction(maxDenominator) {
362
+ return toNumerics(super.toFraction(undefined === maxDenominator ? undefined : new Numeric(maxDenominator)));
363
+ }
364
+ toNearest(value, rounding) {
365
+ return new Numeric(super.toNearest(new Numeric(value), rounding));
366
+ }
367
+ toPower(value) {
368
+ return new Numeric(super.toPower(new Numeric(value)));
369
+ }
370
+ toSD(decimalPlaces, rounding) {
371
+ return new Numeric(undefined !== rounding && undefined !== decimalPlaces
372
+ ? super.toSD(decimalPlaces, rounding)
373
+ : super.toSD(decimalPlaces));
374
+ }
375
+ toSignificantDigits(decimalPlaces, rounding) {
376
+ return new Numeric(undefined !== rounding && undefined !== decimalPlaces
377
+ ? super.toSignificantDigits(decimalPlaces, rounding)
378
+ : super.toSignificantDigits(decimalPlaces));
379
+ }
380
+ trunc() {
381
+ return new Numeric(super.trunc());
382
+ }
383
+ truncated() {
384
+ return new Numeric(super.truncated());
385
+ }
386
+ inspect(depth, options) {
387
+ const value = this.toFixed();
388
+ return isNode ? options.stylize(value, 'bigint') : value;
389
+ }
390
+ [inspect] = (depth, options) => this.inspect(depth, options);
391
+ }
392
+ //# sourceMappingURL=numeric.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numeric.mjs","sourceRoot":"","sources":["../src/numeric.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agrozyme/numeric",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.mjs",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "homepage": "https://gitlab.com/agrozyme-package/JavaScript/numeric#readme",
25
25
  "devDependencies": {
26
- "@types/bn.js": "^5",
27
26
  "@types/jasmine": "^4",
28
27
  "@types/node": "^16",
29
28
  "jasmine": "^4",
@@ -37,6 +36,7 @@
37
36
  "@ethersproject/bignumber": "^5",
38
37
  "@ethersproject/bytes": "^5",
39
38
  "@ethersproject/constants": "^5",
39
+ "@types/bn.js": "^5",
40
40
  "big-integer": "^1",
41
41
  "bn.js": "^5",
42
42
  "browser-or-node": "^2",
package/src/config.ts ADDED
@@ -0,0 +1,32 @@
1
+ import { Decimal } from 'decimal.js';
2
+ import { Numeric } from './numeric';
3
+
4
+ export const getNumericConfig = () => {
5
+ const { precision, rounding, minE, maxE, toExpNeg, toExpPos, crypto, modulo } = Numeric;
6
+ const data: Required<Decimal.Config> = {
7
+ precision,
8
+ rounding,
9
+ minE,
10
+ maxE,
11
+ toExpNeg,
12
+ toExpPos,
13
+ crypto,
14
+ modulo,
15
+ defaults: false,
16
+ };
17
+
18
+ return data;
19
+ };
20
+
21
+ export const setupNumericConfig = () => {
22
+ const config: Decimal.Config = {
23
+ precision: 256,
24
+ //rounding: Numeric.ROUND_FLOOR,
25
+ toExpNeg: Numeric.minE,
26
+ toExpPos: Numeric.maxE,
27
+ crypto: false,
28
+ };
29
+
30
+ Numeric.set({ defaults: true });
31
+ Numeric.set(config);
32
+ };
@@ -0,0 +1,11 @@
1
+ import * as constants from '@ethersproject/constants';
2
+ import { Numeric } from './numeric';
3
+
4
+ export const NegativeOne = new Numeric(-1);
5
+ export const Zero = new Numeric(0);
6
+ export const One = new Numeric(1);
7
+ export const Two = new Numeric(2);
8
+ export const WeiPerEther = new Numeric(constants.WeiPerEther);
9
+ export const MaxUint256 = new Numeric(constants.MaxUint256);
10
+ export const MaxInt256 = new Numeric(constants.MaxInt256);
11
+ export const MinInt256 = new Numeric(constants.MinInt256);
package/src/convert.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ import bigInt from 'big-integer';
3
+ import BN from 'bn.js';
4
+ import { Numeric, NumericValue } from './numeric';
5
+
6
+ export const toNumeric = (value: NumericValue) => new Numeric(value);
7
+ export const toNumerics = (values: NumericValue[]) => values.map(toNumeric);
8
+ export const toIntegerString = (value: NumericValue) => toNumeric(value).toFixed(0);
9
+ export const toBigInt = (value: NumericValue) => BigInt(toIntegerString(value));
10
+ export const toBN = (value: NumericValue) => new BN(toIntegerString(value));
11
+ export const toBigInteger = (value: NumericValue) => bigInt(toIntegerString(value));
12
+ export const toBigNumber = (value: NumericValue) => BigNumber.from(toIntegerString(value));
package/src/format.ts ADDED
@@ -0,0 +1,25 @@
1
+ import formatter from 'format-number';
2
+ import { Numeric, NumericValue } from './numeric';
3
+
4
+ export interface IFormatNumberOptions {
5
+ negativeType?: 'right' | 'left' | 'brackets' | 'none';
6
+ negativeLeftSymbol?: string;
7
+ negativeRightSymbol?: string;
8
+ negativeLeftOut?: boolean;
9
+ negativeRightOut?: boolean;
10
+ prefix?: string;
11
+ suffix?: string;
12
+ integerSeparator?: string;
13
+ decimalsSeparator?: string;
14
+ decimal?: string;
15
+ padLeft?: number;
16
+ padRight?: number;
17
+ round?: number;
18
+ truncate?: number;
19
+ }
20
+
21
+ export const formatValue = (value: NumericValue, options?: IFormatNumberOptions) => {
22
+ const format = formatter(options);
23
+ const text = new Numeric(value).toFixed();
24
+ return format(<any>text);
25
+ };
package/src/helper.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { Numeric, NumericValue } from './numeric';
2
+
3
+ export const createArrayCompareFunction = (ascending: boolean = true) =>
4
+ ascending
5
+ ? (left: NumericValue, right: NumericValue) => Numeric.sub(left, right).toNumber()
6
+ : (left: NumericValue, right: NumericValue) => Numeric.sub(right, left).toNumber();
package/src/index.ts ADDED
@@ -0,0 +1,13 @@
1
+ export { Numeric } from './numeric';
2
+ export type { NumericValue } from './numeric';
3
+
4
+ export { getNumericConfig, setupNumericConfig } from './config';
5
+
6
+ export { MaxInt256, MaxUint256, MinInt256, NegativeOne, One, Two, WeiPerEther, Zero } from './constants';
7
+
8
+ export { toBigInt, toBigInteger, toBigNumber, toBN, toIntegerString, toNumeric, toNumerics } from './convert';
9
+
10
+ export { formatValue } from './format';
11
+ export type { IFormatNumberOptions } from './format';
12
+
13
+ export { createArrayCompareFunction } from './helper';