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.
Files changed (69) hide show
  1. package/bundles/taxtank-core.umd.js +124 -140
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-transaction.collection.js +1 -1
  4. package/esm2015/lib/collections/depreciation.collection.js +2 -2
  5. package/esm2015/lib/collections/exportable.collection.js +17 -0
  6. package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -0
  7. package/esm2015/lib/collections/loan/loan.collection.js +18 -0
  8. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +1 -1
  9. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
  10. package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -0
  11. package/esm2015/lib/collections/transaction/transaction.collection.js +167 -0
  12. package/esm2015/lib/models/bank/bank-transaction.js +1 -1
  13. package/esm2015/lib/models/export/export-cell-type.enum.js +10 -0
  14. package/esm2015/lib/models/export/export-cell.js +6 -0
  15. package/esm2015/lib/models/export/export-data-table.js +1 -7
  16. package/esm2015/lib/models/income-source/income-source-chart-data.js +1 -1
  17. package/esm2015/lib/models/loan/loan-payment.js +2 -24
  18. package/esm2015/lib/models/logbook/vehicle-claim.js +1 -1
  19. package/esm2015/lib/models/property/property-equity-chart-data.js +1 -1
  20. package/esm2015/lib/models/report/property/property-report-item-transaction.js +1 -1
  21. package/esm2015/lib/models/transaction/transaction.js +1 -1
  22. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  23. package/esm2015/lib/services/bank/bank-account-calculation.service.js +1 -1
  24. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +1 -1
  25. package/esm2015/lib/services/export/export-formatter.service.js +31 -0
  26. package/esm2015/lib/services/pdf/pdf.service.js +9 -4
  27. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +1 -1
  28. package/esm2015/lib/services/report/property/property-transaction-report.service.js +2 -2
  29. package/esm2015/lib/services/transaction/transaction-calculation.service.js +2 -2
  30. package/esm2015/public-api.js +7 -10
  31. package/fesm2015/taxtank-core.js +105 -129
  32. package/fesm2015/taxtank-core.js.map +1 -1
  33. package/lib/collections/bank-transaction.collection.d.ts +1 -1
  34. package/lib/collections/depreciation.collection.d.ts +1 -1
  35. package/lib/collections/exportable.collection.d.ts +9 -0
  36. package/lib/collections/loan/loan-payment.collection.d.ts +7 -0
  37. package/lib/collections/{loan.collection.d.ts → loan/loan.collection.d.ts} +2 -2
  38. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +1 -1
  39. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
  40. package/lib/collections/{transaction-allocation.collection.d.ts → transaction/transaction-allocation.collection.d.ts} +6 -6
  41. package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts} +9 -5
  42. package/lib/models/bank/bank-transaction.d.ts +1 -1
  43. package/lib/models/export/export-cell-type.enum.d.ts +8 -0
  44. package/lib/models/export/export-cell.d.ts +8 -0
  45. package/lib/models/export/export-data-table.d.ts +3 -2
  46. package/lib/models/income-source/income-source-chart-data.d.ts +1 -1
  47. package/lib/models/loan/loan-payment.d.ts +1 -5
  48. package/lib/models/logbook/vehicle-claim.d.ts +1 -1
  49. package/lib/models/property/property-equity-chart-data.d.ts +1 -1
  50. package/lib/models/report/property/property-report-item-transaction.d.ts +1 -1
  51. package/lib/models/transaction/transaction.d.ts +1 -1
  52. package/lib/services/bank/bank-account-calculation.service.d.ts +1 -1
  53. package/lib/services/bank/bank-transaction-calculation.service.d.ts +1 -1
  54. package/lib/services/export/export-formatter.service.d.ts +11 -0
  55. package/lib/services/pdf/pdf.service.d.ts +3 -0
  56. package/lib/services/property/property-calculation/property-calculation.service.d.ts +2 -2
  57. package/lib/services/report/property/property-transaction-report.service.d.ts +1 -1
  58. package/lib/services/transaction/transaction-calculation.service.d.ts +2 -2
  59. package/package.json +1 -1
  60. package/public-api.d.ts +6 -9
  61. package/esm2015/lib/collections/loan.collection.js +0 -18
  62. package/esm2015/lib/collections/transaction-allocation.collection.js +0 -40
  63. package/esm2015/lib/collections/transaction.collection.js +0 -143
  64. package/esm2015/lib/interfaces/exportable.interface.js +0 -2
  65. package/esm2015/lib/services/data-table/data-table.service.js +0 -47
  66. package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +0 -53
  67. package/lib/interfaces/exportable.interface.d.ts +0 -9
  68. package/lib/services/data-table/data-table.service.d.ts +0 -19
  69. 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 './collection';
2
- import { Loan } from '../models/loan/loan';
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 './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';
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;
@@ -1,12 +1,13 @@
1
- import { Collection } from './collection';
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 '../db/Enums/chart-accounts-category.enum';
5
- import { TankTypeEnum } from '../db/Enums/tank-type.enum';
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 Collection<Transaction> {
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;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * type of export table column value
3
+ */
4
+ export declare enum ExportCellTypeEnum {
5
+ STRING = 0,
6
+ CURRENCY = 1,
7
+ DATE = 2
8
+ }
@@ -0,0 +1,8 @@
1
+ import { ExportCellTypeEnum } from './export-cell-type.enum';
2
+ /**
3
+ * export table column
4
+ */
5
+ export declare class ExportCell {
6
+ value: any;
7
+ type: ExportCellTypeEnum;
8
+ }
@@ -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
- rows: string[][];
8
- footer: string[];
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 implements DataTableExportable {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.16.13",
3
+ "version": "0.17.0",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
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/data-table/data-table.service';
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==