@keplr-wallet/unit 0.9.9 → 0.9.11-rc.2

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.
Files changed (76) hide show
  1. package/build/coin-pretty.d.ts +13 -3
  2. package/build/coin-pretty.js +36 -25
  3. package/build/coin-pretty.js.map +1 -1
  4. package/build/coin-pretty.spec.js +194 -9
  5. package/build/coin-pretty.spec.js.map +1 -1
  6. package/build/coin-utils.js +8 -4
  7. package/build/coin-utils.js.map +1 -1
  8. package/build/coin-utils.spec.js +16 -0
  9. package/build/coin-utils.spec.js.map +1 -1
  10. package/build/coin.js +1 -1
  11. package/build/coin.js.map +1 -1
  12. package/build/coin.spec.js +15 -0
  13. package/build/coin.spec.js.map +1 -1
  14. package/build/dec-utils.d.ts +8 -1
  15. package/build/dec-utils.js +22 -20
  16. package/build/dec-utils.js.map +1 -1
  17. package/build/dec-utils.spec.js +19 -0
  18. package/build/dec-utils.spec.js.map +1 -1
  19. package/build/decimal.d.ts +22 -9
  20. package/build/decimal.js +102 -29
  21. package/build/decimal.js.map +1 -1
  22. package/build/decimal.spec.js +296 -3
  23. package/build/decimal.spec.js.map +1 -1
  24. package/build/etc.d.ts +4 -0
  25. package/build/etc.js +63 -0
  26. package/build/etc.js.map +1 -0
  27. package/build/etc.spec.d.ts +1 -0
  28. package/build/etc.spec.js +66 -0
  29. package/build/etc.spec.js.map +1 -0
  30. package/build/index.d.ts +1 -0
  31. package/build/index.js +1 -0
  32. package/build/index.js.map +1 -1
  33. package/build/int-pretty.d.ts +16 -4
  34. package/build/int-pretty.js +74 -36
  35. package/build/int-pretty.js.map +1 -1
  36. package/build/int-pretty.spec.js +261 -94
  37. package/build/int-pretty.spec.js.map +1 -1
  38. package/build/int.d.ts +17 -12
  39. package/build/int.js +69 -16
  40. package/build/int.js.map +1 -1
  41. package/build/int.spec.d.ts +1 -0
  42. package/build/int.spec.js +161 -0
  43. package/build/int.spec.js.map +1 -0
  44. package/build/price-pretty.d.ts +13 -3
  45. package/build/price-pretty.js +37 -26
  46. package/build/price-pretty.js.map +1 -1
  47. package/build/price-pretty.spec.js +59 -2
  48. package/build/price-pretty.spec.js.map +1 -1
  49. package/build/rate-pretty.d.ts +57 -0
  50. package/build/rate-pretty.js +128 -0
  51. package/build/rate-pretty.js.map +1 -0
  52. package/build/rate-pretty.spec.d.ts +1 -0
  53. package/build/rate-pretty.spec.js +38 -0
  54. package/build/rate-pretty.spec.js.map +1 -0
  55. package/package.json +3 -3
  56. package/src/coin-pretty.spec.ts +304 -11
  57. package/src/coin-pretty.ts +56 -29
  58. package/src/coin-utils.spec.ts +32 -0
  59. package/src/coin-utils.ts +12 -4
  60. package/src/coin.spec.ts +20 -0
  61. package/src/coin.ts +1 -1
  62. package/src/dec-utils.spec.ts +39 -0
  63. package/src/dec-utils.ts +25 -20
  64. package/src/decimal.spec.ts +361 -3
  65. package/src/decimal.ts +135 -56
  66. package/src/etc.spec.ts +73 -0
  67. package/src/etc.ts +70 -0
  68. package/src/index.ts +1 -0
  69. package/src/int-pretty.spec.ts +296 -101
  70. package/src/int-pretty.ts +87 -34
  71. package/src/int.spec.ts +212 -0
  72. package/src/int.ts +94 -26
  73. package/src/price-pretty.spec.ts +106 -2
  74. package/src/price-pretty.ts +50 -30
  75. package/src/rate-pretty.spec.ts +52 -0
  76. package/src/rate-pretty.ts +165 -0
