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
|
@@ -1270,6 +1270,10 @@ class Collection {
|
|
|
1270
1270
|
reduce(callback, init = 0) {
|
|
1271
1271
|
return +this.items.reduce(callback, init).toFixed(2);
|
|
1272
1272
|
}
|
|
1273
|
+
slice(from, to) {
|
|
1274
|
+
this.items.slice(from, to);
|
|
1275
|
+
return this;
|
|
1276
|
+
}
|
|
1273
1277
|
}
|
|
1274
1278
|
|
|
1275
1279
|
class ExportDataTable {
|
|
@@ -2204,10 +2208,18 @@ var HoldingTypeCategoryEnum;
|
|
|
2204
2208
|
(function (HoldingTypeCategoryEnum) {
|
|
2205
2209
|
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["CRYPTO"] = 1] = "CRYPTO";
|
|
2206
2210
|
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["STOCK"] = 2] = "STOCK";
|
|
2207
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2208
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2209
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2210
|
-
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["
|
|
2211
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["ETF"] = 3] = "ETF";
|
|
2212
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["FUND"] = 4] = "FUND";
|
|
2213
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["MUTUAL_FUND"] = 5] = "MUTUAL_FUND";
|
|
2214
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["PREFERRED_STOCK"] = 6] = "PREFERRED_STOCK";
|
|
2215
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["WARRANT"] = 7] = "WARRANT";
|
|
2216
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["ETC"] = 8] = "ETC";
|
|
2217
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["NOTE"] = 9] = "NOTE";
|
|
2218
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["INDEX"] = 10] = "INDEX";
|
|
2219
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["UNLISTED_STOCK"] = 11] = "UNLISTED_STOCK";
|
|
2220
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["UNLISTED_UNIT"] = 12] = "UNLISTED_UNIT";
|
|
2221
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["COLLECTIBLE"] = 13] = "COLLECTIBLE";
|
|
2222
|
+
HoldingTypeCategoryEnum[HoldingTypeCategoryEnum["OTHER"] = 14] = "OTHER";
|
|
2211
2223
|
})(HoldingTypeCategoryEnum || (HoldingTypeCategoryEnum = {}));
|
|
2212
2224
|
|
|
2213
2225
|
// @TODO Artem TT-2308 move everything
|
|
@@ -8388,12 +8400,15 @@ class HoldingTypeExchange extends AbstractModel {
|
|
|
8388
8400
|
}
|
|
8389
8401
|
__decorate([
|
|
8390
8402
|
Type(() => Date)
|
|
8391
|
-
], HoldingTypeExchange.prototype, "
|
|
8403
|
+
], HoldingTypeExchange.prototype, "exchangeUpdatedAt", void 0);
|
|
8392
8404
|
__decorate([
|
|
8393
8405
|
Type(() => HoldingType)
|
|
8394
8406
|
], HoldingTypeExchange.prototype, "holdingTypes", void 0);
|
|
8395
8407
|
|
|
8396
8408
|
class HoldingType extends AbstractModel {
|
|
8409
|
+
/**
|
|
8410
|
+
* @TODO Alex move to translation file
|
|
8411
|
+
*/
|
|
8397
8412
|
get categoryLabel() {
|
|
8398
8413
|
switch (this.category) {
|
|
8399
8414
|
case HoldingTypeCategoryEnum.STOCK:
|
|
@@ -8406,12 +8421,17 @@ class HoldingType extends AbstractModel {
|
|
|
8406
8421
|
return 'Unlisted stock';
|
|
8407
8422
|
case HoldingTypeCategoryEnum.UNLISTED_UNIT:
|
|
8408
8423
|
return 'Unlisted unit';
|
|
8409
|
-
|
|
8424
|
+
default:
|
|
8410
8425
|
return 'Other';
|
|
8411
8426
|
}
|
|
8412
8427
|
}
|
|
8413
8428
|
isOther() {
|
|
8414
|
-
return
|
|
8429
|
+
return [
|
|
8430
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
8431
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
8432
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
8433
|
+
HoldingTypeCategoryEnum.OTHER
|
|
8434
|
+
].includes(this.category);
|
|
8415
8435
|
}
|
|
8416
8436
|
isShare() {
|
|
8417
8437
|
return this.category === HoldingTypeCategoryEnum.STOCK;
|
|
@@ -8420,6 +8440,62 @@ class HoldingType extends AbstractModel {
|
|
|
8420
8440
|
return this.category === HoldingTypeCategoryEnum.CRYPTO;
|
|
8421
8441
|
}
|
|
8422
8442
|
}
|
|
8443
|
+
__decorate([
|
|
8444
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8445
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8446
|
+
], HoldingType.prototype, "price", void 0);
|
|
8447
|
+
__decorate([
|
|
8448
|
+
Type(() => Number)
|
|
8449
|
+
], HoldingType.prototype, "openPrice", void 0);
|
|
8450
|
+
__decorate([
|
|
8451
|
+
Type(() => Number)
|
|
8452
|
+
], HoldingType.prototype, "highPrice", void 0);
|
|
8453
|
+
__decorate([
|
|
8454
|
+
Type(() => Number)
|
|
8455
|
+
], HoldingType.prototype, "lowPrice", void 0);
|
|
8456
|
+
__decorate([
|
|
8457
|
+
Type(() => Number)
|
|
8458
|
+
], HoldingType.prototype, "volume", void 0);
|
|
8459
|
+
__decorate([
|
|
8460
|
+
Type(() => Number)
|
|
8461
|
+
], HoldingType.prototype, "ema50d", void 0);
|
|
8462
|
+
__decorate([
|
|
8463
|
+
Type(() => Number)
|
|
8464
|
+
], HoldingType.prototype, "ema200d", void 0);
|
|
8465
|
+
__decorate([
|
|
8466
|
+
Type(() => Number)
|
|
8467
|
+
], HoldingType.prototype, "highPrice250d", void 0);
|
|
8468
|
+
__decorate([
|
|
8469
|
+
Type(() => Number)
|
|
8470
|
+
], HoldingType.prototype, "lowPrice250d", void 0);
|
|
8471
|
+
__decorate([
|
|
8472
|
+
Type(() => Number)
|
|
8473
|
+
], HoldingType.prototype, "avgVolume14d", void 0);
|
|
8474
|
+
__decorate([
|
|
8475
|
+
Type(() => Number)
|
|
8476
|
+
], HoldingType.prototype, "avgVolume50d", void 0);
|
|
8477
|
+
__decorate([
|
|
8478
|
+
Type(() => Number)
|
|
8479
|
+
], HoldingType.prototype, "avgVolume200d", void 0);
|
|
8480
|
+
__decorate([
|
|
8481
|
+
Type(() => Number)
|
|
8482
|
+
], HoldingType.prototype, "marketCap", void 0);
|
|
8483
|
+
__decorate([
|
|
8484
|
+
Type(() => Number)
|
|
8485
|
+
], HoldingType.prototype, "beta", void 0);
|
|
8486
|
+
__decorate([
|
|
8487
|
+
Type(() => Number)
|
|
8488
|
+
], HoldingType.prototype, "adjustedPrice", void 0);
|
|
8489
|
+
__decorate([
|
|
8490
|
+
Type(() => Number)
|
|
8491
|
+
], HoldingType.prototype, "peRatio", void 0);
|
|
8492
|
+
__decorate([
|
|
8493
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8494
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8495
|
+
], HoldingType.prototype, "dividendPercent", void 0);
|
|
8496
|
+
__decorate([
|
|
8497
|
+
Type(() => AppFile)
|
|
8498
|
+
], HoldingType.prototype, "file", void 0);
|
|
8423
8499
|
__decorate([
|
|
8424
8500
|
Type(() => Date)
|
|
8425
8501
|
], HoldingType.prototype, "lastUpdateDateOnExchange", void 0);
|
|
@@ -8449,6 +8525,37 @@ class HoldingSale extends AbstractModel {
|
|
|
8449
8525
|
return capitalGain;
|
|
8450
8526
|
}
|
|
8451
8527
|
}
|
|
8528
|
+
__decorate([
|
|
8529
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8530
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8531
|
+
], HoldingSale.prototype, "quantity", void 0);
|
|
8532
|
+
__decorate([
|
|
8533
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8534
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8535
|
+
], HoldingSale.prototype, "price", void 0);
|
|
8536
|
+
__decorate([
|
|
8537
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8538
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8539
|
+
], HoldingSale.prototype, "fee", void 0);
|
|
8540
|
+
__decorate([
|
|
8541
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8542
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8543
|
+
], HoldingSale.prototype, "total", void 0);
|
|
8544
|
+
__decorate([
|
|
8545
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8546
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8547
|
+
], HoldingSale.prototype, "totalCapitalGain", void 0);
|
|
8548
|
+
__decorate([
|
|
8549
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8550
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8551
|
+
], HoldingSale.prototype, "grossCapitalGain", void 0);
|
|
8552
|
+
__decorate([
|
|
8553
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8554
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8555
|
+
], HoldingSale.prototype, "netCapitalGain", void 0);
|
|
8556
|
+
__decorate([
|
|
8557
|
+
Transform(({ value }) => { return { id: value.id }; }, { toPlainOnly: true })
|
|
8558
|
+
], HoldingSale.prototype, "holding", void 0);
|
|
8452
8559
|
__decorate([
|
|
8453
8560
|
Type(() => Date)
|
|
8454
8561
|
], HoldingSale.prototype, "date", void 0);
|
|
@@ -8488,6 +8595,26 @@ class Holding extends AbstractModel {
|
|
|
8488
8595
|
return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
|
|
8489
8596
|
}
|
|
8490
8597
|
}
|
|
8598
|
+
__decorate([
|
|
8599
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8600
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8601
|
+
], Holding.prototype, "quantity", void 0);
|
|
8602
|
+
__decorate([
|
|
8603
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8604
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8605
|
+
], Holding.prototype, "currentQuantity", void 0);
|
|
8606
|
+
__decorate([
|
|
8607
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8608
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8609
|
+
], Holding.prototype, "ownershipPercent", void 0);
|
|
8610
|
+
__decorate([
|
|
8611
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8612
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8613
|
+
], Holding.prototype, "price", void 0);
|
|
8614
|
+
__decorate([
|
|
8615
|
+
Transform(({ value }) => +value, { toClassOnly: true }),
|
|
8616
|
+
Transform(({ value }) => value.toString(), { toPlainOnly: true })
|
|
8617
|
+
], Holding.prototype, "fee", void 0);
|
|
8491
8618
|
__decorate([
|
|
8492
8619
|
Type(() => Date)
|
|
8493
8620
|
], Holding.prototype, "date", void 0);
|
|
@@ -15938,6 +16065,7 @@ var HoldingMessagesEnum;
|
|
|
15938
16065
|
(function (HoldingMessagesEnum) {
|
|
15939
16066
|
HoldingMessagesEnum["CREATED"] = "Holding created successfully";
|
|
15940
16067
|
HoldingMessagesEnum["UPDATED"] = "Holding updated successfully";
|
|
16068
|
+
HoldingMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding?";
|
|
15941
16069
|
HoldingMessagesEnum["DELETED"] = "Holding deleted successfully";
|
|
15942
16070
|
})(HoldingMessagesEnum || (HoldingMessagesEnum = {}));
|
|
15943
16071
|
|
|
@@ -15945,6 +16073,7 @@ var HoldingSaleMessagesEnum;
|
|
|
15945
16073
|
(function (HoldingSaleMessagesEnum) {
|
|
15946
16074
|
HoldingSaleMessagesEnum["CREATED"] = "Holding sold successfully";
|
|
15947
16075
|
HoldingSaleMessagesEnum["UPDATED"] = "Sale updated successfully";
|
|
16076
|
+
HoldingSaleMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding sale?";
|
|
15948
16077
|
HoldingSaleMessagesEnum["DELETED"] = "Sale deleted successfully";
|
|
15949
16078
|
})(HoldingSaleMessagesEnum || (HoldingSaleMessagesEnum = {}));
|
|
15950
16079
|
|
|
@@ -15952,6 +16081,7 @@ var HoldingTypeMessagesEnum;
|
|
|
15952
16081
|
(function (HoldingTypeMessagesEnum) {
|
|
15953
16082
|
HoldingTypeMessagesEnum["CREATED"] = "Holding type created successfully";
|
|
15954
16083
|
HoldingTypeMessagesEnum["UPDATED"] = "Holding type updated successfully";
|
|
16084
|
+
HoldingTypeMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this holding type?";
|
|
15955
16085
|
HoldingTypeMessagesEnum["DELETED"] = "Holding type deleted successfully";
|
|
15956
16086
|
})(HoldingTypeMessagesEnum || (HoldingTypeMessagesEnum = {}));
|
|
15957
16087
|
|
|
@@ -20068,6 +20198,9 @@ class HoldingSaleForm extends AbstractForm {
|
|
|
20068
20198
|
this.listenQuantityChanges();
|
|
20069
20199
|
this.listenPriceChanges();
|
|
20070
20200
|
}
|
|
20201
|
+
submit() {
|
|
20202
|
+
return super.submit({}, true);
|
|
20203
|
+
}
|
|
20071
20204
|
listenQuantityChanges() {
|
|
20072
20205
|
this.get('quantity').valueChanges.subscribe(() => {
|
|
20073
20206
|
this.updateGainFields();
|
|
@@ -20089,7 +20222,7 @@ class HoldingTypeForm extends AbstractForm {
|
|
|
20089
20222
|
super({
|
|
20090
20223
|
category: new UntypedFormControl(holdingType.category, Validators.required),
|
|
20091
20224
|
name: new UntypedFormControl(holdingType.name, Validators.required),
|
|
20092
|
-
description: new UntypedFormControl(holdingType.description
|
|
20225
|
+
description: new UntypedFormControl(holdingType.description),
|
|
20093
20226
|
price: new UntypedFormControl(holdingType.price, [Validators.required, Validators.min(0)]),
|
|
20094
20227
|
dividendPercent: new UntypedFormControl(holdingType.dividendPercent, Validators.min(0))
|
|
20095
20228
|
}, holdingType);
|