taxtank-core 0.8.2 → 0.8.6

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 (25) hide show
  1. package/bundles/taxtank-core.umd.js +84 -62
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +2 -2
  4. package/esm2015/lib/collections/depreciation.collection.js +3 -3
  5. package/esm2015/lib/collections/tax-summary/report-item.collection.js +141 -0
  6. package/esm2015/lib/models/property/property.js +7 -4
  7. package/esm2015/lib/models/tax-summary/report-item-details.js +9 -0
  8. package/esm2015/lib/models/tax-summary/report-item.js +15 -0
  9. package/esm2015/lib/models/tax-summary/tax-summary-section.js +5 -5
  10. package/esm2015/lib/services/subscription/subscription.service.js +35 -16
  11. package/esm2015/public-api.js +4 -4
  12. package/fesm2015/taxtank-core.js +49 -28
  13. package/fesm2015/taxtank-core.js.map +1 -1
  14. package/lib/collections/collection.d.ts +1 -1
  15. package/lib/collections/{tax-return-category-item.collection.d.ts → tax-summary/report-item.collection.d.ts} +5 -5
  16. package/lib/models/property/property.d.ts +1 -0
  17. package/lib/models/tax-summary/{tax-return-category-item-details.d.ts → report-item-details.d.ts} +2 -2
  18. package/lib/models/tax-summary/{tax-return-category-item.d.ts → report-item.d.ts} +4 -4
  19. package/lib/models/tax-summary/tax-summary-section.d.ts +2 -2
  20. package/lib/services/subscription/subscription.service.d.ts +9 -4
  21. package/package.json +1 -1
  22. package/public-api.d.ts +3 -3
  23. package/esm2015/lib/collections/tax-return-category-item.collection.js +0 -141
  24. package/esm2015/lib/models/tax-summary/tax-return-category-item-details.js +0 -9
  25. package/esm2015/lib/models/tax-summary/tax-return-category-item.js +0 -15
@@ -20,7 +20,7 @@ export declare class Collection<Model extends object> implements Iterable<Model>
20
20
  * Get list of items ids
21
21
  */
22
22
  getIds(): number[];
23
- getOneBy(path: string, value: any): Model;
23
+ findBy(path: string, value: any): Model;
24
24
  getBy(path: string, value: any): this;
25
25
  /**
26
26
  * Get single item by id
@@ -1,10 +1,10 @@
1
- import { Collection } from './collection';
2
- import { TaxReturnCategoryItem } from '../models/tax-summary/tax-return-category-item';
3
- import { TaxReturnCategorySectionEnum } from '../db/Enums/tax-return-category-section.enum';
1
+ import { Collection } from '../collection';
2
+ import { ReportItem } from '../../models/tax-summary/report-item';
3
+ import { TaxReturnCategorySectionEnum } from '../../db/Enums/tax-return-category-section.enum';
4
4
  /**
5
5
  * collection for tax return category items
6
6
  */