@@ -2,6 +2,7 @@ import { IntPretty, IntPrettyOptions } from "./int-pretty";
2
2
  import { Dec } from "./decimal";
3
3
  import { AppCurrency } from "@keplr-wallet/types";
4
4
  import { DeepReadonly } from "utility-types";
5
+ import bigInteger from "big-integer";
5
6
  export declare type CoinPrettyOptions = {
6
7
  separator: string;
7
8
  upperCase: boolean;
@@ -12,12 +13,12 @@ export declare class CoinPretty {
12
13
  protected _currency: AppCurrency;
13
14
  protected amount: Dec | {
14
15
  toDec(): Dec;
15
- };
16
+ } | bigInteger.BigNumber;
16
17
  protected intPretty: IntPretty;
17
18
  protected _options: CoinPrettyOptions;
18
19
  constructor(_currency: AppCurrency, amount: Dec | {
19
20
  toDec(): Dec;
20
- });
21
+ } | bigInteger.BigNumber);
21
22
  get options(): DeepReadonly<IntPrettyOptions & CoinPrettyOptions>;
22
23
  get denom(): string;
23
24
  get currency(): AppCurrency;
@@ -26,10 +27,19 @@ export declare class CoinPretty {
26
27
  upperCase(bool: boolean): CoinPretty;
27
28
  lowerCase(bool: boolean): CoinPretty;
28
29
  hideDenom(bool: boolean): CoinPretty;
29
- precision(prec: number): CoinPretty;
30
+ moveDecimalPointLeft(delta: number): CoinPretty;
31
+ moveDecimalPointRight(delta: number): CoinPretty;
32
+ /**
33
+ * @deprecated Use`moveDecimalPointLeft`
34
+ */
30
35
  increasePrecision(delta: number): CoinPretty;
36
+ /**
37
+ * @deprecated Use`moveDecimalPointRight`
38
+ */
31
39
  decreasePrecision(delta: number): CoinPretty;
32
40
  maxDecimals(max: number): CoinPretty;
41
+ inequalitySymbol(bool: boolean): CoinPretty;
42
+ inequalitySymbolSeparator(str: string): CoinPretty;
33
43
  trim(bool: boolean): CoinPretty;
34
44
  shrink(bool: boolean): CoinPretty;
35
45
  locale(locale: boolean): CoinPretty;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoinPretty = void 0;
4
4
  const int_pretty_1 = require("./int-pretty");
5
+ const decimal_1 = require("./decimal");
5
6
  const dec_utils_1 = require("./dec-utils");
6
7
  class CoinPretty {
7
8
  constructor(_currency, amount) {
@@ -13,20 +14,13 @@ class CoinPretty {
13
14
  lowerCase: false,
14
15
  hideDenom: false,
15
16
  };
16
- if ("toDec" in this.amount) {
17
+ if (typeof this.amount === "object" && "toDec" in this.amount) {
17
18
  this.amount = this.amount.toDec();
18
19
  }
19
- this.intPretty = new int_pretty_1.IntPretty(this.amount);
20
- if (this.intPretty.options.precision === 0) {
21
- this.intPretty = this.intPretty
22
- .maxDecimals(_currency.coinDecimals)
23
- .precision(_currency.coinDecimals);
24
- }
25
- else {
26
- this.intPretty = this.intPretty
27
- .maxDecimals(_currency.coinDecimals)
28
- .mul(dec_utils_1.DecUtils.getPrecisionDec(-_currency.coinDecimals));
20
+ else if (!(this.amount instanceof decimal_1.Dec)) {
21
+ this.amount = new decimal_1.Dec(this.amount);
29
22
  }
23
+ this.intPretty = new int_pretty_1.IntPretty(this.amount.quoTruncate(dec_utils_1.DecUtils.getTenExponentNInPrecisionRange(_currency.coinDecimals))).maxDecimals(_currency.coinDecimals);
30
24
  }
31
25
  get options() {
32
26
  return Object.assign(Object.assign({}, this._options), this.intPretty.options);
@@ -38,9 +32,9 @@ class CoinPretty {
38
32
  return this._currency;
39
33
  }
40
34
  setCurrency(currency) {
41
- const pretty = new CoinPretty(currency, this.amount);
42
- pretty._options = Object.assign({}, this._options);
43
- pretty.intPretty = this.intPretty.clone();
35
+ const pretty = this.clone();
36
+ pretty.intPretty = this.intPretty.moveDecimalPointRight(this._currency.coinDecimals - currency.coinDecimals);
37
+ pretty._currency = currency;
44
38
  return pretty;
45
39
  }
46
40
  separator(str) {
@@ -65,26 +59,43 @@ class CoinPretty {
65
59
  pretty._options.hideDenom = bool;
66
60
  return pretty;
67
61
  }
68
- precision(prec) {
62
+ moveDecimalPointLeft(delta) {
69
63
  const pretty = this.clone();
70
- pretty.intPretty = pretty.intPretty.precision(prec);
64
+ pretty.intPretty = pretty.intPretty.moveDecimalPointLeft(delta);
71
65
  return pretty;
72
66
  }
73
- increasePrecision(delta) {
67
+ moveDecimalPointRight(delta) {
74
68
  const pretty = this.clone();
75
- pretty.intPretty = pretty.intPretty.increasePrecision(delta);
69
+ pretty.intPretty = pretty.intPretty.moveDecimalPointRight(delta);
76
70
  return pretty;
77
71
  }
72
+ /**
73
+ * @deprecated Use`moveDecimalPointLeft`
74
+ */
75
+ increasePrecision(delta) {
76
+ return this.moveDecimalPointLeft(delta);
77
+ }
78
+ /**
79
+ * @deprecated Use`moveDecimalPointRight`
80
+ */
78
81
  decreasePrecision(delta) {
79
- const pretty = this.clone();
80
- pretty.intPretty = pretty.intPretty.decreasePrecision(delta);
81
- return pretty;
82
+ return this.moveDecimalPointRight(delta);
82
83
  }
83
84
  maxDecimals(max) {
84
85
  const pretty = this.clone();
85
86
  pretty.intPretty = pretty.intPretty.maxDecimals(max);
86
87
  return pretty;
87
88
  }
89
+ inequalitySymbol(bool) {
90
+ const pretty = this.clone();
91
+ pretty.intPretty = pretty.intPretty.inequalitySymbol(bool);
92
+ return pretty;
93
+ }
94
+ inequalitySymbolSeparator(str) {
95
+ const pretty = this.clone();
96
+ pretty.intPretty = pretty.intPretty.inequalitySymbolSeparator(str);
97
+ return pretty;
98
+ }
88
99
  trim(bool) {
89
100
  const pretty = this.clone();
90
101
  pretty.intPretty = pretty.intPretty.trim(bool);
@@ -130,7 +141,7 @@ class CoinPretty {
130
141
  const pretty = this.clone();
131
142
  pretty.intPretty = pretty.intPretty.add(isCoinPretty
132
143
  ? target
133
- : target.mul(dec_utils_1.DecUtils.getPrecisionDec(-this._currency.coinDecimals)));
144
+ : target.mul(dec_utils_1.DecUtils.getTenExponentNInPrecisionRange(-this._currency.coinDecimals)));
134
145
  return pretty;
135
146
  }
136
147
  sub(target) {
@@ -148,7 +159,7 @@ class CoinPretty {
148
159
  const pretty = this.clone();
149
160
  pretty.intPretty = pretty.intPretty.sub(isCoinPretty
150
161
  ? target
151
- : target.mul(dec_utils_1.DecUtils.getPrecisionDec(-this._currency.coinDecimals)));
162
+ : target.mul(dec_utils_1.DecUtils.getTenExponentNInPrecisionRange(-this._currency.coinDecimals)));
152
163
  return pretty;
153
164
  }
154
165
  mul(target) {
@@ -166,7 +177,7 @@ class CoinPretty {
166
177
  }
167
178
  toCoin() {
168
179
  const amount = this.toDec()
169
- .mul(dec_utils_1.DecUtils.getPrecisionDec(this.currency.coinDecimals))
180
+ .mulTruncate(dec_utils_1.DecUtils.getTenExponentNInPrecisionRange(this.currency.coinDecimals))
170
181
  .truncate();
171
182
  return {
172
183
  denom: this.currency.coinMinimalDenom,
@@ -186,7 +197,7 @@ class CoinPretty {
186
197
  denom = "";
187
198
  separator = "";
188
199
  }
189
- return `${this.intPretty.toString()}${separator}${denom}`;
200
+ return this.intPretty.toStringWithSymbols("", `${separator}${denom}`);
190
201
  }
191
202
  clone() {
192
203
  const pretty = new CoinPretty(this._currency, this.amount);
@@ -1 +1 @@
1
- {"version":3,"file":"coin-pretty.js","sourceRoot":"","sources":["../src/coin-pretty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coin-pretty.js","sourceRoot":"","sources":["../src/coin-pretty.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const coin_pretty_1 = require("./coin-pretty");
4
4
  const decimal_1 = require("./decimal");
5
5
  const int_1 = require("./int");
6
+ const coin_utils_1 = require("./coin-utils");
7
+ const dec_utils_1 = require("./dec-utils");
6
8
  describe("Test CoinPretty", () => {
9
+ it("Test creation of CoinPretty", () => {
10
+ expect(new coin_pretty_1.CoinPretty({
11
+ coinDenom: "ATOM",
12
+ coinMinimalDenom: "uatom",
13
+ coinDecimals: 6,
14
+ }, new int_1.Int(1234))
15
+ .toDec()
16
+ .equals(new decimal_1.Dec("0.001234"))).toBe(true);
17
+ expect(new coin_pretty_1.CoinPretty({
18
+ coinDenom: "ATOM",
19
+ coinMinimalDenom: "uatom",
20
+ coinDecimals: 6,
21
+ }, new int_1.Int(1234)).toString()).toBe("0.001234 ATOM");
22
+ expect(new coin_pretty_1.CoinPretty({
23
+ coinDenom: "ATOM",
24
+ coinMinimalDenom: "uatom",
25
+ coinDecimals: 6,
26
+ }, 1234)
27
+ .toDec()
28
+ .equals(new decimal_1.Dec("0.001234"))).toBe(true);
29
+ expect(new coin_pretty_1.CoinPretty({
30
+ coinDenom: "ATOM",
31
+ coinMinimalDenom: "uatom",
32
+ coinDecimals: 6,
33
+ }, 1234).toString()).toBe("0.001234 ATOM");
34
+ expect(new coin_pretty_1.CoinPretty({
35
+ coinDenom: "ATOM",
36
+ coinMinimalDenom: "uatom",
37
+ coinDecimals: 6,
38
+ }, "1234.5")
39
+ .toDec()
40
+ .equals(new decimal_1.Dec("0.0012345"))).toBe(true);
41
+ expect(new coin_pretty_1.CoinPretty({
42
+ coinDenom: "ATOM",
43
+ coinMinimalDenom: "uatom",
44
+ coinDecimals: 6,
45
+ }, "1234.5").toString()).toBe("0.001234 ATOM");
46
+ expect(new coin_pretty_1.CoinPretty({
47
+ coinDenom: "ATOM",
48
+ coinMinimalDenom: "uatom",
49
+ coinDecimals: 6,
50
+ }, new decimal_1.Dec("1234.5"))
51
+ .toDec()
52
+ .equals(new decimal_1.Dec("0.0012345"))).toBe(true);
53
+ expect(new coin_pretty_1.CoinPretty({
54
+ coinDenom: "ATOM",
55
+ coinMinimalDenom: "uatom",
56
+ coinDecimals: 6,
57
+ }, new decimal_1.Dec("1234.5")).toString()).toBe("0.001234 ATOM");
58
+ });
7
59
  it("Basic test for CoinPretty", () => {
8
60
  const pretty = new coin_pretty_1.CoinPretty({
9
61
  coinDenom: "ATOM",
@@ -16,10 +68,9 @@ describe("Test CoinPretty", () => {
16
68
  expect(pretty.increasePrecision(1).toString()).toBe("0.000123 ATOM");
17
69
  expect(pretty.decreasePrecision(1).toString()).toBe("0.012340 ATOM");
18
70
  expect(pretty.decreasePrecision(1).trim(true).toString()).toBe("0.01234 ATOM");
19
- expect(pretty.precision(0).toString()).toBe("1,234.000000 ATOM");
20
- expect(pretty.precision(0).trim(true).toString()).toBe("1,234 ATOM");
21
- expect(pretty.precision(-2).toString()).toBe("123,400.000000 ATOM");
22
- expect(pretty.precision(-2).shrink(true).toString()).toBe("123,400.0 ATOM");
71
+ expect(pretty.moveDecimalPointLeft(1).toString()).toBe("0.000123 ATOM");
72
+ expect(pretty.moveDecimalPointRight(1).toString()).toBe("0.012340 ATOM");
73
+ expect(pretty.moveDecimalPointRight(1).trim(true).toString()).toBe("0.01234 ATOM");
23
74
  expect(pretty.maxDecimals(7).add(new decimal_1.Dec("0.1")).toString()).toBe("0.0012341 ATOM");
24
75
  expect(pretty.maxDecimals(7).sub(new decimal_1.Dec("0.1")).toString()).toBe("0.0012339 ATOM");
25
76
  expect(pretty.maxDecimals(7).mul(new decimal_1.Dec("0.1")).toString()).toBe("0.0001234 ATOM");
@@ -61,15 +112,12 @@ describe("Test CoinPretty", () => {
61
112
  coinMinimalDenom: "uatom",
62
113
  coinDecimals: 6,
63
114
  }, new decimal_1.Dec("12.1234"));
64
- expect(pretty.options.precision).toBe(10);
65
115
  expect(pretty.toString()).toBe("0.000012 ATOM");
66
116
  expect(pretty.maxDecimals(10).toString()).toBe("0.0000121234 ATOM");
67
117
  expect(pretty.increasePrecision(1).toString()).toBe("0.000001 ATOM");
68
118
  expect(pretty.decreasePrecision(1).toString()).toBe("0.000121 ATOM");
69
- expect(pretty.precision(0).toString()).toBe("121,234.000000 ATOM");
70
- expect(pretty.precision(0).trim(true).toString()).toBe("121,234 ATOM");
71
- expect(pretty.precision(-2).toString()).toBe("12,123,400.000000 ATOM");
72
- expect(pretty.precision(-2).shrink(true).toString()).toBe("12,123,400.0 ATOM");
119
+ expect(pretty.moveDecimalPointLeft(1).toString()).toBe("0.000001 ATOM");
120
+ expect(pretty.moveDecimalPointRight(1).toString()).toBe("0.000121 ATOM");
73
121
  expect(pretty.maxDecimals(7).add(new decimal_1.Dec("0.1")).toString()).toBe("0.0000122 ATOM");
74
122
  expect(pretty.maxDecimals(7).sub(new decimal_1.Dec("0.1")).toString()).toBe("0.0000120 ATOM");
75
123
  expect(pretty.maxDecimals(7).mul(new decimal_1.Dec("0.1")).toString()).toBe("0.0000012 ATOM");
@@ -123,5 +171,142 @@ describe("Test CoinPretty", () => {
123
171
  amount: "12345600",
124
172
  });
125
173
  });
174
+ it("Test CoinPretty's setCurrency", () => {
175
+ const pretty = new coin_pretty_1.CoinPretty({
176
+ coinDenom: "ATOM",
177
+ coinMinimalDenom: "uatom",
178
+ coinDecimals: 6,
179
+ }, new int_1.Int("123456"));
180
+ expect(pretty
181
+ .setCurrency({
182
+ coinDenom: "TEST",
183
+ coinMinimalDenom: "utest",
184
+ coinDecimals: 6,
185
+ })
186
+ .toString()).toBe("0.123456 TEST");
187
+ expect(pretty
188
+ .setCurrency({
189
+ coinDenom: "TEST",
190
+ coinMinimalDenom: "utest",
191
+ coinDecimals: 3,
192
+ })
193
+ .toString()).toBe("123.456000 TEST");
194
+ expect(pretty
195
+ .setCurrency({
196
+ coinDenom: "TEST",
197
+ coinMinimalDenom: "utest",
198
+ coinDecimals: 3,
199
+ })
200
+ .moveDecimalPointLeft(2)
201
+ .moveDecimalPointRight(1)
202
+ .trim(true)
203
+ .toString()).toBe("12.3456 TEST");
204
+ });
205
+ it("Test CoinPretty's toString()", () => {
206
+ const tests = [
207
+ {
208
+ base: new coin_pretty_1.CoinPretty({
209
+ coinDenom: "ATOM",
210
+ coinMinimalDenom: "uatom",
211
+ coinDecimals: 6,
212
+ }, new int_1.Int("12345600")),
213
+ pre: (pretty) => pretty,
214
+ res: "12.345600 ATOM",
215
+ },
216
+ {
217
+ base: new coin_pretty_1.CoinPretty({
218
+ coinDenom: "ATOM",
219
+ coinMinimalDenom: "uatom",
220
+ coinDecimals: 6,
221
+ }, new int_1.Int("12345600")),
222
+ pre: (pretty) => pretty.hideDenom(true),
223
+ res: "12.345600",
224
+ },
225
+ {
226
+ base: new coin_pretty_1.CoinPretty({
227
+ coinDenom: "ATOM",
228
+ coinMinimalDenom: "uatom",
229
+ coinDecimals: 6,
230
+ }, new int_1.Int("12345600")),
231
+ pre: (pretty) => pretty.separator(""),
232
+ res: "12.345600ATOM",
233
+ },
234
+ {
235
+ base: new coin_pretty_1.CoinPretty({
236
+ coinDenom: "ATOM",
237
+ coinMinimalDenom: "uatom",
238
+ coinDecimals: 6,
239
+ }, new int_1.Int("12345600")),
240
+ pre: (pretty) => pretty.maxDecimals(3),
241
+ res: "12.345 ATOM",
242
+ },
243
+ {
244
+ base: new coin_pretty_1.CoinPretty({
245
+ coinDenom: "ATOM",
246
+ coinMinimalDenom: "uatom",
247
+ coinDecimals: 6,
248
+ }, new int_1.Int("12345600")),
249
+ pre: (pretty) => pretty.maxDecimals(3).separator(""),
250
+ res: "12.345ATOM",
251
+ },
252
+ {
253
+ base: new coin_pretty_1.CoinPretty({
254
+ coinDenom: "ATOM",
255
+ coinMinimalDenom: "uatom",
256
+ coinDecimals: 6,
257
+ }, new int_1.Int("12345600")),
258
+ pre: (pretty) => pretty.lowerCase(true),
259
+ res: "12.345600 atom",
260
+ },
261
+ {
262
+ base: new coin_pretty_1.CoinPretty({
263
+ coinDenom: "AtoM",
264
+ coinMinimalDenom: "uatom",
265
+ coinDecimals: 6,
266
+ }, new int_1.Int("12345600")),
267
+ pre: (pretty) => pretty.upperCase(true),
268
+ res: "12.345600 ATOM",
269
+ },
270
+ {
271
+ base: new coin_pretty_1.CoinPretty({
272
+ coinDenom: "ATOM",
273
+ coinMinimalDenom: "uatom",
274
+ coinDecimals: 6,
275
+ }, new int_1.Int("1234560000")),
276
+ pre: (pretty) => pretty,
277
+ res: "1,234.560000 ATOM",
278
+ },
279
+ {
280
+ base: new coin_pretty_1.CoinPretty({
281
+ coinDenom: "ATOM",
282
+ coinMinimalDenom: "uatom",
283
+ coinDecimals: 6,
284
+ }, new int_1.Int("1234560000")),
285
+ pre: (pretty) => pretty.locale(false),
286
+ res: "1234.560000 ATOM",
287
+ },
288
+ {
289
+ base: new coin_pretty_1.CoinPretty({
290
+ coinDenom: "ATOM",
291
+ coinMinimalDenom: "uatom",
292
+ coinDecimals: 6,
293
+ }, new int_1.Int("1234560000")),
294
+ pre: (pretty) => pretty.shrink(true),
295
+ res: coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec("1234560000").mul(dec_utils_1.DecUtils.getTenExponentN(-6)), 0, 6, true) + " ATOM",
296
+ },
297
+ {
298
+ base: new coin_pretty_1.CoinPretty({
299
+ coinDenom: "ATOM",
300
+ coinMinimalDenom: "uatom",
301
+ coinDecimals: 6,
302
+ }, new int_1.Int("1234560000")),
303
+ pre: (pretty) => pretty.locale(false).shrink(true),
304
+ res: coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec("1234560000").mul(dec_utils_1.DecUtils.getTenExponentN(-6)), 0, 6, false) + " ATOM",
305
+ },
306
+ ];
307
+ for (const test of tests) {
308
+ expect(test.pre(test.base).toString()).toBe(test.res);
309
+ }
310
+ });
126
311
  });
127
312
  //# sourceMappingURL=coin-pretty.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coin-pretty.spec.js","sourceRoot":"","sources":["../src/coin-pretty.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coin-pretty.spec.js","sourceRoot":"","sources":["../src/coin-pretty.spec.ts"],"names":[],"mappings":"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"}
@@ -92,14 +92,18 @@ class CoinUtils {
92
92
  if (dec.equals(new decimal_1.Dec(0))) {
93
93
  return "0";
94
94
  }
95
- const integer = dec.truncate();
96
- const fraction = dec.sub(new decimal_1.Dec(integer));
95
+ const isNeg = dec.isNegative();
96
+ const integer = dec.abs().truncate();
97
+ const fraction = dec.abs().sub(new decimal_1.Dec(integer));
97
98
  const decimals = Math.max(maxDecimals - integer.toString().length + 1, minDecimals);
98
- const fractionStr = fraction.toString(decimals).replace("0.", "");
99
+ const fractionStr = decimals === 0 ? "" : fraction.toString(decimals).replace("0.", "");
99
100
  const integerStr = locale
100
101
  ? CoinUtils.integerStringToUSLocaleString(integer.toString())
101
102
  : integer.toString();
102
- return integerStr + (fractionStr.length > 0 ? "." : "") + fractionStr;
103
+ return ((isNeg ? "-" : "") +
104
+ integerStr +
105
+ (fractionStr.length > 0 ? "." : "") +
106
+ fractionStr);
103
107
  }
104
108
  /**
105
109
  * Change the non-locale integer string to locale string.
@@ -1 +1 @@
1
- {"version":3,"file":"coin-utils.js","sourceRoot":"","sources":["../src/coin-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coin-utils.js","sourceRoot":"","sources":["../src/coin-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const coin_utils_1 = require("./coin-utils");
4
+ const decimal_1 = require("./decimal");
4
5
  describe("Test CoinUtils", () => {
5
6
  it("Test integerStringToUSLocaleString", () => {
6
7
  expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("123456789")).toBe("123,456,789");
@@ -8,6 +9,21 @@ describe("Test CoinUtils", () => {
8
9
  expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("123")).toBe("123");
9
10
  expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("12")).toBe("12");
10
11
  expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("1234")).toBe("1,234");
12
+ expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("-1234")).toBe("-1,234");
13
+ expect(coin_utils_1.CoinUtils.integerStringToUSLocaleString("-123456789")).toBe("-123,456,789");
14
+ });
15
+ it("Test shrink", () => {
16
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234.56789), 3, 6)).toBe("1234.567");
17
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234.56789), 3, 6, true)).toBe("1,234.567");
18
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234), 3, 6)).toBe("1234.000");
19
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(-1234.56789), 3, 6)).toBe("-1234.567");
20
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(-1234.56789), 3, 6, true)).toBe("-1,234.567");
21
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234.56789), 0, 0)).toBe("1234");
22
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(-1234.56789), 0, 0)).toBe("-1234");
23
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234.56789), 1, 1)).toBe("1234.5");
24
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(-1234.56789), 1, 1)).toBe("-1234.5");
25
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(1234), 1, 1)).toBe("1234.0");
26
+ expect(coin_utils_1.CoinUtils.shrinkDecimals(new decimal_1.Dec(-1234), 1, 1)).toBe("-1234.0");
11
27
  });
12
28
  });
13
29
  //# sourceMappingURL=coin-utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coin-utils.spec.js","sourceRoot":"","sources":["../src/coin-utils.spec.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AAEzC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,sBAAS,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAC/D,aAAa,CACd,CAAC;QAEF,MAAM,CAAC,sBAAS,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/D,MAAM,CAAC,sBAAS,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,sBAAS,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,CAAC,sBAAS,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"coin-utils.spec.js","sourceRoot":"","sources":["../src/coin-utils.spec.ts"],"names":[],"mappings":"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"}
package/build/coin.js CHANGED
@@ -8,7 +8,7 @@ class Coin {
8
8
  this.amount = amount instanceof int_1.Int ? amount : new int_1.Int(amount);
9
9
  }
10
10
  static parse(str) {
11
- const re = new RegExp("([0-9]+)[ ]*([a-zA-Z]+)");
11
+ const re = new RegExp("([0-9]+)[ ]*([a-zA-Z]+)$");
12
12
  const execed = re.exec(str);
13
13
  if (!execed || execed.length !== 3) {
14
14
  throw new Error("Invalid coin str");
package/build/coin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"coin.js","sourceRoot":"","sources":["../src/coin.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAG5B,MAAa,IAAI;IAgBf,YAAY,KAAa,EAAE,MAAkC;QAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,YAAY,SAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAlBM,MAAM,CAAC,KAAK,CAAC,GAAW;QAC7B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAWM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;CACF;AAxBD,oBAwBC"}
1
+ {"version":3,"file":"coin.js","sourceRoot":"","sources":["../src/coin.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAG5B,MAAa,IAAI;IAgBf,YAAY,KAAa,EAAE,MAAkC;QAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,YAAY,SAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAlBM,MAAM,CAAC,KAAK,CAAC,GAAW;QAC7B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAWM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;CACF;AAxBD,oBAwBC"}
@@ -6,12 +6,27 @@ describe("Test coin", () => {
6
6
  let coin = coin_1.Coin.parse("1000test");
7
7
  expect(coin.denom).toBe("test");
8
8
  expect(coin.amount.toString()).toBe("1000");
9
+ expect(coin.toString()).toBe("1000test");
9
10
  coin = coin_1.Coin.parse("1000tesT");
10
11
  expect(coin.denom).toBe("tesT");
11
12
  expect(coin.amount.toString()).toBe("1000");
13
+ expect(coin.toString()).toBe("1000tesT");
12
14
  coin = coin_1.Coin.parse("1000TEST");
13
15
  expect(coin.denom).toBe("TEST");
14
16
  expect(coin.amount.toString()).toBe("1000");
17
+ expect(coin.toString()).toBe("1000TEST");
18
+ coin = coin_1.Coin.parse("1000 TEST");
19
+ expect(coin.denom).toBe("TEST");
20
+ expect(coin.amount.toString()).toBe("1000");
21
+ expect(coin.toString()).toBe("1000TEST");
22
+ coin = coin_1.Coin.parse("1000 TEST");
23
+ expect(coin.denom).toBe("TEST");
24
+ expect(coin.amount.toString()).toBe("1000");
25
+ expect(coin.toString()).toBe("1000TEST");
26
+ expect(() => coin_1.Coin.parse("ascasc")).toThrow();
27
+ expect(() => coin_1.Coin.parse("ascasc asd")).toThrow();
28
+ expect(() => coin_1.Coin.parse("100 ascasc asd")).toThrow();
29
+ expect(() => coin_1.Coin.parse("asd 100")).toThrow();
15
30
  });
16
31
  });
17
32
  //# sourceMappingURL=coin.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coin.spec.js","sourceRoot":"","sources":["../src/coin.spec.ts"],"names":[],"mappings":";;AAAA,iCAA8B;AAE9B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAI,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"coin.spec.js","sourceRoot":"","sources":["../src/coin.spec.ts"],"names":[],"mappings":";;AAAA,iCAA8B;AAE9B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAI,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,WAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,EAAE,CAAC,WAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}