@keplr-wallet/unit 0.9.10-rc.0 → 0.9.11-rc.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/build/coin-pretty.d.ts +13 -3
- package/build/coin-pretty.js +36 -25
- package/build/coin-pretty.js.map +1 -1
- package/build/coin-pretty.spec.js +194 -9
- package/build/coin-pretty.spec.js.map +1 -1
- package/build/coin-utils.js +8 -4
- package/build/coin-utils.js.map +1 -1
- package/build/coin-utils.spec.js +16 -0
- package/build/coin-utils.spec.js.map +1 -1
- package/build/coin.js +1 -1
- package/build/coin.js.map +1 -1
- package/build/coin.spec.js +15 -0
- package/build/coin.spec.js.map +1 -1
- package/build/dec-utils.d.ts +8 -1
- package/build/dec-utils.js +22 -20
- package/build/dec-utils.js.map +1 -1
- package/build/dec-utils.spec.js +19 -0
- package/build/dec-utils.spec.js.map +1 -1
- package/build/decimal.d.ts +22 -9
- package/build/decimal.js +102 -29
- package/build/decimal.js.map +1 -1
- package/build/decimal.spec.js +296 -3
- package/build/decimal.spec.js.map +1 -1
- package/build/etc.d.ts +4 -0
- package/build/etc.js +66 -0
- package/build/etc.js.map +1 -0
- package/build/etc.spec.d.ts +1 -0
- package/build/etc.spec.js +66 -0
- package/build/etc.spec.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/int-pretty.d.ts +16 -4
- package/build/int-pretty.js +74 -36
- package/build/int-pretty.js.map +1 -1
- package/build/int-pretty.spec.js +261 -94
- package/build/int-pretty.spec.js.map +1 -1
- package/build/int.d.ts +17 -12
- package/build/int.js +69 -16
- package/build/int.js.map +1 -1
- package/build/int.spec.d.ts +1 -0
- package/build/int.spec.js +161 -0
- package/build/int.spec.js.map +1 -0
- package/build/price-pretty.d.ts +13 -3
- package/build/price-pretty.js +37 -26
- package/build/price-pretty.js.map +1 -1
- package/build/price-pretty.spec.js +59 -2
- package/build/price-pretty.spec.js.map +1 -1
- package/build/rate-pretty.d.ts +57 -0
- package/build/rate-pretty.js +128 -0
- package/build/rate-pretty.js.map +1 -0
- package/build/rate-pretty.spec.d.ts +1 -0
- package/build/rate-pretty.spec.js +38 -0
- package/build/rate-pretty.spec.js.map +1 -0
- package/package.json +3 -3
- package/src/coin-pretty.spec.ts +304 -11
- package/src/coin-pretty.ts +56 -29
- package/src/coin-utils.spec.ts +32 -0
- package/src/coin-utils.ts +12 -4
- package/src/coin.spec.ts +20 -0
- package/src/coin.ts +1 -1
- package/src/dec-utils.spec.ts +39 -0
- package/src/dec-utils.ts +25 -20
- package/src/decimal.spec.ts +361 -3
- package/src/decimal.ts +135 -56
- package/src/etc.spec.ts +73 -0
- package/src/etc.ts +73 -0
- package/src/index.ts +1 -0
- package/src/int-pretty.spec.ts +296 -101
- package/src/int-pretty.ts +87 -34
- package/src/int.spec.ts +212 -0
- package/src/int.ts +94 -26
- package/src/price-pretty.spec.ts +106 -2
- package/src/price-pretty.ts +50 -30
- package/src/rate-pretty.spec.ts +52 -0
- package/src/rate-pretty.ts +165 -0
package/build/int-pretty.d.ts
CHANGED
@@ -1,25 +1,36 @@
|
|
1
1
|
import { Dec } from "./decimal";
|
2
2
|
import { DeepReadonly } from "utility-types";
|
3
|
+
import bigInteger from "big-integer";
|
3
4
|
export declare type IntPrettyOptions = {
|
4
|
-
precision: number;
|
5
5
|
maxDecimals: number;
|
6
6
|
trim: boolean;
|
7
7
|
shrink: boolean;
|
8
8
|
ready: boolean;
|
9
9
|
locale: boolean;
|
10
|
+
inequalitySymbol: boolean;
|
11
|
+
inequalitySymbolSeparator: string;
|
10
12
|
};
|
11
13
|
export declare class IntPretty {
|
12
14
|
protected dec: Dec;
|
13
|
-
protected
|
15
|
+
protected floatingDecimalPointRight: number;
|
14
16
|
protected _options: IntPrettyOptions;
|
15
17
|
constructor(num: Dec | {
|
16
18
|
toDec(): Dec;
|
17
|
-
});
|
19
|
+
} | bigInteger.BigNumber);
|
18
20
|
get options(): DeepReadonly<IntPrettyOptions>;
|
19
|
-
|
21
|
+
moveDecimalPointLeft(delta: number): IntPretty;
|
22
|
+
moveDecimalPointRight(delta: number): IntPretty;
|
23
|
+
/**
|
24
|
+
* @deprecated Use`moveDecimalPointLeft`
|
25
|
+
*/
|
20
26
|
increasePrecision(delta: number): IntPretty;
|
27
|
+
/**
|
28
|
+
* @deprecated Use`moveDecimalPointRight`
|
29
|
+
*/
|
21
30
|
decreasePrecision(delta: number): IntPretty;
|
22
31
|
maxDecimals(max: number): IntPretty;
|
32
|
+
inequalitySymbol(bool: boolean): IntPretty;
|
33
|
+
inequalitySymbolSeparator(str: string): IntPretty;
|
23
34
|
trim(bool: boolean): IntPretty;
|
24
35
|
shrink(bool: boolean): IntPretty;
|
25
36
|
locale(locale: boolean): IntPretty;
|
@@ -46,5 +57,6 @@ export declare class IntPretty {
|
|
46
57
|
}): IntPretty;
|
47
58
|
toDec(): Dec;
|
48
59
|
toString(): string;
|
60
|
+
toStringWithSymbols(prefix: string, suffix: string): string;
|
49
61
|
clone(): IntPretty;
|
50
62
|
}
|
package/build/int-pretty.js
CHANGED
@@ -7,19 +7,23 @@ const dec_utils_1 = require("./dec-utils");
|
|
7
7
|
const coin_utils_1 = require("./coin-utils");
|
8
8
|
class IntPretty {
|
9
9
|
constructor(num) {
|
10
|
-
this.
|
10
|
+
this.floatingDecimalPointRight = 0;
|
11
11
|
this._options = {
|
12
|
-
precision: 0,
|
13
12
|
maxDecimals: 0,
|
14
13
|
trim: false,
|
15
14
|
shrink: false,
|
16
15
|
ready: true,
|
17
16
|
locale: true,
|
17
|
+
inequalitySymbol: false,
|
18
|
+
inequalitySymbolSeparator: " ",
|
18
19
|
};
|
19
|
-
if ("toDec" in num) {
|
20
|
+
if (typeof num === "object" && "toDec" in num) {
|
20
21
|
num = num.toDec();
|
21
22
|
}
|
22
|
-
if (num
|
23
|
+
else if (!(num instanceof decimal_1.Dec)) {
|
24
|
+
num = new decimal_1.Dec(num);
|
25
|
+
}
|
26
|
+
if (num.isZero()) {
|
23
27
|
this.dec = num;
|
24
28
|
return;
|
25
29
|
}
|
@@ -34,35 +38,48 @@ class IntPretty {
|
|
34
38
|
decPrecision++;
|
35
39
|
}
|
36
40
|
this.dec = num;
|
37
|
-
this.decPrecision = decPrecision;
|
38
|
-
this._options.precision = decPrecision;
|
39
41
|
this._options.maxDecimals = decPrecision;
|
40
42
|
}
|
41
43
|
get options() {
|
42
44
|
return this._options;
|
43
45
|
}
|
44
|
-
|
45
|
-
if (prec < -18) {
|
46
|
-
throw new Error("Too little precision");
|
47
|
-
}
|
48
|
-
if (prec > 18) {
|
49
|
-
throw new Error("Too much precision");
|
50
|
-
}
|
46
|
+
moveDecimalPointLeft(delta) {
|
51
47
|
const pretty = this.clone();
|
52
|
-
pretty.
|
48
|
+
pretty.floatingDecimalPointRight += -delta;
|
53
49
|
return pretty;
|
54
50
|
}
|
51
|
+
moveDecimalPointRight(delta) {
|
52
|
+
const pretty = this.clone();
|
53
|
+
pretty.floatingDecimalPointRight += delta;
|
54
|
+
return pretty;
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* @deprecated Use`moveDecimalPointLeft`
|
58
|
+
*/
|
55
59
|
increasePrecision(delta) {
|
56
|
-
return this.
|
60
|
+
return this.moveDecimalPointLeft(delta);
|
57
61
|
}
|
62
|
+
/**
|
63
|
+
* @deprecated Use`moveDecimalPointRight`
|
64
|
+
*/
|
58
65
|
decreasePrecision(delta) {
|
59
|
-
return this.
|
66
|
+
return this.moveDecimalPointRight(delta);
|
60
67
|
}
|
61
68
|
maxDecimals(max) {
|
62
69
|
const pretty = this.clone();
|
63
70
|
pretty._options.maxDecimals = max;
|
64
71
|
return pretty;
|
65
72
|
}
|
73
|
+
inequalitySymbol(bool) {
|
74
|
+
const pretty = this.clone();
|
75
|
+
pretty._options.inequalitySymbol = bool;
|
76
|
+
return pretty;
|
77
|
+
}
|
78
|
+
inequalitySymbolSeparator(str) {
|
79
|
+
const pretty = this.clone();
|
80
|
+
pretty._options.inequalitySymbolSeparator = str;
|
81
|
+
return pretty;
|
82
|
+
}
|
66
83
|
trim(bool) {
|
67
84
|
const pretty = this.clone();
|
68
85
|
pretty._options.trim = bool;
|
@@ -98,9 +115,7 @@ class IntPretty {
|
|
98
115
|
target = target.toDec();
|
99
116
|
}
|
100
117
|
const pretty = new IntPretty(this.toDec().add(target));
|
101
|
-
pretty._options = Object.assign(
|
102
|
-
// Precision must not be changed.
|
103
|
-
precision: pretty._options.precision });
|
118
|
+
pretty._options = Object.assign({}, this._options);
|
104
119
|
return pretty;
|
105
120
|
}
|
106
121
|
sub(target) {
|
@@ -108,9 +123,7 @@ class IntPretty {
|
|
108
123
|
target = target.toDec();
|
109
124
|
}
|
110
125
|
const pretty = new IntPretty(this.toDec().sub(target));
|
111
|
-
pretty._options = Object.assign(
|
112
|
-
// Precision must not be changed.
|
113
|
-
precision: pretty._options.precision });
|
126
|
+
pretty._options = Object.assign({}, this._options);
|
114
127
|
return pretty;
|
115
128
|
}
|
116
129
|
mul(target) {
|
@@ -118,9 +131,7 @@ class IntPretty {
|
|
118
131
|
target = target.toDec();
|
119
132
|
}
|
120
133
|
const pretty = new IntPretty(this.toDec().mul(target));
|
121
|
-
pretty._options = Object.assign(
|
122
|
-
// Precision must not be changed.
|
123
|
-
precision: pretty._options.precision });
|
134
|
+
pretty._options = Object.assign({}, this._options);
|
124
135
|
return pretty;
|
125
136
|
}
|
126
137
|
quo(target) {
|
@@ -128,22 +139,45 @@ class IntPretty {
|
|
128
139
|
target = target.toDec();
|
129
140
|
}
|
130
141
|
const pretty = new IntPretty(this.toDec().quo(target));
|
131
|
-
pretty._options = Object.assign(
|
132
|
-
// Precision must not be changed.
|
133
|
-
precision: pretty._options.precision });
|
142
|
+
pretty._options = Object.assign({}, this._options);
|
134
143
|
return pretty;
|
135
144
|
}
|
136
145
|
toDec() {
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
146
|
+
if (this.floatingDecimalPointRight === 0) {
|
147
|
+
return this.dec;
|
148
|
+
}
|
149
|
+
else if (this.floatingDecimalPointRight > 0) {
|
150
|
+
return this.dec.mulTruncate(dec_utils_1.DecUtils.getTenExponentN(this.floatingDecimalPointRight));
|
151
|
+
}
|
152
|
+
else {
|
153
|
+
// Since a decimal in Dec cannot exceed 18, it cannot be computed at once.
|
154
|
+
let i = -this.floatingDecimalPointRight;
|
155
|
+
let dec = this.dec;
|
156
|
+
while (i > 0) {
|
157
|
+
if (i >= decimal_1.Dec.precision) {
|
158
|
+
dec = dec.mulTruncate(dec_utils_1.DecUtils.getTenExponentN(-decimal_1.Dec.precision));
|
159
|
+
i -= decimal_1.Dec.precision;
|
160
|
+
}
|
161
|
+
else {
|
162
|
+
dec = dec.mulTruncate(dec_utils_1.DecUtils.getTenExponentN(-(i % decimal_1.Dec.precision)));
|
163
|
+
break;
|
164
|
+
}
|
165
|
+
}
|
166
|
+
return dec;
|
141
167
|
}
|
142
|
-
return dec;
|
143
168
|
}
|
144
169
|
toString() {
|
170
|
+
return this.toStringWithSymbols("", "");
|
171
|
+
}
|
172
|
+
toStringWithSymbols(prefix, suffix) {
|
145
173
|
const dec = this.toDec();
|
146
|
-
|
174
|
+
if (this._options.inequalitySymbol &&
|
175
|
+
!dec.isZero() &&
|
176
|
+
dec.abs().lt(dec_utils_1.DecUtils.getTenExponentN(-this._options.maxDecimals))) {
|
177
|
+
const isNeg = dec.isNegative();
|
178
|
+
return `${isNeg ? ">" : "<"}${this._options.inequalitySymbolSeparator}${isNeg ? "-" : ""}${prefix}${dec_utils_1.DecUtils.getTenExponentN(-this._options.maxDecimals).toString(this._options.maxDecimals, this._options.locale)}${suffix}`;
|
179
|
+
}
|
180
|
+
let result;
|
147
181
|
if (!this._options.shrink) {
|
148
182
|
result = dec.toString(this._options.maxDecimals, this._options.locale);
|
149
183
|
}
|
@@ -153,12 +187,16 @@ class IntPretty {
|
|
153
187
|
if (this._options.trim) {
|
154
188
|
result = dec_utils_1.DecUtils.trim(result);
|
155
189
|
}
|
156
|
-
|
190
|
+
const isNeg = result.charAt(0) === "-";
|
191
|
+
if (isNeg) {
|
192
|
+
result = result.slice(1);
|
193
|
+
}
|
194
|
+
return `${isNeg ? "-" : ""}${prefix}${result}${suffix}`;
|
157
195
|
}
|
158
196
|
clone() {
|
159
197
|
const pretty = new IntPretty(this.dec);
|
160
198
|
pretty.dec = this.dec;
|
161
|
-
pretty.
|
199
|
+
pretty.floatingDecimalPointRight = this.floatingDecimalPointRight;
|
162
200
|
pretty._options = Object.assign({}, this._options);
|
163
201
|
return pretty;
|
164
202
|
}
|
package/build/int-pretty.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"int-pretty.js","sourceRoot":"","sources":["../src/int-pretty.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,uCAAgC;AAChC,2CAAuC;AACvC,6CAAyC;
|
1
|
+
{"version":3,"file":"int-pretty.js","sourceRoot":"","sources":["../src/int-pretty.ts"],"names":[],"mappings":"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"}
|