taxtank-core 0.30.43 → 0.30.45
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 -2
- package/esm2020/lib/collections/exportable.collection.mjs +8 -1
- package/esm2020/lib/collections/holding/holding-sale.collection.mjs +20 -0
- package/esm2020/lib/collections/holding/holding-type.collection.mjs +13 -0
- package/esm2020/lib/collections/holding/holding.collection.mjs +69 -0
- package/esm2020/lib/collections/holding/index.mjs +4 -0
- package/esm2020/lib/collections/index.mjs +2 -3
- package/esm2020/lib/collections/property/property-sale/property-sale.collection.mjs +19 -3
- package/esm2020/lib/db/Json/property/tax-exemption.json +47 -0
- package/esm2020/lib/db/Models/user/user.mjs +1 -1
- package/esm2020/lib/forms/holding/holding-sale.form.mjs +9 -10
- package/esm2020/lib/forms/holding/holding.form.mjs +11 -1
- package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
- package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
- package/esm2020/lib/models/dictionary/dictionary.mjs +4 -1
- package/esm2020/lib/models/export/export-cell-type.enum.mjs +2 -1
- package/esm2020/lib/models/holding/holding-sale.mjs +7 -1
- package/esm2020/lib/models/holding/holding-type-exchange.mjs +1 -1
- package/esm2020/lib/models/holding/holding.mjs +13 -1
- package/esm2020/lib/models/property/property-sale/property-sale.mjs +1 -1
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
- package/esm2020/lib/services/asset/assets.service.mjs +3 -3
- package/esm2020/lib/services/auth/auth.service.mjs +3 -3
- package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/data.service.mjs +7 -4
- package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
- package/esm2020/lib/services/event/sse.service.mjs +3 -3
- package/esm2020/lib/services/export/export-formatter.service.mjs +9 -6
- package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
- package/esm2020/lib/services/http/address/address.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
- package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +3 -3
- package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document.service.mjs +3 -3
- package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
- package/esm2020/lib/services/http/file/file.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
- package/esm2020/lib/services/http/google/google.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding-sale.service.mjs +6 -6
- package/esm2020/lib/services/http/holding/holding-type.service.mjs +5 -5
- package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/index.mjs +2 -2
- package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property.service.mjs +3 -3
- package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
- package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user.service.mjs +3 -3
- package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
- package/esm2020/lib/services/index.mjs +2 -1
- package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
- package/esm2020/lib/services/json/holding/holding-type-exchange.service.mjs +3 -3
- package/esm2020/lib/services/json/index.mjs +3 -0
- package/esm2020/lib/services/json/tax-exemption/tax-exemption.service.mjs +23 -0
- package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
- package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
- package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
- package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
- package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
- package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
- package/esm2020/lib/services/toast/toast.service.mjs +3 -3
- package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
- package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
- package/esm2020/lib/services/xlsx/xlsx.service.mjs +38 -5
- package/esm2020/lib/tt-core.module.mjs +4 -4
- package/fesm2015/taxtank-core.mjs +582 -376
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +587 -376
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/collection.d.ts +2 -1
- package/lib/collections/exportable.collection.d.ts +1 -0
- package/lib/collections/holding/holding-sale.collection.d.ts +11 -0
- package/lib/collections/{holding-type.collection.d.ts → holding/holding-type.collection.d.ts} +2 -2
- package/lib/collections/holding/holding.collection.d.ts +16 -0
- package/lib/collections/holding/index.d.ts +3 -0
- package/lib/collections/index.d.ts +1 -2
- package/lib/collections/property/property-sale/property-sale.collection.d.ts +8 -1
- package/lib/db/Models/user/user.d.ts +1 -1
- package/lib/forms/holding/holding-sale.form.d.ts +1 -1
- package/lib/forms/holding/holding.form.d.ts +4 -1
- package/lib/models/dictionary/dictionary.d.ts +1 -0
- package/lib/models/export/export-cell-type.enum.d.ts +2 -1
- package/lib/models/holding/holding-sale.d.ts +4 -0
- package/lib/models/holding/holding.d.ts +5 -0
- package/lib/services/data.service.d.ts +4 -1
- package/lib/services/export/export-formatter.service.d.ts +3 -2
- package/lib/services/http/holding/holding-sale.service.d.ts +2 -1
- package/lib/services/http/holding/holding-type.service.d.ts +1 -1
- package/lib/services/http/property/property-sale/index.d.ts +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/json/index.d.ts +2 -0
- package/lib/services/json/tax-exemption/tax-exemption.service.d.ts +12 -0
- package/lib/services/xlsx/xlsx.service.d.ts +6 -0
- package/package.json +1 -1
- package/esm2020/lib/collections/holding-type.collection.mjs +0 -13
- package/esm2020/lib/collections/holding.collection.mjs +0 -31
- package/esm2020/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.mjs +0 -24
- package/lib/collections/holding.collection.d.ts +0 -11
- package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +0 -14
|
@@ -3,7 +3,7 @@ import first from 'lodash/first';
|
|
|
3
3
|
import last from 'lodash/last';
|
|
4
4
|
import get from 'lodash/get';
|
|
5
5
|
import { sort } from '../functions/array';
|
|
6
|
-
import { Dictionary } from '../models';
|
|
6
|
+
import { Dictionary, FinancialYear } from '../models';
|
|
7
7
|
/**
|
|
8
8
|
* Base collection class. Contains common properties and methods for all collections
|
|
9
9
|
*/
|
|
@@ -90,6 +90,9 @@ export class Collection {
|
|
|
90
90
|
filterByRange(path, from, to) {
|
|
91
91
|
return this.filter((item) => get(item, path) >= from && get(item, path) <= to);
|
|
92
92
|
}
|
|
93
|
+
filterByFinancialYear(path, financialYear = new FinancialYear()) {
|
|
94
|
+
return this.filterByRange(path, financialYear.startDate, financialYear.endDate);
|
|
95
|
+
}
|
|
93
96
|
find(callback) {
|
|
94
97
|
return this.items.find(callback);
|
|
95
98
|
}
|
|
@@ -143,4 +146,4 @@ export class Collection {
|
|
|
143
146
|
return this;
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFTckIsWUFBWSxRQUFpQixFQUFFO1FBTC9COztXQUVHO1FBQ0gsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLE9BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUE4QyxFQUFFLElBQUksR0FBRyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IHNvcnQgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xyXG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeX0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbD4gaW1wbGVtZW50cyBJdGVyYWJsZTxNb2RlbD4ge1xyXG4gIC8vIGxpc3Qgb2YgY29sbGVjdGlvbidzIGl0ZW1zXHJcbiAgaXRlbXM6IE1vZGVsW107XHJcblxyXG4gIC8qKlxyXG4gICAqIGluZGV4IG9mIGN1cnJlbnQgaXRlbSwgdXNlZCB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBpbmRleCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBNb2RlbFtdID0gW10pIHtcclxuICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcclxuICAgIC8vIEBUT0RPIEFsZXg6IFRoaW5rIGFuZCBpbXBsZW1lbnQgc29tZSBzbWFydCBzb2x1dGlvbiBmb3IgZGVmYXVsdCBzb3J0XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVyYXRvciB0aGF0IGFsbG93IHRvIGl0ZXJhdGUgY29sbGVjdGlvbiBpdGVtc1xyXG4gICAqL1xyXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPE1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy52YWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZShpdGVtczogTW9kZWxbXSA9IFtdKTogdGhpcyB7XHJcbiAgICByZXR1cm4gbmV3ICh0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSkoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgdG9BcnJheSgpOiBNb2RlbFtdIHtcclxuICAgIHJldHVybiBbLi4udGhpcy5pdGVtc107XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGZpcnN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGxhc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiBNb2RlbCB7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0aGlzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV4Kys7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGJhY2soKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgtLTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBtYXBCeShwYXRoOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogYW55ID0+IGdldChpdGVtLCBwYXRoKSlcclxuICB9XHJcblxyXG4gIHNvcnRCeShmaWVsZCA9ICdpZCcsIGlzRGVzYyA9IHRydWUpOiB0aGlzIHtcclxuICAgIHNvcnQodGhpcy5pdGVtcywgZmllbGQsIGlzRGVzYyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzb3J0KGNhbGxiYWNrOiAoYTogTW9kZWwsIGI6IE1vZGVsKSA9PiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc29ydChjYWxsYmFjayk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdG90YWwgc3VtIG9mIGl0ZW1zIGJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc3VtQnkocGF0aDogc3RyaW5nLCBhYnMgPSBmYWxzZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2UoXHJcbiAgICAgIChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gc3VtICsgKGFicyA/IE1hdGguYWJzKE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKSA6IE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnkocGF0aCA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogRGljdGlvbmFyeTxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBEaWN0aW9uYXJ5KHRoaXMuaXRlbXMsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zLmZpbHRlcihjYWxsYmFjaykpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVzKSA/IHZhbHVlcyA6IFt2YWx1ZXNdKS5pbmNsdWRlcyhnZXQoaXRlbSwgcGF0aCkpKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5UmFuZ2UocGF0aDogc3RyaW5nLCBmcm9tOiBhbnksIHRvOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGdldChpdGVtLCBwYXRoKSA+PSBmcm9tICYmIGdldChpdGVtLCBwYXRoKSA8PSB0byk7XHJcbiAgfVxyXG5cclxuICBmaW5kKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogTW9kZWwgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1vZGVsOiBNb2RlbCkgPT4gdmFsdWUgPT09IGdldChtb2RlbCwgcGF0aCkpO1xyXG4gIH1cclxuXHJcbiAgZmluZEluZGV4QnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbTogTW9kZWwpID0+IGdldChpdGVtLCBwYXRoKSA9PT0gdmFsdWUpID8/IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdXNoKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnB1c2goLi4uaXRlbXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSguLi5pdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5maW5kSW5kZXhCeSgnaWQnLCBpdGVtLmlkKTtcclxuICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAVE9ETyBpdCdzIGZpbHRlciwgbm90IHJlbW92ZVxyXG4gICAqL1xyXG4gIHJlbW92ZUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICEoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgcmVwbGFjZUJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSwgaXRlbTogTW9kZWwpOiB0aGlzIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KHBhdGgsIHZhbHVlKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGluZGV4LCAxLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGRpZmYoaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigobW9kZWw6IE1vZGVsKSA9PiAhaXRlbXMubWFwKChpdGVtOiBNb2RlbCkgPT4gaXRlbS5pZCkuaW5jbHVkZXMobW9kZWwuaWQpKTtcclxuICB9XHJcblxyXG4gIG1pbkJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpIDwgZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIG1heEJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpID4gZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIHJlZHVjZShjYWxsYmFjazogKHN1bTogbnVtYmVyLCBpdGVtOiBNb2RlbCkgPT4gbnVtYmVyLCBpbml0ID0gMCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKGNhbGxiYWNrLCBpbml0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgc2xpY2UoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNsaWNlKGZyb20sIHRvKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsVUFBVSxFQUFFLGFBQWEsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBU3JCLFlBQVksUUFBaUIsRUFBRTtRQUwvQjs7V0FFRztRQUNILFVBQUssR0FBRyxDQUFDLENBQUM7UUFHUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQix1RUFBdUU7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBaUIsRUFBRTtRQUN4QixPQUFPLElBQUssSUFBSSxDQUFDLFdBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxL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QyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IHNvcnQgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xyXG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeSwgRmluYW5jaWFsWWVhcn0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbD4gaW1wbGVtZW50cyBJdGVyYWJsZTxNb2RlbD4ge1xyXG4gIC8vIGxpc3Qgb2YgY29sbGVjdGlvbidzIGl0ZW1zXHJcbiAgaXRlbXM6IE1vZGVsW107XHJcblxyXG4gIC8qKlxyXG4gICAqIGluZGV4IG9mIGN1cnJlbnQgaXRlbSwgdXNlZCB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBpbmRleCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBNb2RlbFtdID0gW10pIHtcclxuICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcclxuICAgIC8vIEBUT0RPIEFsZXg6IFRoaW5rIGFuZCBpbXBsZW1lbnQgc29tZSBzbWFydCBzb2x1dGlvbiBmb3IgZGVmYXVsdCBzb3J0XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVyYXRvciB0aGF0IGFsbG93IHRvIGl0ZXJhdGUgY29sbGVjdGlvbiBpdGVtc1xyXG4gICAqL1xyXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPE1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy52YWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZShpdGVtczogTW9kZWxbXSA9IFtdKTogdGhpcyB7XHJcbiAgICByZXR1cm4gbmV3ICh0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSkoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgdG9BcnJheSgpOiBNb2RlbFtdIHtcclxuICAgIHJldHVybiBbLi4udGhpcy5pdGVtc107XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGZpcnN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGxhc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiBNb2RlbCB7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0aGlzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV4Kys7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGJhY2soKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgtLTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBtYXBCeShwYXRoOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogYW55ID0+IGdldChpdGVtLCBwYXRoKSlcclxuICB9XHJcblxyXG4gIHNvcnRCeShmaWVsZCA9ICdpZCcsIGlzRGVzYyA9IHRydWUpOiB0aGlzIHtcclxuICAgIHNvcnQodGhpcy5pdGVtcywgZmllbGQsIGlzRGVzYyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzb3J0KGNhbGxiYWNrOiAoYTogTW9kZWwsIGI6IE1vZGVsKSA9PiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc29ydChjYWxsYmFjayk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdG90YWwgc3VtIG9mIGl0ZW1zIGJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc3VtQnkocGF0aDogc3RyaW5nLCBhYnMgPSBmYWxzZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2UoXHJcbiAgICAgIChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gc3VtICsgKGFicyA/IE1hdGguYWJzKE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKSA6IE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnkocGF0aCA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogRGljdGlvbmFyeTxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBEaWN0aW9uYXJ5KHRoaXMuaXRlbXMsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zLmZpbHRlcihjYWxsYmFjaykpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVzKSA/IHZhbHVlcyA6IFt2YWx1ZXNdKS5pbmNsdWRlcyhnZXQoaXRlbSwgcGF0aCkpKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5UmFuZ2UocGF0aDogc3RyaW5nLCBmcm9tOiBhbnksIHRvOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGdldChpdGVtLCBwYXRoKSA+PSBmcm9tICYmIGdldChpdGVtLCBwYXRoKSA8PSB0byk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeUZpbmFuY2lhbFllYXIocGF0aDogc3RyaW5nLCBmaW5hbmNpYWxZZWFyOiBGaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnlSYW5nZShwYXRoLCBmaW5hbmNpYWxZZWFyLnN0YXJ0RGF0ZSwgZmluYW5jaWFsWWVhci5lbmREYXRlKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZGlmZihpdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChtb2RlbDogTW9kZWwpID0+ICFpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKS5pbmNsdWRlcyhtb2RlbC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgbWluQnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPCBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgbWF4QnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPiBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQgPSAwKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArdGhpcy5pdGVtcy5yZWR1Y2UoY2FsbGJhY2ssIGluaXQpLnRvRml4ZWQoMik7XHJcbiAgfVxyXG5cclxuICBzbGljZShmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc2xpY2UoZnJvbSwgdG8pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -5,6 +5,13 @@ export class ExportableCollection extends Collection {
|
|
|
5
5
|
getExportFooter(type) {
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
8
|
+
getBodyAoa(exportData) {
|
|
9
|
+
return exportData.body.map(row => {
|
|
10
|
+
return row.map(cell => {
|
|
11
|
+
return cell.value;
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
8
15
|
export(type) {
|
|
9
16
|
return plainToClass(ExportDataTable, {
|
|
10
17
|
header: this.getExportHeader(type),
|
|
@@ -13,4 +20,4 @@ export class ExportableCollection extends Collection {
|
|
|
13
20
|
});
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2V4cG9ydGFibGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckUsTUFBTSxPQUFnQixvQkFBa0QsU0FBUSxVQUFpQjtJQUsvRixlQUFlLENBQUMsSUFBYTtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWE7UUFDbEIsT0FBTyxZQUFZLENBQUMsZUFBZSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwb3J0YWJsZUNvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+IHtcbiAgYWJzdHJhY3QgZ2V0RXhwb3J0SGVhZGVyKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICBhYnN0cmFjdCBnZXRFeHBvcnRCb2R5KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnRDZWxsW11bXTtcblxuICBnZXRFeHBvcnRGb290ZXIodHlwZT86IHN0cmluZyk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZ2V0Qm9keUFvYShleHBvcnREYXRhKTogYW55IHtcbiAgICByZXR1cm4gZXhwb3J0RGF0YS5ib2R5Lm1hcChyb3cgPT4ge1xuICAgICAgcmV0dXJuIHJvdy5tYXAoY2VsbCA9PiB7XG4gICAgICAgIHJldHVybiBjZWxsLnZhbHVlO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZXhwb3J0KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnREYXRhVGFibGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRXhwb3J0RGF0YVRhYmxlLCB7XG4gICAgICBoZWFkZXI6IHRoaXMuZ2V0RXhwb3J0SGVhZGVyKHR5cGUpLFxuICAgICAgYm9keTogdGhpcy5nZXRFeHBvcnRCb2R5KHR5cGUpLFxuICAgICAgZm9vdGVyOiBbdGhpcy5nZXRFeHBvcnRGb290ZXIodHlwZSldXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Collection } from '../collection';
|
|
2
|
+
export class HoldingSaleCollection extends Collection {
|
|
3
|
+
/**
|
|
4
|
+
* @TODO vik remove?
|
|
5
|
+
*/
|
|
6
|
+
get grossCapitalGain() {
|
|
7
|
+
return this.filter((sale) => sale.grossCapitalGain > 0)
|
|
8
|
+
.sumBy('grossCapitalGain');
|
|
9
|
+
}
|
|
10
|
+
get currentYearCapitalLoss() {
|
|
11
|
+
return Math.abs(this.filterByFinancialYear('date').filter((sale) => sale.netCapitalGain < 0).sumBy('grossCapitalGain'));
|
|
12
|
+
}
|
|
13
|
+
get halfExemptionGrossCapitalGain() {
|
|
14
|
+
return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain !== sale.grossCapitalGain).grossCapitalGain;
|
|
15
|
+
}
|
|
16
|
+
get noExemptionGrossCapitalGain() {
|
|
17
|
+
return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain === sale.grossCapitalGain).grossCapitalGain;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXNhbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxVQUF1QjtJQUNoRTs7T0FFRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQzthQUNwRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQzFILENBQUM7SUFFRCxJQUFJLDJCQUEyQjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDMUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtIb2xkaW5nU2FsZSwgUHJvcGVydHlTYWxlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGVDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT4ge1xuICAvKipcbiAgICogQFRPRE8gdmlrIHJlbW92ZT9cbiAgICovXG4gIGdldCBncm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4gPiAwKVxuICAgICAgLnN1bUJ5KCdncm9zc0NhcGl0YWxHYWluJyk7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJDYXBpdGFsTG9zcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmFicyh0aGlzLmZpbHRlckJ5RmluYW5jaWFsWWVhcignZGF0ZScpLmZpbHRlcigoc2FsZSkgPT4gc2FsZS5uZXRDYXBpdGFsR2FpbiA8IDApLnN1bUJ5KCdncm9zc0NhcGl0YWxHYWluJykpO1xuICB9XG5cbiAgZ2V0IGhhbGZFeGVtcHRpb25Hcm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluID4gMCAmJiBzYWxlLm5ldENhcGl0YWxHYWluICE9PSBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4pLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICBnZXQgbm9FeGVtcHRpb25Hcm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluID4gMCAmJiBzYWxlLm5ldENhcGl0YWxHYWluID09PSBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4pLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HoldingTypeCategoryEnum } from '../../db/Enums';
|
|
2
|
+
import { Collection } from '../collection';
|
|
3
|
+
export class HoldingTypeCollection extends Collection {
|
|
4
|
+
getOthers() {
|
|
5
|
+
return this.filterBy('category', [
|
|
6
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
7
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
8
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
9
|
+
HoldingTypeCategoryEnum.OTHER
|
|
10
|
+
]);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXR5cGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxVQUF1QjtJQUNoRSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtZQUMvQix1QkFBdUIsQ0FBQyxXQUFXO1lBQ25DLHVCQUF1QixDQUFDLGNBQWM7WUFDdEMsdUJBQXVCLENBQUMsYUFBYTtZQUNyQyx1QkFBdUIsQ0FBQyxLQUFLO1NBQzlCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1R5cGVDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxIb2xkaW5nVHlwZT4ge1xuICBnZXRPdGhlcnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2NhdGVnb3J5JywgW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { plainToClass } from 'class-transformer';
|
|
2
|
+
import { ExportableCollection } from "../exportable.collection";
|
|
3
|
+
import { ExportCell } from "../../models/export/export-cell";
|
|
4
|
+
import { ExportCellTypeEnum } from "../../models/export/export-cell-type.enum";
|
|
5
|
+
import { HoldingTypeCategoryEnum } from '../../db/Enums';
|
|
6
|
+
export class HoldingCollection extends ExportableCollection {
|
|
7
|
+
getExportHeader() {
|
|
8
|
+
return ['Date', 'Ticker', 'Asset type', 'Qty bought', 'Qty current', 'Buy price/Unit', 'Current price/Unit', 'Total MV', 'Profit/Loss'];
|
|
9
|
+
}
|
|
10
|
+
getExportFooter() {
|
|
11
|
+
return [
|
|
12
|
+
plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
getExportBody() {
|
|
16
|
+
return this.items.map((holding) => {
|
|
17
|
+
return [
|
|
18
|
+
plainToClass(ExportCell, { value: holding.date, type: ExportCellTypeEnum.DATE }),
|
|
19
|
+
plainToClass(ExportCell, {
|
|
20
|
+
value: this.holdingTypesById.get(holding.type.id).name,
|
|
21
|
+
type: ExportCellTypeEnum.STRING
|
|
22
|
+
}),
|
|
23
|
+
plainToClass(ExportCell, { value: holding.type.categoryLabel, type: ExportCellTypeEnum.STRING }),
|
|
24
|
+
plainToClass(ExportCell, { value: holding.quantity, type: ExportCellTypeEnum.STRING }),
|
|
25
|
+
plainToClass(ExportCell, { value: holding.currentQuantity, type: ExportCellTypeEnum.STRING }),
|
|
26
|
+
plainToClass(ExportCell, { value: holding.price, type: ExportCellTypeEnum.CURRENCY }),
|
|
27
|
+
plainToClass(ExportCell, {
|
|
28
|
+
value: this.holdingTypesById.get(holding.type.id).price,
|
|
29
|
+
type: ExportCellTypeEnum.CURRENCY
|
|
30
|
+
}),
|
|
31
|
+
plainToClass(ExportCell, {
|
|
32
|
+
value: holding.getMarketValue(this.holdingTypesById.get(holding.type.id)),
|
|
33
|
+
type: ExportCellTypeEnum.CURRENCY
|
|
34
|
+
}),
|
|
35
|
+
plainToClass(ExportCell, {
|
|
36
|
+
value: holding.getGrowthCoefficient(this.holdingTypesById.get(holding.type.id)),
|
|
37
|
+
type: ExportCellTypeEnum.PERCENT
|
|
38
|
+
}),
|
|
39
|
+
];
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
getShares() {
|
|
43
|
+
return this.filterBy('type.category', HoldingTypeCategoryEnum.STOCK);
|
|
44
|
+
}
|
|
45
|
+
getCryptos() {
|
|
46
|
+
return this.filterBy('type.category', HoldingTypeCategoryEnum.CRYPTO);
|
|
47
|
+
}
|
|
48
|
+
getOthers() {
|
|
49
|
+
return this.filterBy('type.category', [
|
|
50
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
51
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
52
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
53
|
+
HoldingTypeCategoryEnum.OTHER
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
getPurchaseValue() {
|
|
57
|
+
return this.sumBy('purchaseValue');
|
|
58
|
+
}
|
|
59
|
+
getMarketValue(holdingTypesById) {
|
|
60
|
+
return this.items.reduce((sum, holding) => sum + holding.getMarketValue(holdingTypesById.get(holding.type.id)), 0);
|
|
61
|
+
}
|
|
62
|
+
getGrowthCoefficient(holdingTypesById) {
|
|
63
|
+
return this.getMarketValue(holdingTypesById) / this.getPurchaseValue() - 1;
|
|
64
|
+
}
|
|
65
|
+
getUnsold() {
|
|
66
|
+
return this.removeBy('currentQuantity', 0);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2hvbGRpbmcvaG9sZGluZy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUE2QjtJQUlsRSxlQUFlO1FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFJLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztTQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ3pDLE9BQU87Z0JBQ0wsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDOUUsWUFBWSxDQUFDLFVB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R0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0YWJsZUNvbGxlY3Rpb24gfSBmcm9tIFwiLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBIb2xkaW5nLCBIb2xkaW5nVHlwZSB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbFwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248SG9sZGluZz4ge1xuICAvLyBkaWN0aW9uYXJ5IGhvbGRpbmcgdHlwZVxuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdUaWNrZXInLCAnQXNzZXQgdHlwZScsICdRdHkgYm91Z2h0JywgJ1F0eSBjdXJyZW50JywgJ0J1eSBwcmljZS9Vbml0JywgJ0N1cnJlbnQgcHJpY2UvVW5pdCcsICdUb3RhbCBNVicsICdQcm9maXQvTG9zcyddO1xuICB9XG5cbiAgZ2V0RXhwb3J0Rm9vdGVyKCk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6ICcnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgXTtcbiAgfVxuXG4gIGdldEV4cG9ydEJvZHkoKTogRXhwb3J0Q2VsbFtdW10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaG9sZGluZzogSG9sZGluZykgPT4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURX0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkubmFtZSxcbiAgICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnR5cGUuY2F0ZWdvcnlMYWJlbCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnF1YW50aXR5LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IGhvbGRpbmcuY3VycmVudFF1YW50aXR5LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IGhvbGRpbmcucHJpY2UsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkucHJpY2UsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiBob2xkaW5nLmdldE1hcmtldFZhbHVlKHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKSksXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiBob2xkaW5nLmdldEdyb3d0aENvZWZmaWNpZW50KHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKSksXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlBFUkNFTlRcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2hhcmVzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlLmNhdGVnb3J5JywgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uU1RPQ0spO1xuICB9XG5cbiAgZ2V0Q3J5cHRvcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndHlwZS5jYXRlZ29yeScsIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTyk7XG4gIH1cblxuICBnZXRPdGhlcnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUuY2F0ZWdvcnknLCBbXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DT0xMRUNUSUJMRSxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1NUT0NLLFxuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfVU5JVCxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSXG4gICAgXSk7XG4gIH1cblxuICBnZXRQdXJjaGFzZVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3B1cmNoYXNlVmFsdWUnKTtcbiAgfVxuXG4gIGdldE1hcmtldFZhbHVlKGhvbGRpbmdUeXBlc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZ1R5cGU+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBob2xkaW5nOiBIb2xkaW5nKSA9PiBzdW0gKyBob2xkaW5nLmdldE1hcmtldFZhbHVlKGhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLCAwKTtcbiAgfVxuXG4gIGdldEdyb3d0aENvZWZmaWNpZW50KGhvbGRpbmdUeXBlc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZ1R5cGU+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkKSAvIHRoaXMuZ2V0UHVyY2hhc2VWYWx1ZSgpIC0gMTtcbiAgfVxuXG4gIGdldFVuc29sZCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVCeSgnY3VycmVudFF1YW50aXR5JywgMCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './holding.collection';
|
|
2
|
+
export * from './holding-sale.collection';
|
|
3
|
+
export * from './holding-type.collection';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXR5cGUuY29sbGVjdGlvbic7XG4iXX0=
|
|
@@ -29,6 +29,5 @@ export * from './income-source.collection';
|
|
|
29
29
|
export * from './tax-review.collection';
|
|
30
30
|
export * from './user-event-setting.collection';
|
|
31
31
|
export * from './user-event-type-collection';
|
|
32
|
-
export * from './holding
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUUxQix5QkFBeUI7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQFRPRE8gQWxleCBtb3ZlIGhlcmUgYWxsIGNvbGxlY3Rpb25zXG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FuJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zb2xlJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdGF4LXN1bW1hcnknO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuXG4vLyBAVE9ETyBicmVhayB0byBmb2xkZXJzXG5leHBvcnQgKiBmcm9tICcuL2FsbG9jYXRpb24tZ3JvdXAuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5rLWFjY291bnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWFjY291bnRzLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQtaW52aXRlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQtbW92ZW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RlcHJlY2lhdGlvbi1mb3JlY2FzdC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9lbXBsb3llZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW5jb21lLXNvdXJjZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdGF4LXJldmlldy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWV2ZW50LXR5cGUtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmcuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHlwZS5jb2xsZWN0aW9uJztcbiJdfQ==
|
|
32
|
+
export * from './holding';
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUUxQix5QkFBeUI7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAVE9ETyBBbGV4IG1vdmUgaGVyZSBhbGwgY29sbGVjdGlvbnNcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYW4nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3NvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdmVoaWNsZSc7XG5cbi8vIEBUT0RPIGJyZWFrIHRvIGZvbGRlcnNcbmV4cG9ydCAqIGZyb20gJy4vYWxsb2NhdGlvbi1ncm91cC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2JhbmstYWNjb3VudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NsaWVudC1pbnZpdGUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NsaWVudC1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NsaWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGVwcmVjaWF0aW9uLWZvcmVjYXN0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2VtcGxveWVlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9leHBvcnRhYmxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtcmV2aWV3LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWV2ZW50LXNldHRpbmcuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItZXZlbnQtdHlwZS1jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZyc7XG4iXX0=
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
import { Collection } from '../../collection';
|
|
2
2
|
export class PropertySaleCollection extends Collection {
|
|
3
|
+
/**
|
|
4
|
+
* @TODO vik remove?
|
|
5
|
+
*/
|
|
3
6
|
get grossCapitalGain() {
|
|
4
|
-
return this.
|
|
7
|
+
return this.filter((propertySale) => propertySale.grossCapitalGain > 0)
|
|
8
|
+
.sumBy('grossCapitalGain');
|
|
5
9
|
}
|
|
6
10
|
/**
|
|
7
11
|
* Property sales are CGT applicable unless it has "Principle place of residence" exemption type
|
|
8
12
|
*/
|
|
9
13
|
getCGTApplicable() {
|
|
10
|
-
return this.
|
|
14
|
+
return this.filter((propertySale) => propertySale.isCGTApplicable());
|
|
11
15
|
}
|
|
12
16
|
getByPropertyShareIds(ids) {
|
|
13
17
|
return this.filterBy('share.id', ids);
|
|
14
18
|
}
|
|
19
|
+
get currentYearCapitalLoss() {
|
|
20
|
+
return Math.abs(this.filterByFinancialYear('contractDate').filter((sale) => sale.netCapitalGain < 0).sumBy('grossCapitalGain'));
|
|
21
|
+
}
|
|
22
|
+
get fullExemptionGrossCapitalGain() {
|
|
23
|
+
return this.filter((sale) => sale.grossCapitalGain > 0 && sale.netCapitalGain == 0).grossCapitalGain;
|
|
24
|
+
}
|
|
25
|
+
get halfExemptionGrossCapitalGain() {
|
|
26
|
+
return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain != sale.grossCapitalGain).grossCapitalGain;
|
|
27
|
+
}
|
|
28
|
+
get noExemptionGrossCapitalGain() {
|
|
29
|
+
return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain == sale.grossCapitalGain).grossCapitalGain;
|
|
30
|
+
}
|
|
15
31
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5QyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsVUFBd0I7SUFDbEU7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO2FBQ2xGLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxHQUFhO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDbEksQ0FBQztJQUVELElBQUksNkJBQTZCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZHLENBQUM7SUFFRCxJQUFJLDZCQUE2QjtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDekgsQ0FBQztJQUVELElBQUksMkJBQTJCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6SCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbic7XG5pbXBvcnQge0ZpbmFuY2lhbFllYXIsIFByb3BlcnR5U2FsZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2FsZUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5U2FsZT4ge1xuICAvKipcbiAgICogQFRPRE8gdmlrIHJlbW92ZT9cbiAgICovXG4gIGdldCBncm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChwcm9wZXJ0eVNhbGU6IFByb3BlcnR5U2FsZSkgPT4gcHJvcGVydHlTYWxlLmdyb3NzQ2FwaXRhbEdhaW4gPiAwKVxuICAgICAgLnN1bUJ5KCdncm9zc0NhcGl0YWxHYWluJyk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgc2FsZXMgYXJlIENHVCBhcHBsaWNhYmxlIHVubGVzcyBpdCBoYXMgXCJQcmluY2lwbGUgcGxhY2Ugb2YgcmVzaWRlbmNlXCIgZXhlbXB0aW9uIHR5cGVcbiAgICovXG4gIGdldENHVEFwcGxpY2FibGUoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChwcm9wZXJ0eVNhbGU6IFByb3BlcnR5U2FsZSkgPT4gcHJvcGVydHlTYWxlLmlzQ0dUQXBwbGljYWJsZSgpKTtcbiAgfVxuXG4gIGdldEJ5UHJvcGVydHlTaGFyZUlkcyhpZHM6IG51bWJlcltdKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3NoYXJlLmlkJywgaWRzKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckNhcGl0YWxMb3NzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuZmlsdGVyQnlGaW5hbmNpYWxZZWFyKCdjb250cmFjdERhdGUnKS5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPCAwKS5zdW1CeSgnZ3Jvc3NDYXBpdGFsR2FpbicpKTtcbiAgfVxuXG4gIGdldCBmdWxsRXhlbXB0aW9uR3Jvc3NDYXBpdGFsR2FpbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoc2FsZSkgPT4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiBzYWxlLm5ldENhcGl0YWxHYWluID09IDApLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICBnZXQgaGFsZkV4ZW1wdGlvbkdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPiAwICYmIHNhbGUubmV0Q2FwaXRhbEdhaW4gIT0gc2FsZS5ncm9zc0NhcGl0YWxHYWluKS5ncm9zc0NhcGl0YWxHYWluO1xuICB9XG5cbiAgZ2V0IG5vRXhlbXB0aW9uR3Jvc3NDYXBpdGFsR2FpbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoc2FsZSkgPT4gc2FsZS5uZXRDYXBpdGFsR2FpbiA+IDAgJiYgc2FsZS5uZXRDYXBpdGFsR2FpbiA9PSBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4pLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": 1,
|
|
4
|
+
"name": "Apply 50% CGT Discount",
|
|
5
|
+
"description": "50% CGT discount applies when an investment property has been owned for more than 12 months (contract date to contract date). Foreign residents are not eligible",
|
|
6
|
+
"metaFields": []
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"id": 2,
|
|
10
|
+
"name": "Full Exemption (Principle place of residence)",
|
|
11
|
+
"description": "Your 'main residence' (home) is generally exempt from capital gains tax (CGT). You're not entitled to the exemption for a vacant block of land. Foreign residents are also excluded in most circumstances",
|
|
12
|
+
"metaFields": []
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 3,
|
|
16
|
+
"name": "Full Exemption (6 year rule)",
|
|
17
|
+
"description": "You can nominate an investment property as your main residence for up to 6 years if it is used to produce income, or indefinitely if it is not used to produce income. However, you can not treat any other dwelling as your main residence for the same period",
|
|
18
|
+
"metaFields": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": 4,
|
|
22
|
+
"name": "Partial exemption (investment property became your main residence)",
|
|
23
|
+
"description": "The number of days the dwelling was not your main residence, and the total ownership days are used to calculate the taxable portion of any CGT",
|
|
24
|
+
"metaFields": [{ "id": 1, "name": "Total amount of days the property was your main residence" }]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": 5,
|
|
28
|
+
"name": "Main Residence became your 'investment property' or 'home office'",
|
|
29
|
+
"description": "The market value at the time a principle place of residence became an investment property, or is used as a home business, becomes the adjusted cost base. The percentage of home office use (if applicable) is then applied",
|
|
30
|
+
"metaFields": [
|
|
31
|
+
{ "id": 2, "name": "Market Value" },
|
|
32
|
+
{ "id": 2, "name": "Home office percentage claimed" }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": 6,
|
|
37
|
+
"name": "Property transfer (Relationship Breakdown)",
|
|
38
|
+
"description": "If you transfer an asset to your spouse because of a relationship breakdown a 'rollover' generally applies. This means the transferor spouse disregards any capital gain or loss that would otherwise arise",
|
|
39
|
+
"metaFields": []
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": 7,
|
|
43
|
+
"name": "Full exemption (Other)",
|
|
44
|
+
"description": "In some other instances a full exemption may apply, for example pre-CGT assets and some inheritance",
|
|
45
|
+
"metaFields": []
|
|
46
|
+
}
|
|
47
|
+
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { AbstractModel } from '../abstract-model';
|
|
2
2
|
export class User extends AbstractModel {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRCxNQUFNLE9BQU8sSUFBSyxTQUFRLGFBQWE7Q0FzQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlclRpdGxlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItdGl0bGUuZW51bSc7XG5pbXBvcnQgeyBVc2VyU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgVXNlckV2ZW50U2V0dGluZyB9IGZyb20gJy4vdXNlci1ldmVudC1zZXR0aW5nJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vYmFuay9iYW5rLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgVGF4UmV2aWV3IH0gZnJvbSAnLi4vZmlybS9hY2NvdW50YW50L3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFBob25lIH0gZnJvbSAnLi4vcGhvbmUnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgfSBmcm9tICcuLi9maXJtL2NsaWVudC1tb3ZlbWVudCc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzIH0gZnJvbSAnLi4vY2xpZW50L2NsaWVudC1kZXRhaWxzJztcbmltcG9ydCB7IEVtcGxveWVlRGV0YWlscyB9IGZyb20gJy4vZW1wbG95ZWUtZGV0YWlscyc7XG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2Fic3RyYWN0LW1vZGVsJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWRldGFpbHMnO1xuXG5leHBvcnQgY2xhc3MgVXNlciBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBpZD86IG51bWJlcjtcbiAgaW50ZXJjb21JZD86IG51bWJlcjtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGhhc2hlZEVtYWlsPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgdGl0bGU/OiBVc2VyVGl0bGVFbnVtO1xuICBwaG90bz86IHN0cmluZztcbiAgc3RhdHVzPzogVXNlclN0YXR1c0VudW07XG4gIGlzQ29uZmlybWVkPzogYm9vbGVhbjtcbiAgdmVyaWZpY2F0aW9uQ29kZT86IHN0cmluZztcbiAgcmVmZXJlcj86IFVzZXI7XG4gIHJlZmVyZW5jZUNvZGU/OiBzdHJpbmc7XG4gIHJld2FyZGZ1bFJlZmVycmFsS2V5Pzogc3RyaW5nO1xuICBzdHJpcGVJZD86IHN0cmluZztcbiAgYmFzaXFJZD86IHN0cmluZztcbiAgcm9sZXM/
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRCxNQUFNLE9BQU8sSUFBSyxTQUFRLGFBQWE7Q0FzQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlclRpdGxlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItdGl0bGUuZW51bSc7XG5pbXBvcnQgeyBVc2VyU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgVXNlckV2ZW50U2V0dGluZyB9IGZyb20gJy4vdXNlci1ldmVudC1zZXR0aW5nJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vYmFuay9iYW5rLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgVGF4UmV2aWV3IH0gZnJvbSAnLi4vZmlybS9hY2NvdW50YW50L3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFBob25lIH0gZnJvbSAnLi4vcGhvbmUnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgfSBmcm9tICcuLi9maXJtL2NsaWVudC1tb3ZlbWVudCc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzIH0gZnJvbSAnLi4vY2xpZW50L2NsaWVudC1kZXRhaWxzJztcbmltcG9ydCB7IEVtcGxveWVlRGV0YWlscyB9IGZyb20gJy4vZW1wbG95ZWUtZGV0YWlscyc7XG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2Fic3RyYWN0LW1vZGVsJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWRldGFpbHMnO1xuXG5leHBvcnQgY2xhc3MgVXNlciBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBpZD86IG51bWJlcjtcbiAgaW50ZXJjb21JZD86IG51bWJlcjtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGhhc2hlZEVtYWlsPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgdGl0bGU/OiBVc2VyVGl0bGVFbnVtO1xuICBwaG90bz86IHN0cmluZztcbiAgc3RhdHVzPzogVXNlclN0YXR1c0VudW07XG4gIGlzQ29uZmlybWVkPzogYm9vbGVhbjtcbiAgdmVyaWZpY2F0aW9uQ29kZT86IHN0cmluZztcbiAgcmVmZXJlcj86IFVzZXI7XG4gIHJlZmVyZW5jZUNvZGU/OiBzdHJpbmc7XG4gIHJld2FyZGZ1bFJlZmVycmFsS2V5Pzogc3RyaW5nO1xuICBzdHJpcGVJZD86IHN0cmluZztcbiAgYmFzaXFJZD86IHN0cmluZztcbiAgcm9sZXM/OiBVc2VyUm9sZXNFbnVtW107XG4gIGZpbmFuY2lhbFllYXI/OiBudW1iZXI7XG4gIGRhdGVPZkJpcnRoPzogRGF0ZTtcbiAgbGFzdFNlZW4/OiBEYXRlO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBwcm9wZXJ0aWVzPzogUHJvcGVydHlbXTtcbiAgcHJvcGVydHlTdWJzY3JpcHRpb25zPzogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcbiAgc3Vic2NyaXB0aW9ucz86IFNlcnZpY2VTdWJzY3JpcHRpb25bXTtcbiAgZXZlbnRTZXR0aW5ncz86IFVzZXJFdmVudFNldHRpbmdbXTtcbiAgYmFua0Nvbm5lY3Rpb25zPzogQmFua0Nvbm5lY3Rpb25bXTtcbiAgdGF4UmV2aWV3cz86IFRheFJldmlld1tdO1xuICBwcm9wZXJ0eVNoYXJlcz86IFByb3BlcnR5U2hhcmVbXTtcbiAgYWRkcmVzcz86IEFkZHJlc3M7XG4gIHBob25lPzogUGhvbmU7XG4gIGNsaWVudE1vdmVtZW50cz86IENsaWVudE1vdmVtZW50W107XG4gIGNsaWVudERldGFpbHM/OiBDbGllbnREZXRhaWxzO1xuICBlbXBsb3llZURldGFpbHM/OiBFbXBsb3llZURldGFpbHM7XG4gIHNvbGVEZXRhaWxzPzogU29sZURldGFpbHM7XG59XG4iXX0=
|
|
@@ -11,7 +11,7 @@ export class HoldingSaleForm extends AbstractForm {
|
|
|
11
11
|
price: new UntypedFormControl(sale.price || type.price, Validators.required),
|
|
12
12
|
fee: new UntypedFormControl(sale.fee, Validators.required),
|
|
13
13
|
date: new UntypedFormControl(sale.date, Validators.required),
|
|
14
|
-
|
|
14
|
+
totalCapitalGain: new UntypedFormControl({ value: sale.totalCapitalGain, disabled: true }),
|
|
15
15
|
netCapitalGain: new UntypedFormControl({ value: sale.netCapitalGain, disabled: true }),
|
|
16
16
|
file: new UntypedFormControl(sale.file)
|
|
17
17
|
}, sale);
|
|
@@ -29,16 +29,15 @@ export class HoldingSaleForm extends AbstractForm {
|
|
|
29
29
|
return super.submit({}, true);
|
|
30
30
|
}
|
|
31
31
|
updateGainFields(date, price, quantity, fee) {
|
|
32
|
-
const
|
|
33
|
-
this.get('
|
|
34
|
-
this.get('netCapitalGain').setValue(this.calculateNetCapitalGain(
|
|
32
|
+
const totalCapitalGain = this.calculateTotalCapitalGain(price, quantity, fee);
|
|
33
|
+
this.get('totalCapitalGain').setValue(totalCapitalGain);
|
|
34
|
+
this.get('netCapitalGain').setValue(this.calculateNetCapitalGain(totalCapitalGain, date));
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return capitalGain < 0 ? 0 : capitalGain;
|
|
36
|
+
calculateTotalCapitalGain(price, quantity, fee) {
|
|
37
|
+
return round((price - this.holding.price) * quantity - this.holding.fee - fee, 2);
|
|
39
38
|
}
|
|
40
|
-
calculateNetCapitalGain(
|
|
41
|
-
let netCapitalGain = (
|
|
39
|
+
calculateNetCapitalGain(totalCapitalGain, date) {
|
|
40
|
+
let netCapitalGain = (totalCapitalGain * this.holding.ownershipPercent) / 100;
|
|
42
41
|
if (this.isOneYearExemptionApplicable(netCapitalGain, date)) {
|
|
43
42
|
netCapitalGain = netCapitalGain / 2;
|
|
44
43
|
}
|
|
@@ -48,4 +47,4 @@ export class HoldingSaleForm extends AbstractForm {
|
|
|
48
47
|
return netCapitalGain > 0 && moment(date).diff(moment(this.holding.date), 'year') > 0;
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXNhbGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUFZLElBQWlCLEVBQVUsT0FBZ0IsRUFBRSxJQUFpQjtRQUN4RSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hJLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVFLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMxRCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7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b2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSG9sZGluZywgSG9sZGluZ1NhbGUsIEhvbGRpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBncmVhdGVyVGhhblZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEhvbGRpbmdTYWxlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3Ioc2FsZTogSG9sZGluZ1NhbGUsIHByaXZhdGUgaG9sZGluZzogSG9sZGluZywgdHlwZTogSG9sZGluZ1R5cGUpIHtcbiAgICBzdXBlcih7XG4gICAgICBxdWFudGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLnF1YW50aXR5LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXgoaG9sZGluZy5jdXJyZW50UXVhbnRpdHkpLCBncmVhdGVyVGhhblZhbGlkYXRvcigwKV0pLFxuICAgICAgcHJpY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc2FsZS5wcmljZSB8fCB0eXBlLnByaWNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGZlZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLmZlZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZGF0ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB0b3RhbENhcGl0YWxHYWluOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogc2FsZS50b3RhbENhcGl0YWxHYWluLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgbmV0Q2FwaXRhbEdhaW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBzYWxlLm5ldENhcGl0YWxHYWluLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgZmlsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLmZpbGUpXG4gICAgfSwgc2FsZSk7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICAgIHRoaXMuZW1pdFZhbHVlcygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoWydkYXRlJywgJ3ByaWNlJywgJ3F1YW50aXR5JywgJ2ZlZSddLm1hcCgoZmllbGQpID0+IHRoaXMuZ2V0KGZpZWxkKS52YWx1ZUNoYW5nZXMpKVxuICAgICAgLnN1YnNjcmliZSgoW2RhdGUsIHByaWNlLCBxdWFudGl0eSwgZmVlXSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUdhaW5GaWVsZHMoZGF0ZSwgcHJpY2UsIHF1YW50aXR5LCBmZWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWJtaXQoKTogSG9sZGluZ1NhbGUge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoe30sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVHYWluRmllbGRzKGRhdGU6IERhdGUsIHByaWNlOiBudW1iZXIsIHF1YW50aXR5OiBudW1iZXIsIGZlZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdG90YWxDYXBpdGFsR2FpbiA9IHRoaXMuY2FsY3VsYXRlVG90YWxDYXBpdGFsR2FpbihwcmljZSwgcXVhbnRpdHksIGZlZSk7XG5cbiAgICB0aGlzLmdldCgndG90YWxDYXBpdGFsR2FpbicpLnNldFZhbHVlKHRvdGFsQ2FwaXRhbEdhaW4pO1xuICAgIHRoaXMuZ2V0KCduZXRDYXBpdGFsR2FpbicpLnNldFZhbHVlKHRoaXMuY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4odG90YWxDYXBpdGFsR2FpbiwgZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUb3RhbENhcGl0YWxHYWluKHByaWNlOiBudW1iZXIsIHF1YW50aXR5OiBudW1iZXIsIGZlZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQoKHByaWNlIC0gdGhpcy5ob2xkaW5nLnByaWNlKSAqIHF1YW50aXR5IC0gdGhpcy5ob2xkaW5nLmZlZSAtIGZlZSwgMik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHRvdGFsQ2FwaXRhbEdhaW46IG51bWJlciwgZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgbGV0IG5ldENhcGl0YWxHYWluID0gKHRvdGFsQ2FwaXRhbEdhaW4gKiB0aGlzLmhvbGRpbmcub3duZXJzaGlwUGVyY2VudCkgLyAxMDA7XG5cbiAgICBpZiAodGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKG5ldENhcGl0YWxHYWluLCBkYXRlKSkge1xuICAgICAgbmV0Q2FwaXRhbEdhaW4gPSBuZXRDYXBpdGFsR2FpbiAvIDI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdW5kKG5ldENhcGl0YWxHYWluLCAyKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShuZXRDYXBpdGFsR2FpbjogbnVtYmVyLCBkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5ldENhcGl0YWxHYWluID4gMCAmJiBtb21lbnQoZGF0ZSkuZGlmZihtb21lbnQodGhpcy5ob2xkaW5nLmRhdGUpLCAneWVhcicpID4gMDtcbiAgfVxufVxuIl19
|
|
@@ -4,6 +4,7 @@ import { greaterThanValidator } from '../../validators';
|
|
|
4
4
|
export class HoldingForm extends AbstractForm {
|
|
5
5
|
constructor(holding) {
|
|
6
6
|
super({
|
|
7
|
+
category: new UntypedFormControl(holding.category),
|
|
7
8
|
isTaxFree: new UntypedFormControl(holding.isTaxFree, Validators.required),
|
|
8
9
|
quantity: new UntypedFormControl(holding.quantity, [Validators.required, greaterThanValidator(0)]),
|
|
9
10
|
price: new UntypedFormControl(holding.price, [Validators.required, Validators.min(0)]),
|
|
@@ -13,6 +14,15 @@ export class HoldingForm extends AbstractForm {
|
|
|
13
14
|
ownershipPercent: new UntypedFormControl(holding.ownershipPercent || 100, Validators.required),
|
|
14
15
|
file: new UntypedFormControl(holding.file)
|
|
15
16
|
}, holding);
|
|
17
|
+
this.listenEvents();
|
|
18
|
+
}
|
|
19
|
+
listenEvents() {
|
|
20
|
+
this.get('category').valueChanges.subscribe((category) => {
|
|
21
|
+
this.get('type').setValue(null);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
submit(data = {}, includeDisabledFields = false) {
|
|
25
|
+
return super.submit(data, includeDisabledFields);
|
|
16
26
|
}
|
|
17
27
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2hvbGRpbmcvaG9sZGluZy5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxPQUFPLFdBQVksU0FBUSxZQUFxQjtJQUNwRCxZQUNFLE9BQWdCO1FBRWhCLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDbEQsU0FBUyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3pFLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEcsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0QsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELGdCQUFnQixFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzlGLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDM0MsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZSxFQUFFLEVBQUUsd0JBQWlDLEtBQUs7UUFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEhvbGRpbmcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7SG9sZGluZ1R5cGVDYXRlZ29yeUVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IGdyZWF0ZXJUaGFuVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxIb2xkaW5nPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgaG9sZGluZzogSG9sZGluZ1xuICApIHtcbiAgICBzdXBlcih7XG4gICAgICBjYXRlZ29yeTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nLmNhdGVnb3J5KSxcbiAgICAgIGlzVGF4RnJlZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nLmlzVGF4RnJlZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBxdWFudGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nLnF1YW50aXR5LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgZ3JlYXRlclRoYW5WYWxpZGF0b3IoMCldKSxcbiAgICAgIHByaWNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmcucHJpY2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKV0pLFxuICAgICAgZmVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmcuZmVlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCldKSxcbiAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaG9sZGluZy5kYXRlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaG9sZGluZy50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG93bmVyc2hpcFBlcmNlbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaG9sZGluZy5vd25lcnNoaXBQZXJjZW50IHx8IDEwMCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmcuZmlsZSlcbiAgICB9LCBob2xkaW5nKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2NhdGVnb3J5JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2F0ZWdvcnk6IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtKSA9PiB7XG4gICAgICB0aGlzLmdldCgndHlwZScpLnNldFZhbHVlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHM6IGJvb2xlYW4gPSBmYWxzZSk6IEhvbGRpbmcge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSwgaW5jbHVkZURpc2FibGVkRmllbGRzKTtcbiAgfVxufVxuIl19
|
|
@@ -23,9 +23,9 @@ export class BasiqClientIdInterceptor {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
27
|
-
BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
26
|
+
BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: i1.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqClientIdInterceptor });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
|
|
29
29
|
type: Injectable
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i1.UserService }]; } });
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtY2xpZW50LWlkLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9iYXNpcS1jbGllbnQtaWQuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFHekU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ1UsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELCtEQUErRDtRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxhQUFhLENBQUMsRUFBRTtZQUNyRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUN4QyxRQUFRLENBQUMsQ0FBQyxhQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBNkIsRUFBRSxhQUFxQjtRQUNoRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbkIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBckJVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNpcVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIHdoaWNoIGNoZWNrIGlmIGNsaWVudCdzIGJhc2lxIGlkIGV4aXN0IGFuZCByZXF1ZXN0IGl0IGlmIG5vdFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmFzaXFDbGllbnRJZEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICAvLyBDaGVjayBpZiAnY2xpZW50IGlkJyBVUkwgc2VnbWVudCBjb250YWlucyBudWxsIGluc3RlYWQgb2YgaWRcbiAgICBpZiAoIXJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS91c2Vycy9udWxsYCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZUJhc2lxKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKChiYXNpcUNsaWVudElkOiBzdHJpbmcpID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkSWQocmVxdWVzdCwgYmFzaXFDbGllbnRJZCkpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZElkKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBiYXNpcUNsaWVudElkOiBzdHJpbmcpOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgdXJsOiByZXF1ZXN0LnVybC5yZXBsYWNlKCdudWxsJywgYmFzaXFDbGllbnRJZClcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -25,9 +25,9 @@ export class BasiqTokenInterceptor {
|
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
29
|
-
BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
28
|
+
BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: i1.BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqTokenInterceptor });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
|
|
31
31
|
type: Injectable
|
|
32
32
|
}], ctorParameters: function () { return [{ type: i1.BasiqTokenService }]; } });
|
|
33
33
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtdG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJjZXB0b3JzL2Jhc2lxLXRva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBRXpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN4RCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQzVDLFFBQVEsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUE2QixFQUFFLEtBQWlCO1FBQy9ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSzthQUN2QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXhCVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEJhc2lxVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaXFTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIHdoaWNoIGFkZHMgdXNlcidzIGJhc2lxIHRva2VuIHRvIGFueSBodHRwIHJlcXVlc3QgdG8gYmFzaXEgYXBpXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpcVRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYmFzaXFUb2tlblNlcnZpY2U6IEJhc2lxVG9rZW5TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgLy8gc2tpcCBub24tYmFzaXEgcmVxdWVzdHNcbiAgICBpZiAoIXJlcXVlc3QudXJsLmluY2x1ZGVzKEJhc2lxU2VydmljZS5iYXNpcUFwaVVybCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNpcVRva2VuU2VydmljZS5nZXRTaW5nbGUoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHRva2VuOiBCYXNpcVRva2VuKSA9PiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QsIHRva2VuKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIHRva2VuOiBCYXNpcVRva2VuKTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdG9rZW4udmFsdWVcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -30,9 +30,9 @@ export class CorelogicInterceptor {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
34
|
-
CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
33
|
+
CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CorelogicInterceptor });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CorelogicInterceptor, decorators: [{
|
|
36
36
|
type: Injectable
|
|
37
37
|
}], ctorParameters: function () { return [{ type: i1.CorelogicService }, { type: undefined, decorators: [{
|
|
38
38
|
type: Inject,
|
|
@@ -31,9 +31,9 @@ export class FinancialYearInterceptor {
|
|
|
31
31
|
return next.handle(clonedReq);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
35
|
-
FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
34
|
+
FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FinancialYearInterceptor });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
|
|
37
37
|
type: Injectable
|
|
38
38
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
39
39
|
type: Inject,
|
|
@@ -10,9 +10,9 @@ import { BasiqClientIdInterceptor } from './basiq-client-id.interceptor';
|
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class InterceptorsModule {
|
|
12
12
|
}
|
|
13
|
-
InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
14
|
-
InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
15
|
-
InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
13
|
+
InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: InterceptorsModule });
|
|
15
|
+
InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InterceptorsModule, providers: [
|
|
16
16
|
{
|
|
17
17
|
provide: HTTP_INTERCEPTORS,
|
|
18
18
|
useClass: CorelogicInterceptor,
|
|
@@ -50,7 +50,7 @@ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
|
|
|
50
50
|
multi: true
|
|
51
51
|
}
|
|
52
52
|
] });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InterceptorsModule, decorators: [{
|
|
54
54
|
type: NgModule,
|
|
55
55
|
args: [{
|
|
56
56
|
providers: [
|