taxtank-core 0.30.35 → 0.30.37
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/esm2020/lib/collections/collection.mjs +5 -1
- package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +13 -5
- package/esm2020/lib/db/Models/holding/holding-sale.mjs +1 -1
- package/esm2020/lib/db/Models/holding/holding-type-exchange.mjs +3 -0
- package/esm2020/lib/db/Models/holding/holding-type.mjs +1 -1
- package/esm2020/lib/db/Models/holding/holding.mjs +1 -1
- package/esm2020/lib/forms/holding/holding-sale.form.mjs +4 -1
- package/esm2020/lib/forms/holding/holding-type.form.mjs +2 -2
- package/esm2020/lib/models/holding/holding-sale.mjs +33 -2
- package/esm2020/lib/models/holding/holding-type-exchange.mjs +2 -2
- package/esm2020/lib/models/holding/holding-type.mjs +69 -4
- package/esm2020/lib/models/holding/holding.mjs +21 -1
- package/esm2020/lib/services/http/holding/holding-messages.enum.mjs +2 -1
- package/esm2020/lib/services/http/holding/holding-sale-messages.enum.mjs +2 -1
- package/esm2020/lib/services/http/holding/holding-type-messages.enum.mjs +2 -1
- package/fesm2015/taxtank-core.mjs +141 -8
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +141 -8
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/collection.d.ts +1 -0
- package/lib/db/Enums/holding/holding-type-category.enum.d.ts +12 -4
- package/lib/db/Models/holding/holding-sale.d.ts +4 -1
- package/lib/db/Models/holding/holding-type-exchange.d.ts +13 -0
- package/lib/db/Models/holding/holding-type.d.ts +21 -2
- package/lib/db/Models/holding/holding.d.ts +1 -0
- package/lib/forms/holding/holding-sale.form.d.ts +1 -0
- package/lib/models/holding/holding-type-exchange.d.ts +1 -1
- package/lib/models/holding/holding-type.d.ts +13 -7
- package/lib/services/http/holding/holding-messages.enum.d.ts +1 -0
- package/lib/services/http/holding/holding-sale-messages.enum.d.ts +1 -0
- package/lib/services/http/holding/holding-type-messages.enum.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1280,6 +1280,10 @@ class Collection {
|
|
|
1280
1280
|
reduce(callback, init = 0) {
|
|
1281
1281
|
return +this.items.reduce(callback, init).toFixed(2);
|
|
1282
1282
|
}
|
|
1283
|
+
slice(from, to) {
|
|
1284
|
+
this.items.slice(from, to);
|
|
1285
|
+
return this;
|
|
1286
|
+
}
|
|
1283
1287
|
}
|
|
1284
1288
|
|
|
1285
1289
|
class ExportDataTable {
|
|
@@ -2218,10 +2222,18 @@ var HoldingTypeCategoryEnum;
|
|
|
2218
2222
|
(function (HoldingTypeCategoryEnum) {
|
|
2219
2223
|
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["CRYPTO"] = 1] = "CRYPTO";
|
|
2220
2224
|
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["STOCK"] = 2] = "STOCK";
|
|
2221
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2222
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2223
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2224
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2225
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["ETF"] = 3] = "ETF";
|
|
2226
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["FUND"] = 4] = "FUND";
|
|
2227
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["MUTUAL_FUND"] = 5] = "MUTUAL_FUND";
|
|
2228
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["PREFERRED_STOCK"] = 6] = "PREFERRED_STOCK";
|
|
2229
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["WARRANT"] = 7] = "WARRANT";
|
|
2230
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["ETC"] = 8] = "ETC";
|
|
2231
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["NOTE"] = 9] = "NOTE";
|
|
2232
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["INDEX"] = 10] = "INDEX";
|
|
2233
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["UNLISTED_STOCK"] = 11] = "UNLISTED_STOCK";
|
|
2234
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["UNLISTED_UNIT"] = 12] = "UNLISTED_UNIT";
|
|
2235
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["COLLECTIBLE"] = 13] = "COLLECTIBLE";
|
|
2236
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["OTHER"] = 14] = "OTHER";
|
|
2225
2237
|
})(HoldingTypeCategoryEnum || (HoldingTypeCategoryEnum = {}));
|
|
2226
2238
|
|
|
2227
2239
|
// @TODO Artem TT-2308 move everything
|
|
@@ -8435,12 +8447,15 @@ class HoldingTypeExchange extends AbstractModel {
|
|
|
8435
8447
|
}
|
|
8436
8448
|
__decorate([
|
|
8437
8449
|
Type(() => Date)
|
|
8438
|
-
], HoldingTypeExchange.prototype, "
|
|
8450
|
+
], HoldingTypeExchange.prototype, "exchangeUpdatedAt", void 0);
|
|
8439
8451
|
__decorate([
|
|
8440
8452
|
Type(() => HoldingType)
|
|
8441
8453
|
], HoldingTypeExchange.prototype, "holdingTypes", void 0);
|
|
8442
8454
|
|
|
8443
8455
|
class HoldingType extends AbstractModel {
|
|
8456
|
+
/**
|
|
8457
|
+
* @TODO Alex move to translation file
|
|
8458
|
+
*/
|
|
8444
8459
|
get categoryLabel() {
|
|
8445
8460
|
switch (this.category) {
|
|
8446
8461
|
case HoldingTypeCategoryEnum.STOCK:
|
|
@@ -8453,12 +8468,17 @@ class HoldingType extends AbstractModel {
|
|
|
8453
8468
|
return 'Unlisted stock';
|
|
8454
8469
|
case HoldingTypeCategoryEnum.UNLISTED_UNIT:
|
|
8455
8470
|
return 'Unlisted unit';
|
|
8456
|
-
|
|
8471
|
+
default:
|
|
8457
8472
|
return 'Other';
|
|
8458
8473
|
}
|
|
8459
8474
|
}
|
|
8460
8475
|
isOther() {
|
|
8461
|
-
return
|
|
8476
|
+
return [
|
|
8477
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
8478
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
8479
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
8480
|
+
HoldingTypeCategoryEnum.OTHER
|
|
8481
|
+
].includes(this.category);
|
|
8462
8482
|
}
|
|
8463
8483
|
isShare() {
|
|
8464
8484
|
return this.category === HoldingTypeCategoryEnum.STOCK;
|
|
@@ -8467,6 +8487,62 @@ class HoldingType extends AbstractModel {
|
|
|
8467
8487
|
return this.category === HoldingTypeCategoryEnum.CRYPTO;
|
|
8468
8488
|
}
|
|
8469
8489
|
}
|
|
8490
|
+
__decorate([
|
|
8491
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8492
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8493
|
+
], HoldingType.prototype, "price", void 0);
|
|
8494
|
+
__decorate([
|
|
8495
|
+
Type(() => Number)
|
|
8496
|
+
], HoldingType.prototype, "openPrice", void 0);
|
|
8497
|
+
__decorate([
|
|
8498
|
+
Type(() => Number)
|
|
8499
|
+
], HoldingType.prototype, "highPrice", void 0);
|
|
8500
|
+
__decorate([
|
|
8501
|
+
Type(() => Number)
|
|
8502
|
+
], HoldingType.prototype, "lowPrice", void 0);
|
|
8503
|
+
__decorate([
|
|
8504
|
+
Type(() => Number)
|
|
8505
|
+
], HoldingType.prototype, "volume", void 0);
|
|
8506
|
+
__decorate([
|
|
8507
|
+
Type(() => Number)
|
|
8508
|
+
], HoldingType.prototype, "ema50d", void 0);
|
|
8509
|
+
__decorate([
|
|
8510
|
+
Type(() => Number)
|
|
8511
|
+
], HoldingType.prototype, "ema200d", void 0);
|
|
8512
|
+
__decorate([
|
|
8513
|
+
Type(() => Number)
|
|
8514
|
+
], HoldingType.prototype, "highPrice250d", void 0);
|
|
8515
|
+
__decorate([
|
|
8516
|
+
Type(() => Number)
|
|
8517
|
+
], HoldingType.prototype, "lowPrice250d", void 0);
|
|
8518
|
+
__decorate([
|
|
8519
|
+
Type(() => Number)
|
|
8520
|
+
], HoldingType.prototype, "avgVolume14d", void 0);
|
|
8521
|
+
__decorate([
|
|
8522
|
+
Type(() => Number)
|
|
8523
|
+
], HoldingType.prototype, "avgVolume50d", void 0);
|
|
8524
|
+
__decorate([
|
|
8525
|
+
Type(() => Number)
|
|
8526
|
+
], HoldingType.prototype, "avgVolume200d", void 0);
|
|
8527
|
+
__decorate([
|
|
8528
|
+
Type(() => Number)
|
|
8529
|
+
], HoldingType.prototype, "marketCap", void 0);
|
|
8530
|
+
__decorate([
|
|
8531
|
+
Type(() => Number)
|
|
8532
|
+
], HoldingType.prototype, "beta", void 0);
|
|
8533
|
+
__decorate([
|
|
8534
|
+
Type(() => Number)
|
|
8535
|
+
], HoldingType.prototype, "adjustedPrice", void 0);
|
|
8536
|
+
__decorate([
|
|
8537
|
+
Type(() => Number)
|
|
8538
|
+
], HoldingType.prototype, "peRatio", void 0);
|
|
8539
|
+
__decorate([
|
|
8540
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8541
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8542
|
+
], HoldingType.prototype, "dividendPercent", void 0);
|
|
8543
|
+
__decorate([
|
|
8544
|
+
Type(() => AppFile)
|
|
8545
|
+
], HoldingType.prototype, "file", void 0);
|
|
8470
8546
|
__decorate([
|
|
8471
8547
|
Type(() => Date)
|
|
8472
8548
|
], HoldingType.prototype, "lastUpdateDateOnExchange", void 0);
|
|
@@ -8496,6 +8572,37 @@ class HoldingSale extends AbstractModel {
|
|
|
8496
8572
|
return capitalGain;
|
|
8497
8573
|
}
|
|
8498
8574
|
}
|
|
8575
|
+
__decorate([
|
|
8576
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8577
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8578
|
+
], HoldingSale.prototype, "quantity", void 0);
|
|
8579
|
+
__decorate([
|
|
8580
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8581
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8582
|
+
], HoldingSale.prototype, "price", void 0);
|
|
8583
|
+
__decorate([
|
|
8584
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8585
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8586
|
+
], HoldingSale.prototype, "fee", void 0);
|
|
8587
|
+
__decorate([
|
|
8588
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8589
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8590
|
+
], HoldingSale.prototype, "total", void 0);
|
|
8591
|
+
__decorate([
|
|
8592
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8593
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8594
|
+
], HoldingSale.prototype, "totalCapitalGain", void 0);
|
|
8595
|
+
__decorate([
|
|
8596
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8597
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8598
|
+
], HoldingSale.prototype, "grossCapitalGain", void 0);
|
|
8599
|
+
__decorate([
|
|
8600
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8601
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8602
|
+
], HoldingSale.prototype, "netCapitalGain", void 0);
|
|
8603
|
+
__decorate([
|
|
8604
|
+
Transform(({ value }) => { return { id: value.id }; }, { toPlainOnly: true })
|
|
8605
|
+
], HoldingSale.prototype, "holding", void 0);
|
|
8499
8606
|
__decorate([
|
|
8500
8607
|
Type(() => Date)
|
|
8501
8608
|
], HoldingSale.prototype, "date", void 0);
|
|
@@ -8535,6 +8642,26 @@ class Holding extends AbstractModel {
|
|
|
8535
8642
|
return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
|
|
8536
8643
|
}
|
|
8537
8644
|
}
|
|
8645
|
+
__decorate([
|
|
8646
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8647
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8648
|
+
], Holding.prototype, "quantity", void 0);
|
|
8649
|
+
__decorate([
|
|
8650
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8651
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8652
|
+
], Holding.prototype, "currentQuantity", void 0);
|
|
8653
|
+
__decorate([
|
|
8654
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8655
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8656
|
+
], Holding.prototype, "ownershipPercent", void 0);
|
|
8657
|
+
__decorate([
|
|
8658
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8659
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8660
|
+
], Holding.prototype, "price", void 0);
|
|
8661
|
+
__decorate([
|
|
8662
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8663
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8664
|
+
], Holding.prototype, "fee", void 0);
|
|
8538
8665
|
__decorate([
|
|
8539
8666
|
Type(() => Date)
|
|
8540
8667
|
], Holding.prototype, "date", void 0);
|
|
@@ -16066,6 +16193,7 @@ var HoldingMessagesEnum;
|
|
|
16066
16193
|
(function (HoldingMessagesEnum) {
|
|
16067
16194
|
HoldingMessagesEnum["CREATED"] = "Holding created successfully";
|
|
16068
16195
|
HoldingMessagesEnum["UPDATED"] = "Holding updated successfully";
|
|
16196
|
+
HoldingMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding?";
|
|
16069
16197
|
HoldingMessagesEnum["DELETED"] = "Holding deleted successfully";
|
|
16070
16198
|
})(HoldingMessagesEnum || (HoldingMessagesEnum = {}));
|
|
16071
16199
|
|
|
@@ -16073,6 +16201,7 @@ var HoldingSaleMessagesEnum;
|
|
|
16073
16201
|
(function (HoldingSaleMessagesEnum) {
|
|
16074
16202
|
HoldingSaleMessagesEnum["CREATED"] = "Holding sold successfully";
|
|
16075
16203
|
HoldingSaleMessagesEnum["UPDATED"] = "Sale updated successfully";
|
|
16204
|
+
HoldingSaleMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding sale?";
|
|
16076
16205
|
HoldingSaleMessagesEnum["DELETED"] = "Sale deleted successfully";
|
|
16077
16206
|
})(HoldingSaleMessagesEnum || (HoldingSaleMessagesEnum = {}));
|
|
16078
16207
|
|
|
@@ -16080,6 +16209,7 @@ var HoldingTypeMessagesEnum;
|
|
|
16080
16209
|
(function (HoldingTypeMessagesEnum) {
|
|
16081
16210
|
HoldingTypeMessagesEnum["CREATED"] = "Holding type created successfully";
|
|
16082
16211
|
HoldingTypeMessagesEnum["UPDATED"] = "Holding type updated successfully";
|
|
16212
|
+
HoldingTypeMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding type?";
|
|
16083
16213
|
HoldingTypeMessagesEnum["DELETED"] = "Holding type deleted successfully";
|
|
16084
16214
|
})(HoldingTypeMessagesEnum || (HoldingTypeMessagesEnum = {}));
|
|
16085
16215
|
|
|
@@ -20209,6 +20339,9 @@ class HoldingSaleForm extends AbstractForm {
|
|
|
20209
20339
|
this.listenQuantityChanges();
|
|
20210
20340
|
this.listenPriceChanges();
|
|
20211
20341
|
}
|
|
20342
|
+
submit() {
|
|
20343
|
+
return super.submit({}, true);
|
|
20344
|
+
}
|
|
20212
20345
|
listenQuantityChanges() {
|
|
20213
20346
|
this.get('quantity').valueChanges.subscribe(() => {
|
|
20214
20347
|
this.updateGainFields();
|
|
@@ -20230,7 +20363,7 @@ class HoldingTypeForm extends AbstractForm {
|
|
|
20230
20363
|
super({
|
|
20231
20364
|
category: new UntypedFormControl(holdingType.category, Validators.required),
|
|
20232
20365
|
name: new UntypedFormControl(holdingType.name, Validators.required),
|
|
20233
|
-
description: new UntypedFormControl(holdingType.description
|
|
20366
|
+
description: new UntypedFormControl(holdingType.description),
|
|
20234
20367
|
price: new UntypedFormControl(holdingType.price, [Validators.required, Validators.min(0)]),
|
|
20235
20368
|
dividendPercent: new UntypedFormControl(holdingType.dividendPercent, Validators.min(0))
|
|
20236
20369
|
}, holdingType);
|