7
- export declare class TaxReturnCategoryItemCollection extends Collection<TaxReturnCategoryItem> {
7
+ export declare class ReportItemCollection extends Collection<ReportItem> {
8
8
  /**
9
9
  * Work income
10
10
  */
@@ -62,7 +62,7 @@ export declare class TaxReturnCategoryItemCollection extends Collection<TaxRetur
62
62
  * taxWithheld by section (work or other)
63
63
  */
64
64
  getTaxWithheld(section?: TaxReturnCategorySectionEnum): number;
65
- getTaxCreditsCollection(): TaxReturnCategoryItemCollection;
65
+ getTaxCreditsCollection(): ReportItemCollection;
66
66
  getTotalAmountByIncomeSourceName(name: string): number;
67
67
  private getByCategory;
68
68
  }
@@ -80,6 +80,7 @@ export declare class Property extends PropertyBase implements Photoable, Documen
80
80
  * tax exemption can reduce cgt from 100% to less (up to zero)
81
81
  */
82
82
  getCGTExemptionRatio(sale: PropertySale): number;
83
+ isOneYearExemptionApplicable(sale: PropertySale): boolean;
83
84
  /**
84
85
  * ownership duration from purchase till sale
85
86
  */
@@ -1,11 +1,11 @@
1
1
  import { TaxReturnCategorySectionEnum } from '../../db/Enums/tax-return-category-section.enum';
2
2
  /**
3
3
  * Used in tax summary reports to show specific details relating to an amount in the report.
4
- * See structure in TaxReturnCategoryItem class.
4
+ * See structure in ReportItem class.
5
5
  * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
6
6
  * This is useful in providing drill-down information for the tax summary report.
7
7
  */
8
- export declare class TaxReturnCategoryItemDetails {
8
+ export declare class ReportItemDetails {
9
9
  amount: number;
10
10
  name: string;
11
11
  type: number;
@@ -1,13 +1,13 @@
1
1
  import { TaxReturnCategory } from '../../db/Models/tax-return-category';
2
- import { TaxReturnCategoryItemDetails } from './tax-return-category-item-details';
2
+ import { ReportItemDetails } from './report-item-details';
3
3
  /**
4
4
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
5
5
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
6
6
  */
7
- export declare class TaxReturnCategoryItem {
7
+ export declare class ReportItem {
8
8
  amount: number;
9
- details: TaxReturnCategoryItemDetails[];
10
- items: TaxReturnCategoryItem[];
9
+ details: ReportItemDetails[];
10
+ items: ReportItem[];
11
11
  taxReturnCategory: TaxReturnCategory;
12
12
  taxWithheld: number;
13
13
  /**
@@ -1,5 +1,5 @@
1
1
  import { TaxSummarySectionEnum } from '../../db/Enums/tax-summary-section.enum';
2
- import { TaxReturnCategoryItemCollection } from '../../collections/tax-return-category-item.collection';
2
+ import { ReportItemCollection } from '../../collections/tax-summary/report-item.collection';
3
3
  /**
4
4
  * Base class for each sections of Tax Summary report, contains common properties/methods
5
5
  * See also TaxSummary model
@@ -7,6 +7,6 @@ import { TaxReturnCategoryItemCollection } from '../../collections/tax-return-ca
7
7
  export declare class TaxSummarySection {
8
8
  section: TaxSummarySectionEnum;
9
9
  netAmount: number;
10
- items: TaxReturnCategoryItemCollection;
10
+ items: ReportItemCollection;
11
11
  id?: string;
12
12
  }
@@ -1,14 +1,16 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { Observable, ReplaySubject } from 'rxjs';
2
+ import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
3
3
  import { ServiceSubscriptionCollection } from '../../collections/service-subscription.collection';
4
4
  import { ServiceSubscription } from '../../models/service-subscription/service-subscription';
5
5
  import { ServicePayment } from '../../models/service-subscription/service-payment';
6
6
  import { EventDispatcherService } from '../event/event-dispatcher.service';
7
7
  import { ServiceSubscriptionItem } from '../../models/service-subscription/service-subscription-item';
8
+ import { SseService } from '../event/sse.service';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class SubscriptionService {
10
11
  private http;
11
12
  private eventDispatcherService;
13
+ private sseService;
12
14
  private environment;
13
15
  _serviceSubscription: ServiceSubscription;
14
16
  serviceSubscriptionSubject: ReplaySubject<ServiceSubscription>;
@@ -17,8 +19,10 @@ export declare class SubscriptionService {
17
19
  stripe: any;
18
20
  servicePaymentsSubject: ReplaySubject<ServicePayment[]>;
19
21
  _servicePayments: ServicePayment[];
20
- constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any);
21
- getSubscription(): Observable<ServiceSubscription>;
22
+ subscriptionChangeSubject: BehaviorSubject<ServiceSubscription>;
23
+ constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, sseService: SseService, environment: any);
24
+ listenEvents(): void;
25
+ getSubscription(force?: boolean): Observable<ServiceSubscription>;
22
26
  /**
23
27
  * @TODO right now we have only monthly prices, the function should be refactored to support other options in future
24
28
  *
@@ -41,7 +45,8 @@ export declare class SubscriptionService {
41
45
  /**
42
46
  * Change subscription plan
43
47
  */
44
- changeSubscription(items: ServiceSubscriptionItem[]): Observable<void>;
48
+ changeSubscription(items: ServiceSubscriptionItem[]): Observable<object>;
49
+ private listenSubscriptions;
45
50
  static ɵfac: i0.ɵɵFactoryDeclaration<SubscriptionService, never>;
46
51
  static ɵprov: i0.ɵɵInjectableDeclaration<SubscriptionService>;
47
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.8.2",
3
+ "version": "0.8.6",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
package/public-api.d.ts CHANGED
@@ -23,7 +23,7 @@ export * from './lib/collections/message-document.collection';
23
23
  export * from './lib/collections/property/property.collection';
24
24
  export * from './lib/collections/service-price.collection';
25
25
  export * from './lib/collections/service-subscription.collection';
26
- export * from './lib/collections/tax-return-category-item.collection';
26
+ export * from './lib/collections/tax-summary/report-item.collection';
27
27
  export * from './lib/collections/tax-review.collection';
28
28
  export * from './lib/collections/transaction-allocation.collection';
29
29
  export * from './lib/collections/transaction.collection';
@@ -230,8 +230,8 @@ export * from './lib/models/service-subscription/subscription-description.const'
230
230
  export * from './lib/models/service-subscription/subscription-title.const';
231
231
  export * from './lib/models/service-subscription/subscription-type.enum';
232
232
  export * from './lib/models/tax-review/tax-review';
233
- export * from './lib/models/tax-summary/tax-return-category-item';
234
- export * from './lib/models/tax-summary/tax-return-category-item-details';
233
+ export * from './lib/models/tax-summary/report-item';
234
+ export * from './lib/models/tax-summary/report-item-details';
235
235
  export * from './lib/models/tax-summary/tax-summary';
236
236
  export * from './lib/models/tax-summary/tax-summary-section';
237
237
  export * from './lib/models/tax-summary/tax-summary-type.enum';
@@ -1,141 +0,0 @@
1
- import { Collection } from './collection';
2
- import { TaxReturnCategoryListEnum } from '../db/Enums/tax-return-category-list.enum';
3
- import { TaxReturnCategorySectionEnum } from '../db/Enums/tax-return-category-section.enum';
4
- /**
5
- * collection for tax return category items
6
- */
7
- export class TaxReturnCategoryItemCollection extends Collection {
8
- /**
9
- * Work income
10
- */
11
- get salary() {
12
- var _a;
13
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.SALARY)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
14
- }
15
- /**
16
- * Work expenses
17
- */
18
- get workExpenses() {
19
- var _a;
20
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.WORK_EXPENSES)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
21
- }
22
- /**
23
- * Property income
24
- */
25
- get rentalIncome() {
26
- var _a;
27
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_RENT)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
28
- }
29
- /**
30
- * Property rental deductions
31
- */
32
- get rentalDeductions() {
33
- var _a;
34
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
35
- }
36
- /**
37
- * Property expenses
38
- */
39
- get propertyExpenses() {
40
- return this.rentalDeductions + this.borrowingExpenses;
41
- }
42
- /**
43
- * Property interest
44
- */
45
- get interestDeductions() {
46
- var _a;
47
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
48
- }
49
- /**
50
- * Property capital works depreciations
51
- */
52
- get capitalWorks() {
53
- var _a;
54
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_WORKS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
55
- }
56
- /**
57
- * Property plant & equipment depreciations
58
- */
59
- get plantEquipment() {
60
- var _a;
61
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.DEPRECIATION)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
62
- }
63
- /**
64
- * Total property depreciaions
65
- */
66
- get propertyDepreciations() {
67
- return this.capitalWorks + this.plantEquipment;
68
- }
69
- get partnershipsAndTrusts() {
70
- var _a;
71
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
72
- }
73
- get pciAndSbeIncome() {
74
- var _a;
75
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PCI_SBE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
76
- }
77
- get capitalGains() {
78
- var _a;
79
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_GAINS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
80
- }
81
- get foreignSourceIncome() {
82
- var _a;
83
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
84
- }
85
- /**
86
- * Other income
87
- */
88
- get otherIncome() {
89
- var _a;
90
- return (((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0) +
91
- this.partnershipsAndTrusts +
92
- this.pciAndSbeIncome +
93
- this.capitalGains +
94
- this.foreignSourceIncome;
95
- }
96
- /**
97
- * Other expenses
98
- */
99
- get otherDeductions() {
100
- var _a;
101
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
102
- }
103
- get taxInstalments() {
104
- var _a;
105
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_INSTALMENTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
106
- }
107
- get frankingCredits() {
108
- var _a;
109
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.FRANKING_CREDITS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
110
- }
111
- get taxOffsets() {
112
- var _a;
113
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_OFFSETS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
114
- }
115
- get borrowingExpenses() {
116
- var _a;
117
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.BORROWING_EXPENSES)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
118
- }
119
- get grossTaxPayable() {
120
- var _a;
121
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
122
- }
123
- /**
124
- * taxWithheld by section (work or other)
125
- */
126
- getTaxWithheld(section = TaxReturnCategorySectionEnum.WORK_TANK) {
127
- var _a;
128
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_WITHHELD)) === null || _a === void 0 ? void 0 : _a.details.filter((details) => details.section === section).reduce((sum, details) => sum + details.amount, 0)) || 0;
129
- }
130
- getTaxCreditsCollection() {
131
- var _a;
132
- return new TaxReturnCategoryItemCollection(((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_CREDITS)) === null || _a === void 0 ? void 0 : _a.items) || []);
133
- }
134
- getTotalAmountByIncomeSourceName(name) {
135
- return this.items.reduce(((sum, item) => sum + item.getAmountByIncomeSourceName(name)), 0);
136
- }
137
- getByCategory(category) {
138
- return this.items.find((item) => item.taxReturnCategory.id === category);
139
- }
140
- }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1pdGVtLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdGF4LXJldHVybi1jYXRlZ29yeS1pdGVtLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUc1Rjs7R0FFRztBQUNILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRjs7T0FFRztJQUNILElBQUksTUFBTTs7UUFDUixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWTs7UUFDZCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWTs7UUFDZCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksZ0JBQWdCOztRQUNsQixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOztPQUVH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QUksQ0FBQyxDQUFDLElBQTJCLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDM0csQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUYXhSZXR1cm5DYXRlZ29yeUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXJldHVybi1jYXRlZ29yeS1pdGVtJztcbmltcG9ydCB7IFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQgeyBUYXhSZXR1cm5DYXRlZ29yeVNlY3Rpb25FbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1zZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtRGV0YWlscyB9IGZyb20gJy4uL21vZGVscy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0tZGV0YWlscyc7XG5cbi8qKlxuICogY29sbGVjdGlvbiBmb3IgdGF4IHJldHVybiBjYXRlZ29yeSBpdGVtc1xuICovXG5leHBvcnQgY2xhc3MgVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VGF4UmV0dXJuQ2F0ZWdvcnlJdGVtPiB7XG4gIC8qKlxuICAgKiBXb3JrIGluY29tZVxuICAgKi9cbiAgZ2V0IHNhbGFyeSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TQUxBUlkpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXb3JrIGV4cGVuc2VzXG4gICAqL1xuICBnZXQgd29ya0V4cGVuc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLldPUktfRVhQRU5TRVMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBpbmNvbWVcbiAgICovXG4gIGdldCByZW50YWxJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfUkVOVCk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IHJlbnRhbCBkZWR1Y3Rpb25zXG4gICAqL1xuICBnZXQgcmVudGFsRGVkdWN0aW9ucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9SRU5UQUxfREVEVUNUSU9OUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IGV4cGVuc2VzXG4gICAqL1xuICBnZXQgcHJvcGVydHlFeHBlbnNlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlbnRhbERlZHVjdGlvbnMgKyB0aGlzLmJvcnJvd2luZ0V4cGVuc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IGludGVyZXN0XG4gICAqL1xuICBnZXQgaW50ZXJlc3REZWR1Y3Rpb25zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLklOVEVSRVNUX0RFRFVDVElPTlMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBjYXBpdGFsIHdvcmtzIGRlcHJlY2lhdGlvbnNcbiAgICovXG4gIGdldCBjYXBpdGFsV29ya3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQ0FQSVRBTF9XT1JLUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IHBsYW50ICYgZXF1aXBtZW50IGRlcHJlY2lhdGlvbnNcbiAgICovXG4gIGdldCBwbGFudEVxdWlwbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ERVBSRUNJQVRJT04pPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBwcm9wZXJ0eSBkZXByZWNpYWlvbnNcbiAgICovXG4gIGdldCBwcm9wZXJ0eURlcHJlY2lhdGlvbnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jYXBpdGFsV29ya3MgKyB0aGlzLnBsYW50RXF1aXBtZW50O1xuICB9XG5cbiAgZ2V0IHBhcnRuZXJzaGlwc0FuZFRydXN0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5QQVJUTkVSU0hJUFNfVFJVU1RTKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgcGNpQW5kU2JlSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBDSV9TQkVfSU5DT01FKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgY2FwaXRhbEdhaW5zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkNBUElUQUxfR0FJTlMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlaWduU291cmNlSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZPUkVJR05fU09VUkNFX0lOQ09NRSk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIGluY29tZVxuICAgKi9cbiAgZ2V0IG90aGVySW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9JTkNPTUUpPy5hbW91bnQgfHwgMCkgK1xuICAgICAgdGhpcy5wYXJ0bmVyc2hpcHNBbmRUcnVzdHMgK1xuICAgICAgdGhpcy5wY2lBbmRTYmVJbmNvbWUgK1xuICAgICAgdGhpcy5jYXBpdGFsR2FpbnMgK1xuICAgICAgdGhpcy5mb3JlaWduU291cmNlSW5jb21lO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIGV4cGVuc2VzXG4gICAqL1xuICBnZXQgb3RoZXJEZWR1Y3Rpb25zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLk9USEVSX0RFRFVDVElPTlMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldCB0YXhJbnN0YWxtZW50cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFRheENyZWRpdHNDb2xsZWN0aW9uKCkuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9JTlNUQUxNRU5UUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0IGZyYW5raW5nQ3JlZGl0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFRheENyZWRpdHNDb2xsZWN0aW9uKCkuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZSQU5LSU5HX0NSRURJVFMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldCB0YXhPZmZzZXRzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9PRkZTRVRTKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgYm9ycm93aW5nRXhwZW5zZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQk9SUk9XSU5HX0VYUEVOU0VTKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgZ3Jvc3NUYXhQYXlhYmxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX1RBWF9QQVlBQkxFKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogdGF4V2l0aGhlbGQgYnkgc2VjdGlvbiAod29yayBvciBvdGhlcilcbiAgICovXG4gIGdldFRheFdpdGhoZWxkKHNlY3Rpb246IFRheFJldHVybkNhdGVnb3J5U2VjdGlvbkVudW0gPSBUYXhSZXR1cm5DYXRlZ29yeVNlY3Rpb25FbnVtLldPUktfVEFOSyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGF4Q3JlZGl0c0NvbGxlY3Rpb24oKS5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX1dJVEhIRUxEKT8uZGV0YWlsc1xuICAgICAgLmZpbHRlcigoZGV0YWlsczogVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtRGV0YWlscykgPT4gZGV0YWlscy5zZWN0aW9uID09PSBzZWN0aW9uKVxuICAgICAgLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRldGFpbHM6IFRheFJldHVybkNhdGVnb3J5SXRlbURldGFpbHMpOiBudW1iZXIgPT4gc3VtICsgZGV0YWlscy5hbW91bnQsIDApIHx8IDA7XG4gIH1cblxuICBnZXRUYXhDcmVkaXRzQ29sbGVjdGlvbigpOiBUYXhSZXR1cm5DYXRlZ29yeUl0ZW1Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRheFJldHVybkNhdGVnb3J5SXRlbUNvbGxlY3Rpb24odGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX0NSRURJVFMpPy5pdGVtcyB8fCBbXSk7XG4gIH1cblxuICBnZXRUb3RhbEFtb3VudEJ5SW5jb21lU291cmNlTmFtZShuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoKHN1bTogbnVtYmVyLCBpdGVtOiBUYXhSZXR1cm5DYXRlZ29yeUl0ZW0pOiBudW1iZXIgPT4gc3VtICsgaXRlbS5nZXRBbW91bnRCeUluY29tZVNvdXJjZU5hbWUobmFtZSkpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnlDYXRlZ29yeShjYXRlZ29yeTogVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSk6IFRheFJldHVybkNhdGVnb3J5SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtKTogYm9vbGVhbiA9PiBpdGVtLnRheFJldHVybkNhdGVnb3J5LmlkID09PSBjYXRlZ29yeSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- /**
2
- * Used in tax summary reports to show specific details relating to an amount in the report.
3
- * See structure in TaxReturnCategoryItem class.
4
- * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
5
- * This is useful in providing drill-down information for the tax summary report.
6
- */
7
- export class TaxReturnCategoryItemDetails {
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1pdGVtLWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcnktaXRlbS1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtDQUt4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRheFJldHVybkNhdGVnb3J5U2VjdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LXNlY3Rpb24uZW51bSc7XG5cbi8qKlxuICogVXNlZCBpbiB0YXggc3VtbWFyeSByZXBvcnRzIHRvIHNob3cgc3BlY2lmaWMgZGV0YWlscyByZWxhdGluZyB0byBhbiBhbW91bnQgaW4gdGhlIHJlcG9ydC5cbiAqIFNlZSBzdHJ1Y3R1cmUgaW4gVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtIGNsYXNzLlxuICogRXhhbXBsZSBhbiBhbW91bnQgb2YgJDU1MCBmb3IgcHJvcGVydHkgaW5jb21lIGNvdWxkIGJlIGNvbXByaXNlZCBvZiAyIGRpZmZlcmVudCBwcm9wZXJ0eSBhbW91bnRzIG9mICQzMDAgYW5kICQyNTAuXG4gKiBUaGlzIGlzIHVzZWZ1bCBpbiBwcm92aWRpbmcgZHJpbGwtZG93biBpbmZvcm1hdGlvbiBmb3IgdGhlIHRheCBzdW1tYXJ5IHJlcG9ydC5cbiAqL1xuZXhwb3J0IGNsYXNzIFRheFJldHVybkNhdGVnb3J5SXRlbURldGFpbHMge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBudW1iZXI7XG4gIHNlY3Rpb246IFRheFJldHVybkNhdGVnb3J5U2VjdGlvbkVudW07XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- /**
2
- * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
3
- * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
4
- */
5
- export class TaxReturnCategoryItem {
6
- /**
7
- * Get amount for one income source
8
- * @param name Name of income source for filter
9
- */
10
- getAmountByIncomeSourceName(name) {
11
- var _a;
12
- return ((_a = this.details.find((detail) => detail.name === name)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQzs7O09BR0c7SUFDSCwyQkFBMkIsQ0FBQyxJQUFZOztRQUN0QyxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQW9DLEVBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUM7SUFDakgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdGF4LXJldHVybi1jYXRlZ29yeSc7XG5pbXBvcnQgeyBUYXhSZXR1cm5DYXRlZ29yeUl0ZW1EZXRhaWxzIH0gZnJvbSAnLi90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0tZGV0YWlscyc7XG5cbi8qKlxuICogVXNlZCBpbiB0YXggc3VtbWFyeSByZXBvcnRzIHRvIHNob3cgYW1vdW50cyByZWxhdGluZyB0byBhIHRheCByZXR1cm4gY2F0ZWdvcnkgZW50aXR5IGFuZCBkZXRhaWxzIG9mIHdoYXQgdGhpc1xuICogYW1vdW50IGlzIGNvbXByaXNlZCBvZi4gRXhhbXBsZSBoZXJlIHNob3dzIGFuIGFtb3VudCBvZiAkOTUxLjk2IGFuZCBhbHNvIGRldGFpbHMgb2Ygd2hhdCB0aGlzIGFtb3VudCBpcyBjb21wcmlzZWQgb2Y6XG4gKi9cbmV4cG9ydCBjbGFzcyBUYXhSZXR1cm5DYXRlZ29yeUl0ZW0ge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgZGV0YWlsczogVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtRGV0YWlsc1tdO1xuICBpdGVtczogVGF4UmV0dXJuQ2F0ZWdvcnlJdGVtW107XG4gIHRheFJldHVybkNhdGVnb3J5OiBUYXhSZXR1cm5DYXRlZ29yeTtcbiAgdGF4V2l0aGhlbGQ6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IGFtb3VudCBmb3Igb25lIGluY29tZSBzb3VyY2VcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEFtb3VudEJ5SW5jb21lU291cmNlTmFtZShuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRldGFpbHMuZmluZCgoZGV0YWlsOiBUYXhSZXR1cm5DYXRlZ29yeUl0ZW1EZXRhaWxzKTogYm9vbGVhbiA9PiBkZXRhaWwubmFtZSA9PT0gbmFtZSk/LmFtb3VudCB8fCAwO1xuICB9XG59XG4iXX0=