taxtank-core 0.16.13 → 0.17.0
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/bundles/taxtank-core.umd.js +124 -140
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/bank-transaction.collection.js +1 -1
- package/esm2015/lib/collections/depreciation.collection.js +2 -2
- package/esm2015/lib/collections/exportable.collection.js +17 -0
- package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -0
- package/esm2015/lib/collections/loan/loan.collection.js +18 -0
- package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +1 -1
- package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
- package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -0
- package/esm2015/lib/collections/transaction/transaction.collection.js +167 -0
- package/esm2015/lib/models/bank/bank-transaction.js +1 -1
- package/esm2015/lib/models/export/export-cell-type.enum.js +10 -0
- package/esm2015/lib/models/export/export-cell.js +6 -0
- package/esm2015/lib/models/export/export-data-table.js +1 -7
- package/esm2015/lib/models/income-source/income-source-chart-data.js +1 -1
- package/esm2015/lib/models/loan/loan-payment.js +2 -24
- package/esm2015/lib/models/logbook/vehicle-claim.js +1 -1
- package/esm2015/lib/models/property/property-equity-chart-data.js +1 -1
- package/esm2015/lib/models/report/property/property-report-item-transaction.js +1 -1
- package/esm2015/lib/models/transaction/transaction.js +1 -1
- package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +1 -1
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +1 -1
- package/esm2015/lib/services/export/export-formatter.service.js +31 -0
- package/esm2015/lib/services/pdf/pdf.service.js +9 -4
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +1 -1
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +2 -2
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +2 -2
- package/esm2015/public-api.js +7 -10
- package/fesm2015/taxtank-core.js +105 -129
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/bank-transaction.collection.d.ts +1 -1
- package/lib/collections/depreciation.collection.d.ts +1 -1
- package/lib/collections/exportable.collection.d.ts +9 -0
- package/lib/collections/loan/loan-payment.collection.d.ts +7 -0
- package/lib/collections/{loan.collection.d.ts → loan/loan.collection.d.ts} +2 -2
- package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +1 -1
- package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
- package/lib/collections/{transaction-allocation.collection.d.ts → transaction/transaction-allocation.collection.d.ts} +6 -6
- package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts} +9 -5
- package/lib/models/bank/bank-transaction.d.ts +1 -1
- package/lib/models/export/export-cell-type.enum.d.ts +8 -0
- package/lib/models/export/export-cell.d.ts +8 -0
- package/lib/models/export/export-data-table.d.ts +3 -2
- package/lib/models/income-source/income-source-chart-data.d.ts +1 -1
- package/lib/models/loan/loan-payment.d.ts +1 -5
- package/lib/models/logbook/vehicle-claim.d.ts +1 -1
- package/lib/models/property/property-equity-chart-data.d.ts +1 -1
- package/lib/models/report/property/property-report-item-transaction.d.ts +1 -1
- package/lib/models/transaction/transaction.d.ts +1 -1
- package/lib/services/bank/bank-account-calculation.service.d.ts +1 -1
- package/lib/services/bank/bank-transaction-calculation.service.d.ts +1 -1
- package/lib/services/export/export-formatter.service.d.ts +11 -0
- package/lib/services/pdf/pdf.service.d.ts +3 -0
- package/lib/services/property/property-calculation/property-calculation.service.d.ts +2 -2
- package/lib/services/report/property/property-transaction-report.service.d.ts +1 -1
- package/lib/services/transaction/transaction-calculation.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +6 -9
- package/esm2015/lib/collections/loan.collection.js +0 -18
- package/esm2015/lib/collections/transaction-allocation.collection.js +0 -40
- package/esm2015/lib/collections/transaction.collection.js +0 -143
- package/esm2015/lib/interfaces/exportable.interface.js +0 -2
- package/esm2015/lib/services/data-table/data-table.service.js +0 -47
- package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +0 -53
- package/lib/interfaces/exportable.interface.d.ts +0 -9
- package/lib/services/data-table/data-table.service.d.ts +0 -19
- package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +0 -24
|
@@ -4,7 +4,7 @@ import { IncomeSource } from '../models/income-source/income-source';
|
|
|
4
4
|
import { BankAccount } from '../models/bank/bank-account';
|
|
5
5
|
import { Collection } from './collection';
|
|
6
6
|
import { CollectionDictionary } from './collection-dictionary';
|
|
7
|
-
import { TransactionAllocationCollection } from './transaction-allocation.collection';
|
|
7
|
+
import { TransactionAllocationCollection } from './transaction/transaction-allocation.collection';
|
|
8
8
|
/**
|
|
9
9
|
* Collection of bank transactions.
|
|
10
10
|
* IMPORTANT: Create this collection based on bank transactions from TransactionAllocationService
|
|
@@ -2,7 +2,7 @@ import { TankTypeEnum } from '../db/Enums/tank-type.enum';
|
|
|
2
2
|
import { Collection } from './collection';
|
|
3
3
|
import { Depreciation } from '../models/depreciation/depreciation';
|
|
4
4
|
import { DepreciationCapitalProject } from '../models/depreciation/depreciation-capital-project';
|
|
5
|
-
import { TransactionCollection } from './transaction.collection';
|
|
5
|
+
import { TransactionCollection } from './transaction/transaction.collection';
|
|
6
6
|
import { ChartAccountsCategoryEnum } from '../db/Enums/chart-accounts-category.enum';
|
|
7
7
|
export declare class DepreciationCollection extends Collection<Depreciation> {
|
|
8
8
|
/**
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Collection } from './collection';
|
|
2
|
+
import { ExportDataTable } from '../models/export/export-data-table';
|
|
3
|
+
import { ExportCell } from '../models/export/export-cell';
|
|
4
|
+
export declare abstract class ExportableCollection<Model extends object> extends Collection<Model> {
|
|
5
|
+
abstract getExportHeader(type?: string): string[];
|
|
6
|
+
abstract getExportBody(type?: string): ExportCell[][];
|
|
7
|
+
getExportFooter(type?: string): ExportCell[];
|
|
8
|
+
export(type?: string): ExportDataTable;
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExportableCollection } from '../exportable.collection';
|
|
2
|
+
import { ExportCell } from '../../models/export/export-cell';
|
|
3
|
+
import { LoanPayment } from '../../models/loan/loan-payment';
|
|
4
|
+
export declare class LoanPaymentCollection extends ExportableCollection<LoanPayment> {
|
|
5
|
+
getExportHeader(): string[];
|
|
6
|
+
getExportBody(): ExportCell[][];
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Collection } from '
|
|
2
|
-
import { Loan } from '
|
|
1
|
+
import { Collection } from '../collection';
|
|
2
|
+
import { Loan } from '../../models/loan/loan';
|
|
3
3
|
export declare class LoanCollection extends Collection<Loan> {
|
|
4
4
|
/**
|
|
5
5
|
* Get new collection of loans filtered by bank accounts ids
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection } from '../../collection';
|
|
2
|
-
import { TransactionCollection } from '../../transaction.collection';
|
|
2
|
+
import { TransactionCollection } from '../../transaction/transaction.collection';
|
|
3
3
|
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
4
4
|
import { PropertyReportItemCollection } from './property-report-item.collection';
|
|
5
5
|
import { PropertyCollection } from '../../property/property.collection';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection } from '../../collection';
|
|
2
2
|
import { VehicleExpense } from '../../../models/report/vehicle-expense/vehicle-expense';
|
|
3
|
-
import { TransactionCollection } from '../../transaction.collection';
|
|
3
|
+
import { TransactionCollection } from '../../transaction/transaction.collection';
|
|
4
4
|
import { DepreciationCollection } from '../../depreciation.collection';
|
|
5
5
|
import { VehicleClaim } from '../../../models/logbook/vehicle-claim';
|
|
6
6
|
export declare class VehicleExpenseCollection extends Collection<VehicleExpense> {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Collection } from '
|
|
2
|
-
import { TransactionAllocation } from '
|
|
3
|
-
import { BankTransactionCollection } from '
|
|
4
|
-
import { CollectionDictionary } from '
|
|
5
|
-
import { Transaction } from '
|
|
6
|
-
import { BankTransaction } from '
|
|
1
|
+
import { Collection } from '../collection';
|
|
2
|
+
import { TransactionAllocation } from '../../models/transaction/transaction-allocation';
|
|
3
|
+
import { BankTransactionCollection } from '../bank-transaction.collection';
|
|
4
|
+
import { CollectionDictionary } from '../collection-dictionary';
|
|
5
|
+
import { Transaction } from '../../models/transaction/transaction';
|
|
6
|
+
import { BankTransaction } from '../../models/bank/bank-transaction';
|
|
7
7
|
export declare class TransactionAllocationCollection extends Collection<TransactionAllocation> {
|
|
8
8
|
get amount(): number;
|
|
9
9
|
getByTransactionsIds(ids: number[]): TransactionAllocationCollection;
|
package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts}
RENAMED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Transaction } from '../models/transaction/transaction';
|
|
1
|
+
import { Transaction } from '../../models/transaction/transaction';
|
|
3
2
|
import { TransactionAllocationCollection } from './transaction-allocation.collection';
|
|
4
|
-
import { ChartAccountsCategoryEnum } from '
|
|
5
|
-
import { TankTypeEnum } from '
|
|
3
|
+
import { ChartAccountsCategoryEnum } from '../../db/Enums/chart-accounts-category.enum';
|
|
4
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
|
5
|
+
import { ExportCell } from '../../models/export/export-cell';
|
|
6
|
+
import { ExportableCollection } from '../exportable.collection';
|
|
6
7
|
/**
|
|
7
8
|
* Collection of transactions
|
|
8
9
|
*/
|
|
9
|
-
export declare class TransactionCollection extends
|
|
10
|
+
export declare class TransactionCollection extends ExportableCollection<Transaction> {
|
|
10
11
|
/**
|
|
11
12
|
* Get total amount of all transactions in the collection
|
|
12
13
|
*/
|
|
@@ -77,4 +78,7 @@ export declare class TransactionCollection extends Collection<Transaction> {
|
|
|
77
78
|
* Get new transaction collection filtered by tank type
|
|
78
79
|
*/
|
|
79
80
|
getByTankType(tankType: TankTypeEnum): this;
|
|
81
|
+
getExportHeader(): string[];
|
|
82
|
+
getExportFooter(): ExportCell[];
|
|
83
|
+
getExportBody(): ExportCell[][];
|
|
80
84
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BankTransaction as BankTransactionBase } from '../../db/Models/bank/bank-transaction';
|
|
2
2
|
import { TransactionOperationEnum } from '../../db/Enums/transaction-operation.enum';
|
|
3
3
|
import { Transaction } from '../transaction/transaction';
|
|
4
|
-
import { TransactionAllocationCollection } from '../../collections/transaction-allocation.collection';
|
|
4
|
+
import { TransactionAllocationCollection } from '../../collections/transaction/transaction-allocation.collection';
|
|
5
5
|
export declare class BankTransaction extends BankTransactionBase {
|
|
6
6
|
allocatedAmount: number;
|
|
7
7
|
unallocatedAmount: number;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Data table structure suitable for export
|
|
3
3
|
*/
|
|
4
|
+
import { ExportCell } from './export-cell';
|
|
4
5
|
export declare class ExportDataTable {
|
|
5
6
|
caption?: string;
|
|
6
7
|
header: string[];
|
|
7
|
-
|
|
8
|
-
footer:
|
|
8
|
+
body: ExportCell[][];
|
|
9
|
+
footer: ExportCell[][];
|
|
9
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransactionCollection } from '../../collections/transaction.collection';
|
|
1
|
+
import { TransactionCollection } from '../../collections/transaction/transaction.collection';
|
|
2
2
|
import { IChartData } from '../../interfaces/chart-data.interface';
|
|
3
3
|
/**
|
|
4
4
|
* Income sources chart data
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { DataTableExportable } from '../../interfaces/table-exportable.interface';
|
|
2
|
-
import { ExportRow } from '../export/export-row';
|
|
3
|
-
export declare const EXPORT_DATA_TABLE_COLUMNS: string[];
|
|
4
1
|
/**
|
|
5
2
|
* Loan payment class
|
|
6
3
|
*/
|
|
7
|
-
export declare class LoanPayment
|
|
4
|
+
export declare class LoanPayment {
|
|
8
5
|
date: Date;
|
|
9
6
|
interestAccrued: number;
|
|
10
7
|
interestBalance: number;
|
|
@@ -14,5 +11,4 @@ export declare class LoanPayment implements DataTableExportable {
|
|
|
14
11
|
principalPaid: number;
|
|
15
12
|
payout: number;
|
|
16
13
|
totalOwed: number;
|
|
17
|
-
toDataTableRows(): ExportRow[];
|
|
18
14
|
}
|
|
@@ -2,7 +2,7 @@ import { VehicleClaim as VehicleClaimBase } from '../../db/Models/vehicle/vehicl
|
|
|
2
2
|
import { VehicleClaimMethodEnum } from '../../db/Enums/vehicle-claim-method.enum';
|
|
3
3
|
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
|
4
4
|
import { Transaction } from '../transaction/transaction';
|
|
5
|
-
import { TransactionCollection } from '../../collections/transaction.collection';
|
|
5
|
+
import { TransactionCollection } from '../../collections/transaction/transaction.collection';
|
|
6
6
|
export declare class VehicleClaim extends VehicleClaimBase {
|
|
7
7
|
kmsLimit: number;
|
|
8
8
|
financialYear: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PropertyEquityChartItem } from './property-equity-chart-item';
|
|
2
2
|
import { PropertyCollection } from '../../collections/property/property.collection';
|
|
3
3
|
import { BankAccountCollection } from '../../collections/bank-account.collection';
|
|
4
|
-
import { LoanCollection } from '../../collections/loan.collection';
|
|
4
|
+
import { LoanCollection } from '../../collections/loan/loan.collection';
|
|
5
5
|
import { PropertyEquityChartTypeEnum } from './property-equity-chart-type.enum';
|
|
6
6
|
import { Property } from './property';
|
|
7
7
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PropertyReportItem } from './property-report-item';
|
|
2
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
2
|
+
import { TransactionCollection } from '../../../collections/transaction/transaction.collection';
|
|
3
3
|
import { Property } from '../../property/property';
|
|
4
4
|
import { ChartAccounts } from '../../chart-accounts/chart-accounts';
|
|
5
5
|
/**
|
|
@@ -9,7 +9,7 @@ import { TransactionMetadata } from './transaction-metadata';
|
|
|
9
9
|
import { Loan } from '../loan/loan';
|
|
10
10
|
import { TransactionAllocation } from './transaction-allocation';
|
|
11
11
|
import { IReceipt } from '../../interfaces/receipt.interface';
|
|
12
|
-
import { TransactionAllocationCollection } from '../../collections/transaction-allocation.collection';
|
|
12
|
+
import { TransactionAllocationCollection } from '../../collections/transaction/transaction-allocation.collection';
|
|
13
13
|
import { Depreciation } from '../depreciation/depreciation';
|
|
14
14
|
import { Expense } from '../../interfaces/expense.interface';
|
|
15
15
|
export declare class Transaction extends TransactionBase implements Expense, IReceipt {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BankAccountCollection } from '../../collections/bank-account.collection';
|
|
2
2
|
import { BankTransactionCollection } from '../../collections/bank-transaction.collection';
|
|
3
|
-
import { TransactionAllocationCollection } from '../../collections/transaction-allocation.collection';
|
|
3
|
+
import { TransactionAllocationCollection } from '../../collections/transaction/transaction-allocation.collection';
|
|
4
4
|
import { BankTransactionCalculationService } from './bank-transaction-calculation.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class BankAccountCalculationService {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BankTransactionCollection } from '../../collections/bank-transaction.collection';
|
|
2
2
|
import { BankTransaction } from '../../models/bank/bank-transaction';
|
|
3
|
-
import { TransactionAllocationCollection } from '../../collections/transaction-allocation.collection';
|
|
3
|
+
import { TransactionAllocationCollection } from '../../collections/transaction/transaction-allocation.collection';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* @TODO move to collection
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ExportCell } from '../../models/export/export-cell';
|
|
2
|
+
import { CurrencyPipe, DatePipe } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ExportFormatterService {
|
|
5
|
+
private currencyPipe;
|
|
6
|
+
private datePipe;
|
|
7
|
+
constructor(currencyPipe: CurrencyPipe, datePipe: DatePipe);
|
|
8
|
+
format(rows: ExportCell[][]): string[][];
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ExportFormatterService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ExportFormatterService>;
|
|
11
|
+
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ExportDataTable } from '../../models/export/export-data-table';
|
|
2
2
|
import { PdfSettings } from '../../models/pdf/pdf-settings';
|
|
3
|
+
import { ExportFormatterService } from '../export/export-formatter.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class PdfService {
|
|
6
|
+
private formatter;
|
|
7
|
+
constructor(formatter: ExportFormatterService);
|
|
5
8
|
/**
|
|
6
9
|
* Export file from provided HTML tables
|
|
7
10
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { BankAccountCollection } from '../../../collections/bank-account.collection';
|
|
3
3
|
import { DepreciationCollection } from '../../../collections/depreciation.collection';
|
|
4
|
-
import { LoanCollection } from '../../../collections/loan.collection';
|
|
4
|
+
import { LoanCollection } from '../../../collections/loan/loan.collection';
|
|
5
5
|
import { PropertyCollection } from '../../../collections/property/property.collection';
|
|
6
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
6
|
+
import { TransactionCollection } from '../../../collections/transaction/transaction.collection';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
/**
|
|
9
9
|
* Service with calculations methods for properties related with other entities.
|
|
@@ -8,7 +8,7 @@ import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
|
8
8
|
import { DepreciationCollection } from '../../../collections/depreciation.collection';
|
|
9
9
|
import { Collection } from '../../../collections/collection';
|
|
10
10
|
import { CollectionDictionary } from '../../../collections/collection-dictionary';
|
|
11
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
11
|
+
import { TransactionCollection } from '../../../collections/transaction/transaction.collection';
|
|
12
12
|
import { PropertyReportItemCollection } from '../../../collections/report/property/property-report-item.collection';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TransactionAllocationCollection } from '../../collections/transaction-allocation.collection';
|
|
2
|
-
import { TransactionCollection } from '../../collections/transaction.collection';
|
|
1
|
+
import { TransactionAllocationCollection } from '../../collections/transaction/transaction-allocation.collection';
|
|
2
|
+
import { TransactionCollection } from '../../collections/transaction/transaction.collection';
|
|
3
3
|
import { Transaction } from '../../models/transaction/transaction';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public API Surface of tt-core
|
|
3
|
-
*/
|
|
4
1
|
export * from './lib/tt-core.module';
|
|
5
2
|
/**
|
|
6
3
|
* Collections
|
|
@@ -17,7 +14,8 @@ export * from './lib/collections/depreciation.collection';
|
|
|
17
14
|
export * from './lib/collections/depreciation-forecast.collection';
|
|
18
15
|
export * from './lib/collections/employee.collection';
|
|
19
16
|
export * from './lib/collections/income-source.collection';
|
|
20
|
-
export * from './lib/collections/loan.collection';
|
|
17
|
+
export * from './lib/collections/loan/loan.collection';
|
|
18
|
+
export * from './lib/collections/loan/loan-payment.collection';
|
|
21
19
|
export * from './lib/collections/message.collection';
|
|
22
20
|
export * from './lib/collections/message-document.collection';
|
|
23
21
|
export * from './lib/collections/property/property.collection';
|
|
@@ -30,11 +28,12 @@ export * from './lib/collections/report/vehicle-expense/vehicle-expense.collecti
|
|
|
30
28
|
export * from './lib/collections/subscription/service-subscription.collection';
|
|
31
29
|
export * from './lib/collections/tax-summary/report-item.collection';
|
|
32
30
|
export * from './lib/collections/tax-review.collection';
|
|
33
|
-
export * from './lib/collections/transaction-allocation.collection';
|
|
34
|
-
export * from './lib/collections/transaction.collection';
|
|
31
|
+
export * from './lib/collections/transaction/transaction-allocation.collection';
|
|
32
|
+
export * from './lib/collections/transaction/transaction.collection';
|
|
35
33
|
export * from './lib/collections/user-event-setting.collection';
|
|
36
34
|
export * from './lib/collections/vehicle.collection';
|
|
37
35
|
export * from './lib/collections/vehicle-logbook.collection';
|
|
36
|
+
export * from './lib/collections/exportable.collection';
|
|
38
37
|
/**
|
|
39
38
|
* DB models
|
|
40
39
|
*/
|
|
@@ -310,7 +309,7 @@ export * from './lib/services/http/firm/client-income/client-income-types.servic
|
|
|
310
309
|
export * from './lib/services/event/event-dispatcher.service';
|
|
311
310
|
export * from './lib/services/event/sse.service';
|
|
312
311
|
export * from './lib/services/http/firm/firm.service';
|
|
313
|
-
export * from './lib/services/
|
|
312
|
+
export * from './lib/services/export/export-formatter.service';
|
|
314
313
|
export * from './lib/services/header-title/header-title.service';
|
|
315
314
|
export * from './lib/services/http/income-source/income-source.service';
|
|
316
315
|
export * from './lib/services/http/income-source/income-source-forecast/income-source-forecast.service';
|
|
@@ -326,7 +325,6 @@ export * from './lib/services/report/property/property-transaction-report.servic
|
|
|
326
325
|
export * from './lib/services/property/corelogic/corelogic.service';
|
|
327
326
|
export * from './lib/services/http/property/property.service';
|
|
328
327
|
export * from './lib/services/property/property-calculation/property-calculation.service';
|
|
329
|
-
export * from './lib/services/property/property-holding-costs/property-holding-costs.service';
|
|
330
328
|
export * from './lib/services/http/property/property-category/property-category.service';
|
|
331
329
|
export * from './lib/services/http/property/property-document/property-document.service';
|
|
332
330
|
export * from './lib/services/http/property/property-share/property-share.service';
|
|
@@ -367,7 +365,6 @@ export * from './lib/interfaces/event-listener.interface';
|
|
|
367
365
|
export * from './lib/interfaces/income-source-forecast.interface';
|
|
368
366
|
export * from './lib/interfaces/option.interface';
|
|
369
367
|
export * from './lib/interfaces/photoable';
|
|
370
|
-
export * from './lib/interfaces/exportable.interface';
|
|
371
368
|
export * from './lib/interfaces/receipt.interface';
|
|
372
369
|
export * from './lib/interfaces/tank.interface';
|
|
373
370
|
export * from './lib/interfaces/table-exportable.interface';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Collection } from './collection';
|
|
2
|
-
export class LoanCollection extends Collection {
|
|
3
|
-
/**
|
|
4
|
-
* Get new collection of loans filtered by bank accounts ids
|
|
5
|
-
* @param ids list of bank accounts ids for filter
|
|
6
|
-
*/
|
|
7
|
-
getByBankAccountsIds(ids) {
|
|
8
|
-
return new LoanCollection(this.items.filter((loan) => { var _a; return ids.includes((_a = loan.bankAccount) === null || _a === void 0 ? void 0 : _a.id); }));
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Get single loan by bank account id
|
|
12
|
-
* @param id id of bank account
|
|
13
|
-
*/
|
|
14
|
-
getByBankAccountId(id) {
|
|
15
|
-
return this.items.find((loan) => { var _a; return ((_a = loan.bankAccount) === null || _a === void 0 ? void 0 : _a.id) === id; });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2xvYW4uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBZ0I7SUFDbEQ7OztPQUdHO0lBQ0gsb0JBQW9CLENBQUMsR0FBYTtRQUNoQyxPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLFdBQUMsT0FBQSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsRUFBRSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQy9FLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVSxFQUFXLEVBQUUsV0FBQyxPQUFBLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxFQUFFLE1BQUssRUFBRSxDQUFBLEVBQUEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL21vZGVscy9sb2FuL2xvYW4nO1xuXG5leHBvcnQgY2xhc3MgTG9hbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPExvYW4+IHtcbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBvZiBsb2FucyBmaWx0ZXJlZCBieSBiYW5rIGFjY291bnRzIGlkc1xuICAgKiBAcGFyYW0gaWRzIGxpc3Qgb2YgYmFuayBhY2NvdW50cyBpZHMgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudHNJZHMoaWRzOiBudW1iZXJbXSk6IExvYW5Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvYW5Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGxvYW46IExvYW4pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhsb2FuLmJhbmtBY2NvdW50Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2luZ2xlIGxvYW4gYnkgYmFuayBhY2NvdW50IGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBiYW5rIGFjY291bnRcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRJZChpZDogbnVtYmVyKTogTG9hbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobG9hbjogTG9hbik6IGJvb2xlYW4gPT4gbG9hbi5iYW5rQWNjb3VudD8uaWQgPT09IGlkKTtcbiAgfVxufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Collection } from './collection';
|
|
2
|
-
import { CollectionDictionary } from './collection-dictionary';
|
|
3
|
-
export class TransactionAllocationCollection extends Collection {
|
|
4
|
-
get amount() {
|
|
5
|
-
return this.sumBy('amount');
|
|
6
|
-
}
|
|
7
|
-
getByTransactionsIds(ids) {
|
|
8
|
-
return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.transaction.id)));
|
|
9
|
-
}
|
|
10
|
-
getByBankTransactionsIds(ids) {
|
|
11
|
-
return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.bankTransaction.id)));
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Group allocations by bank account via bank transactions collection
|
|
15
|
-
*/
|
|
16
|
-
groupByBankAccount(bankTransactions) {
|
|
17
|
-
// Group bank transactions by bank account id
|
|
18
|
-
const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount.id');
|
|
19
|
-
// Create empty dictionary of transaction allocations
|
|
20
|
-
const allocationsByBankAccount = new CollectionDictionary(new TransactionAllocationCollection([]));
|
|
21
|
-
// Fill allocations dictionary with bank transactions dictionary keys and allocations related with each bank transaction collection
|
|
22
|
-
bankTransactionsByBankAccount.keys.forEach((key) => {
|
|
23
|
-
allocationsByBankAccount.add(key, this.getByBankTransactionsIds(bankTransactionsByBankAccount.get(key).getIds()));
|
|
24
|
-
});
|
|
25
|
-
return allocationsByBankAccount;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* check if collection includes allocation of passed transaction
|
|
29
|
-
*/
|
|
30
|
-
hasTransaction(transaction) {
|
|
31
|
-
return !!this.items.find((allocation) => allocation.transaction.id === transaction.id);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Check if bank transaction is related with current allocations
|
|
35
|
-
*/
|
|
36
|
-
hasBankTransaction(bankTransaction) {
|
|
37
|
-
return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEoscURBQXFEO1FBQ3JELE1BQU0sd0JBQXdCLEdBQTBELElBQUksb0JBQW9CLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFKLG1JQUFtSTtRQUNuSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDL0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sd0JBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGVBQWdDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0QnlUcmFuc2FjdGlvbnNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi5iYW5rVHJhbnNhY3Rpb24uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYWxsb2NhdGlvbnMgYnkgYmFuayBhY2NvdW50IHZpYSBiYW5rIHRyYW5zYWN0aW9ucyBjb2xsZWN0aW9uXG4gICAqL1xuICBncm91cEJ5QmFua0FjY291bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSBiYW5rIGFjY291bnQgaWRcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudDogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoYmFua1RyYW5zYWN0aW9ucywgJ2JhbmtBY2NvdW50LmlkJyk7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGRpY3Rpb25hcnkgb2YgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnNcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKSk7XG4gICAgLy8gRmlsbCBhbGxvY2F0aW9ucyBkaWN0aW9uYXJ5IHdpdGggYmFuayB0cmFuc2FjdGlvbnMgZGljdGlvbmFyeSBrZXlzIGFuZCBhbGxvY2F0aW9ucyByZWxhdGVkIHdpdGggZWFjaCBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb25cbiAgICBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQuYWRkKGtleSwgdGhpcy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQuZ2V0KGtleSkuZ2V0SWRzKCkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGNvbGxlY3Rpb24gaW5jbHVkZXMgYWxsb2NhdGlvbiBvZiBwYXNzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIGhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyByZWxhdGVkIHdpdGggY3VycmVudCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkID09PSBiYW5rVHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { Collection } from './collection';
|
|
2
|
-
import { TankTypeEnum } from '../db/Enums/tank-type.enum';
|
|
3
|
-
/**
|
|
4
|
-
* Collection of transactions
|
|
5
|
-
*/
|
|
6
|
-
export class TransactionCollection extends Collection {
|
|
7
|
-
/**
|
|
8
|
-
* Get total amount of all transactions in the collection
|
|
9
|
-
*/
|
|
10
|
-
get amount() {
|
|
11
|
-
return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Difference between allocated amount and total amount
|
|
15
|
-
*/
|
|
16
|
-
getUnallocatedAmount(allocations) {
|
|
17
|
-
return +(this.amount - allocations.getByTransactionsIds(this.getIds()).amount).toFixed(2);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get cash position
|
|
21
|
-
* Cash Position = Income - Expenses
|
|
22
|
-
* Cash position is equal to Total Amount because income is positive and expense is negative,
|
|
23
|
-
*/
|
|
24
|
-
get cashPosition() {
|
|
25
|
-
return this.claimAmount;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* get date of the last transaction
|
|
29
|
-
*/
|
|
30
|
-
getLastTransactionDate() {
|
|
31
|
-
return new Date(Math.max.apply(Math, this.items.map((transaction) => transaction.date)));
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get summary of claim amounts
|
|
35
|
-
*/
|
|
36
|
-
get claimAmount() {
|
|
37
|
-
return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
|
|
38
|
-
}
|
|
39
|
-
get grossAmount() {
|
|
40
|
-
return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
|
|
41
|
-
}
|
|
42
|
-
getByChartAccountsCategories(categories) {
|
|
43
|
-
return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get transactions by month
|
|
47
|
-
* @param monthIndex by which desired month should be taken
|
|
48
|
-
*/
|
|
49
|
-
getByMonth(monthIndex) {
|
|
50
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.date.getMonth() === monthIndex));
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* get list of transactions filtered by chart accounts id
|
|
54
|
-
* @param chartAccountsId chart accounts id for filtering
|
|
55
|
-
*/
|
|
56
|
-
getByChartAccountsId(chartAccountsId) {
|
|
57
|
-
return this.items.filter((transaction) => transaction.chartAccounts.id === chartAccountsId);
|
|
58
|
-
}
|
|
59
|
-
getIncomeTransactions() {
|
|
60
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
|
|
61
|
-
}
|
|
62
|
-
get claimIncome() {
|
|
63
|
-
return this.getIncomeTransactions().claimAmount;
|
|
64
|
-
}
|
|
65
|
-
getExpenseTransactions() {
|
|
66
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
|
|
67
|
-
}
|
|
68
|
-
get claimExpense() {
|
|
69
|
-
return this.getExpenseTransactions().claimAmount;
|
|
70
|
-
}
|
|
71
|
-
getInterestTransactions() {
|
|
72
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isInterest()));
|
|
73
|
-
}
|
|
74
|
-
get claimInterest() {
|
|
75
|
-
return this.getInterestTransactions().claimAmount;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get collection of transactions and properties filtered by properties ids
|
|
79
|
-
* @param ids Ids of properties for filter
|
|
80
|
-
*/
|
|
81
|
-
getByPropertiesIds(ids) {
|
|
82
|
-
return new TransactionCollection(this.items.filter((transaction) => {
|
|
83
|
-
var _a;
|
|
84
|
-
return ids.includes((_a = transaction.property) === null || _a === void 0 ? void 0 : _a.id);
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Get new collection filtered by income source id
|
|
89
|
-
* @param id id of income source for filter
|
|
90
|
-
*/
|
|
91
|
-
getByIncomeSourceId(id) {
|
|
92
|
-
return new TransactionCollection(this.items.filter((transaction) => { var _a; return ((_a = transaction.incomeSource) === null || _a === void 0 ? void 0 : _a.id) === id; }));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Get new collection filtered by chart accounts category
|
|
96
|
-
* @param category Chart accounts category value
|
|
97
|
-
*/
|
|
98
|
-
getByChartAccountsCategory(category) {
|
|
99
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.chartAccounts.category === category));
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get new collection of property transactions
|
|
103
|
-
*/
|
|
104
|
-
getPropertyTransactions() {
|
|
105
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
|
|
106
|
-
}
|
|
107
|
-
getDebitTransactions() {
|
|
108
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
|
|
109
|
-
}
|
|
110
|
-
getCreditTransactions() {
|
|
111
|
-
return new TransactionCollection(this.items.filter((transaction) => transaction.isCredit()));
|
|
112
|
-
}
|
|
113
|
-
getByAllocations(allocations) {
|
|
114
|
-
return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Get transactions related to Vehicle category
|
|
118
|
-
*/
|
|
119
|
-
getVehicleTransactions() {
|
|
120
|
-
return this.create(this.items.filter((transaction) => {
|
|
121
|
-
return transaction.isVehicleTransaction();
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get new transaction collection filtered by tank type
|
|
126
|
-
*/
|
|
127
|
-
getByTankType(tankType) {
|
|
128
|
-
return this.create(this.items.filter((transaction) => {
|
|
129
|
-
switch (tankType) {
|
|
130
|
-
case TankTypeEnum.PROPERTY:
|
|
131
|
-
return transaction.isPropertyTank();
|
|
132
|
-
case TankTypeEnum.WORK:
|
|
133
|
-
return transaction.isWorkTank();
|
|
134
|
-
case TankTypeEnum.SOLE:
|
|
135
|
-
return transaction.isSoleTank();
|
|
136
|
-
// Transaction may be not related to any tank type (personal)
|
|
137
|
-
default:
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
}));
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQXVCO0lBQ2hFOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENB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TUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsT0FBTyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsUUFBUSxRQUFRLEVBQUU7Z0JBQ2hCLEtBQUssWUFBWSxDQUFDLFFBQVE7b0JBQ3hCLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLFlBQVksQ0FBQyxJQUFJO29CQUNwQixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyxZQUFZLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLDZEQUE2RDtnQkFDN0Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9leHBvcnRhYmxlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbXBvbmVudHMgdGhhdCBjb250YWlucyBkYXRhIHRvIGV4cG9ydCAoZG93bmxvYWQsIHByaW50LCBlLnQuYy4pXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0YWJsZSB7XG4gIC8qKlxuICAgKiBUaXRsZSBvZiB0aGUgZXhwb3J0YWJsZSBmaWxlXG4gICAqL1xuICBleHBvcnRGaWxlVGl0bGU6IHN0cmluZztcbn1cbiJdfQ==
|