@lakuna/umath 4.0.1 → 4.0.3
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utility/BigNumber.d.ts.map +1 -1
- package/dist/utility/BigNumber.js +7 -7
- package/dist/utility/BigNumber.js.map +1 -1
- package/package.json +3 -4
- package/src/index.ts +1 -1
- package/src/utility/BigNumber.ts +9 -7
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// TypeDoc-specific tag that gives a name to this module.
|
|
2
2
|
// eslint-disable-next-line tsdoc/syntax
|
|
3
|
-
/** @module
|
|
3
|
+
/** @module default */
|
|
4
4
|
// Algorithms
|
|
5
5
|
export { default as approx } from "./algorithms/approx.js";
|
|
6
6
|
export { default as approxRelative } from "./algorithms/approxRelative.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,wCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,wCAAwC;AACxC,sBAAsB;AAEtB,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEjE,iBAAiB;AACjB,OAAO,EACN,OAAO,IAAI,cAAc,EAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACN,OAAO,IAAI,UAAU,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAG3E,UAAU;AACV,OAAO,EAEN,OAAO,IAAI,SAAS,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigNumber.d.ts","sourceRoot":"","sources":["../../src/utility/BigNumber.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,qCAAqC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAExB,oCAAoC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;gBAEF,QAAQ,GAAE,QAAQ,CAAC,aAAa,CAAK,EACrC,OAAO,GAAE,QAAQ,CAAC,aAAa,CAAK;
|
|
1
|
+
{"version":3,"file":"BigNumber.d.ts","sourceRoot":"","sources":["../../src/utility/BigNumber.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,qCAAqC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAExB,oCAAoC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;gBAEF,QAAQ,GAAE,QAAQ,CAAC,aAAa,CAAK,EACrC,OAAO,GAAE,QAAQ,CAAC,aAAa,CAAK;IAkCrC;;;;OAIG;IACI,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAY5C;;;;OAIG;IACI,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAY/C;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAYjD;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAYjD;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAOzB;;;OAGG;IACI,QAAQ,IAAI,MAAM;CAsBzB"}
|
|
@@ -17,14 +17,14 @@ export default class BigNumber {
|
|
|
17
17
|
if (divisor === 0) {
|
|
18
18
|
throw new Error("Cannot divide by zero.");
|
|
19
19
|
}
|
|
20
|
-
if (BigNumber.
|
|
20
|
+
if (BigNumber.test(dividend)) {
|
|
21
21
|
this.dividend = dividend.dividend;
|
|
22
22
|
this.divisor = dividend.divisor;
|
|
23
23
|
this.divide(divisor);
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
this.dividend = BigInt(dividend);
|
|
27
|
-
if (BigNumber.
|
|
27
|
+
if (BigNumber.test(divisor)) {
|
|
28
28
|
this.divisor = 1n;
|
|
29
29
|
this.divide(divisor);
|
|
30
30
|
return;
|
|
@@ -36,7 +36,7 @@ export default class BigNumber {
|
|
|
36
36
|
* Utility function for narrowing `Readonly<BigNumberLike>` to `Readonly<BigNumber>` or `BigIntLike`, since `Readonly` breaks the type narrowing for TypeScript.
|
|
37
37
|
* @internal
|
|
38
38
|
*/
|
|
39
|
-
static
|
|
39
|
+
static test(value) {
|
|
40
40
|
return value instanceof BigNumber;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
@@ -45,7 +45,7 @@ export default class BigNumber {
|
|
|
45
45
|
* @returns This number.
|
|
46
46
|
*/
|
|
47
47
|
add(n) {
|
|
48
|
-
if (BigNumber.
|
|
48
|
+
if (BigNumber.test(n)) {
|
|
49
49
|
this.dividend = this.dividend * n.divisor + n.dividend * this.divisor;
|
|
50
50
|
this.divisor *= n.divisor;
|
|
51
51
|
}
|
|
@@ -61,7 +61,7 @@ export default class BigNumber {
|
|
|
61
61
|
* @returns This number.
|
|
62
62
|
*/
|
|
63
63
|
divide(n) {
|
|
64
|
-
if (BigNumber.
|
|
64
|
+
if (BigNumber.test(n)) {
|
|
65
65
|
this.dividend *= n.divisor;
|
|
66
66
|
this.divisor *= n.dividend;
|
|
67
67
|
}
|
|
@@ -77,7 +77,7 @@ export default class BigNumber {
|
|
|
77
77
|
* @returns This number.
|
|
78
78
|
*/
|
|
79
79
|
multiply(n) {
|
|
80
|
-
if (BigNumber.
|
|
80
|
+
if (BigNumber.test(n)) {
|
|
81
81
|
this.dividend *= n.dividend;
|
|
82
82
|
this.divisor *= n.divisor;
|
|
83
83
|
}
|
|
@@ -93,7 +93,7 @@ export default class BigNumber {
|
|
|
93
93
|
* @returns This number.
|
|
94
94
|
*/
|
|
95
95
|
subtract(n) {
|
|
96
|
-
if (BigNumber.
|
|
96
|
+
if (BigNumber.test(n)) {
|
|
97
97
|
this.dividend = this.dividend * n.divisor - n.dividend * this.divisor;
|
|
98
98
|
this.divisor *= n.divisor;
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigNumber.js","sourceRoot":"","sources":["../../src/utility/BigNumber.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,wCAAwC,CAAC;AAc3E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,qCAAqC;IAC9B,QAAQ,CAAS;IAExB,oCAAoC;IAC7B,OAAO,CAAS;IAEvB;;;;OAIG;IACH,YACC,WAAoC,CAAC,EACrC,UAAmC,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"BigNumber.js","sourceRoot":"","sources":["../../src/utility/BigNumber.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"@eslint/js": "^10.0.1",
|
|
14
14
|
"@types/eslint": "^9.6.1",
|
|
15
15
|
"@types/eslint-config-prettier": "^6.11.3",
|
|
16
|
-
"@types/node": "^25.5.0",
|
|
17
16
|
"eslint": "^10.1.0",
|
|
18
17
|
"eslint-config-prettier": "^10.1.8",
|
|
19
18
|
"eslint-plugin-perfectionist": "^5.7.0",
|
|
@@ -21,8 +20,8 @@
|
|
|
21
20
|
"eslint-plugin-tsdoc": "^0.5.2",
|
|
22
21
|
"prettier": "^3.8.1",
|
|
23
22
|
"typedoc": "^0.28.18",
|
|
24
|
-
"typescript": "^
|
|
25
|
-
"typescript-eslint": "^8.
|
|
23
|
+
"typescript": "^6.0.2",
|
|
24
|
+
"typescript-eslint": "^8.58.0"
|
|
26
25
|
},
|
|
27
26
|
"exports": {
|
|
28
27
|
".": "./dist/index.js",
|
|
@@ -63,5 +62,5 @@
|
|
|
63
62
|
"sideEffects": false,
|
|
64
63
|
"type": "module",
|
|
65
64
|
"typings": "./dist/index.d.ts",
|
|
66
|
-
"version": "4.0.
|
|
65
|
+
"version": "4.0.3"
|
|
67
66
|
}
|
package/src/index.ts
CHANGED
package/src/utility/BigNumber.ts
CHANGED
|
@@ -36,7 +36,7 @@ export default class BigNumber {
|
|
|
36
36
|
throw new Error("Cannot divide by zero.");
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
if (BigNumber.
|
|
39
|
+
if (BigNumber.test(dividend)) {
|
|
40
40
|
this.dividend = dividend.dividend;
|
|
41
41
|
this.divisor = dividend.divisor;
|
|
42
42
|
this.divide(divisor);
|
|
@@ -44,7 +44,7 @@ export default class BigNumber {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
this.dividend = BigInt(dividend);
|
|
47
|
-
if (BigNumber.
|
|
47
|
+
if (BigNumber.test(divisor)) {
|
|
48
48
|
this.divisor = 1n;
|
|
49
49
|
this.divide(divisor);
|
|
50
50
|
return;
|
|
@@ -58,7 +58,9 @@ export default class BigNumber {
|
|
|
58
58
|
* Utility function for narrowing `Readonly<BigNumberLike>` to `Readonly<BigNumber>` or `BigIntLike`, since `Readonly` breaks the type narrowing for TypeScript.
|
|
59
59
|
* @internal
|
|
60
60
|
*/
|
|
61
|
-
private static
|
|
61
|
+
private static test(
|
|
62
|
+
value: unknown
|
|
63
|
+
): value is BigNumber | Readonly<BigNumber> {
|
|
62
64
|
return value instanceof BigNumber;
|
|
63
65
|
}
|
|
64
66
|
|
|
@@ -68,7 +70,7 @@ export default class BigNumber {
|
|
|
68
70
|
* @returns This number.
|
|
69
71
|
*/
|
|
70
72
|
public add(n: Readonly<BigNumberLike>): this {
|
|
71
|
-
if (BigNumber.
|
|
73
|
+
if (BigNumber.test(n)) {
|
|
72
74
|
this.dividend = this.dividend * n.divisor + n.dividend * this.divisor;
|
|
73
75
|
this.divisor *= n.divisor;
|
|
74
76
|
} else {
|
|
@@ -85,7 +87,7 @@ export default class BigNumber {
|
|
|
85
87
|
* @returns This number.
|
|
86
88
|
*/
|
|
87
89
|
public divide(n: Readonly<BigNumberLike>): this {
|
|
88
|
-
if (BigNumber.
|
|
90
|
+
if (BigNumber.test(n)) {
|
|
89
91
|
this.dividend *= n.divisor;
|
|
90
92
|
this.divisor *= n.dividend;
|
|
91
93
|
} else {
|
|
@@ -102,7 +104,7 @@ export default class BigNumber {
|
|
|
102
104
|
* @returns This number.
|
|
103
105
|
*/
|
|
104
106
|
public multiply(n: Readonly<BigNumberLike>): this {
|
|
105
|
-
if (BigNumber.
|
|
107
|
+
if (BigNumber.test(n)) {
|
|
106
108
|
this.dividend *= n.dividend;
|
|
107
109
|
this.divisor *= n.divisor;
|
|
108
110
|
} else {
|
|
@@ -119,7 +121,7 @@ export default class BigNumber {
|
|
|
119
121
|
* @returns This number.
|
|
120
122
|
*/
|
|
121
123
|
public subtract(n: Readonly<BigNumberLike>): this {
|
|
122
|
-
if (BigNumber.
|
|
124
|
+
if (BigNumber.test(n)) {
|
|
123
125
|
this.dividend = this.dividend * n.divisor - n.dividend * this.divisor;
|
|
124
126
|
this.divisor *= n.divisor;
|
|
125
127
|
} else {
|