taxtank-core 0.10.7 → 0.11.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 (43) hide show
  1. package/bundles/taxtank-core.umd.js +2869 -2564
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +11 -0
  4. package/esm2015/lib/collections/bank-transaction.collection.js +2 -2
  5. package/esm2015/lib/collections/collection-dictionary.js +4 -4
  6. package/esm2015/lib/collections/transaction-allocation.collection.js +2 -2
  7. package/esm2015/lib/db/Enums/user-status.enum.js +1 -2
  8. package/esm2015/lib/db/Models/client-details.js +1 -1
  9. package/esm2015/lib/db/Models/client-income-types.js +3 -0
  10. package/esm2015/lib/forms/client/client-income-types.form.js +22 -0
  11. package/esm2015/lib/forms/index.js +2 -1
  12. package/esm2015/lib/models/account-setup/account-setup-item.js +6 -0
  13. package/esm2015/lib/models/account-setup/account-setup-items.const.js +44 -0
  14. package/esm2015/lib/models/account-setup/account-setup-items.enum.js +14 -0
  15. package/esm2015/lib/models/client/client-income-types.js +10 -0
  16. package/esm2015/lib/models/pdf/pdf-config.js +2 -2
  17. package/esm2015/lib/models/pdf/pdf-orientation.enum.js +6 -0
  18. package/esm2015/lib/services/account-setup/account-setup.service.js +124 -0
  19. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +50 -0
  20. package/esm2015/lib/services/pdf/pdf.service.js +6 -6
  21. package/esm2015/lib/validators/at-least-one.validator.js +11 -0
  22. package/esm2015/lib/validators/index.js +2 -0
  23. package/esm2015/public-api.js +7 -1
  24. package/fesm2015/taxtank-core.js +2567 -2297
  25. package/fesm2015/taxtank-core.js.map +1 -1
  26. package/lib/collections/account-setup-item.collection.d.ts +6 -0
  27. package/lib/db/Enums/user-status.enum.d.ts +1 -2
  28. package/lib/db/Models/client-details.d.ts +5 -1
  29. package/lib/db/Models/client-income-types.d.ts +11 -0
  30. package/lib/forms/client/client-income-types.form.d.ts +7 -0
  31. package/lib/forms/index.d.ts +1 -0
  32. package/lib/models/account-setup/account-setup-item.d.ts +9 -0
  33. package/lib/models/account-setup/account-setup-items.const.d.ts +7 -0
  34. package/lib/models/account-setup/account-setup-items.enum.d.ts +12 -0
  35. package/lib/models/client/client-income-types.d.ts +7 -0
  36. package/lib/models/pdf/pdf-orientation.enum.d.ts +4 -0
  37. package/lib/services/account-setup/account-setup.service.d.ts +47 -0
  38. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +18 -0
  39. package/lib/services/pdf/pdf.service.d.ts +2 -1
  40. package/lib/validators/at-least-one.validator.d.ts +6 -0
  41. package/lib/validators/index.d.ts +1 -0
  42. package/package.json +1 -1
  43. package/public-api.d.ts +6 -0
@@ -0,0 +1,11 @@
1
+ import { Collection } from './collection';
2
+ export class AccountSetupItemCollection extends Collection {
3
+ constructor(items) {
4
+ super(items);
5
+ this.sortBy('isCompleted', false);
6
+ }
7
+ isCompleted() {
8
+ return this.getBy('isCompleted', true).length === this.length;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsVUFBNEI7SUFDMUUsWUFBWSxLQUF5QjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbSB9IGZyb20gJy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxBY2NvdW50U2V0dXBJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pIHtcbiAgICBzdXBlcihpdGVtcyk7XG4gICAgdGhpcy5zb3J0QnkoJ2lzQ29tcGxldGVkJywgZmFsc2UpXG4gIH1cblxuICBpc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeSgnaXNDb21wbGV0ZWQnLCB0cnVlKS5sZW5ndGggPT09IHRoaXMubGVuZ3RoO1xuICB9XG59XG4iXX0=
@@ -82,7 +82,7 @@ export class BankTransactionCollection extends Collection {
82
82
  */
83
83
  groupByTransaction(allocations) {
84
84
  // Group allocations by transaction id
85
- const allocationsByTransactions = new CollectionDictionary(allocations, 'transaction');
85
+ const allocationsByTransactions = new CollectionDictionary(allocations, 'transaction.id');
86
86
  // Init an empty dictionary we will fill below
87
87
  const bankTransactionsByTransactions = new CollectionDictionary(new BankTransactionCollection([]));
88
88
  // Fill dictionary with the same keys as at allocationsByTransactions
@@ -116,4 +116,4 @@ export class BankTransactionCollection extends Collection {
116
116
  return new BankTransactionCollection(this.items.filter((bankTransaction) => !bankTransaction.isAllocated(allocations)));
117
117
  }
118
118
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUtsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9EOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7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Tyw4QkFBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxXQUE0QztRQUMzRCxPQUFPLElBQUkseUJBQXlCLENBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZ0MsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQ2xILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQ0FBbUMsQ0FBQyxtQkFBbUM7UUFDckUsd0dBQXdHO1FBQ3hHLE1BQU0sYUFBYSxHQUFhLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQVUsRUFBRSxXQUFDLE9BQUEsQ0FBQSxNQUFBLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7UUFFOUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFnQyxFQUFRLEVBQUU7WUFDNUQsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEQsZUFBZSxDQUFDLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILDhCQUE4QixDQUFDLFdBQTRDO1FBQ3pFLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDNUcsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgTW9udGhOdW1iZXJFbnVtIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW51bWJlci5lbnVtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5cbi8qKlxuICogTWF4aW1hbCBkZWxheSBiZXR3ZWVuIHRyYW5zZmVyIHRyYW5zYWN0aW9uc1xuICovXG5jb25zdCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWTogbnVtYmVyID0gOTYgKiAzNjAwICogMTAwMDtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGJhbmsgdHJhbnNhY3Rpb25zLlxuICogSU1QT1JUQU5UOiBDcmVhdGUgdGhpcyBjb2xsZWN0aW9uIGJhc2VkIG9uIGJhbmsgdHJhbnNhY3Rpb25zIGZyb20gVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZVxuICogQFRPRE8gZmluZCB3YXkgdG8gYWNjZXB0IGludGVyZmFjZSB3aXRoIGFsbG9jYXRpb24gaW5zdGVhZCBvZiBiYW5rVHJhbnNhY3Rpb24gdG8gcHJldmVudCB3cm9uZyB1c2FnZVxuICogYmVjYXVzZSBhbGwgYW1vdW50cyBjYWxjdWxhdGVzIHdpdGggYWxsb2NhdGVkIGFtb3VudHMgYnV0IG5vdCBmcm9tIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxCYW5rVHJhbnNhY3Rpb24+IHtcbiAgZ2V0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpZmZlcmVuY2UgYmV0d2VlbiB0b3RhbCBiYW5rIHRyYW5zYWN0aW9ucyBhbW91bnQgYW5kIHN1bSBvZiBhbGxvY2F0aW9ucyBmb3IgcGFzc2VkIGJhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbikge1xuICAgIHJldHVybiArKHRoaXMuZ2V0QW1vdW50KCkgLSBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHModGhpcy5nZXRJZHMoKSkuYW1vdW50KS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGNyZWRpdCB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCBjcmVkaXRUcmFuc2FjdGlvbnMoKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGRlYml0IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0IGRlYml0VHJhbnNhY3Rpb25zKCk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmlzRGViaXQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkaWZmZXJlbmNlIGJldHdlZW4gZGViaXQgYW5kIGNyZWRpdCB0cmFuc2FjdGlvbnMgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGJhbGFuY2VBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gc3VtICsgYmFua1RyYW5zYWN0aW9uLmJhbGFuY2VBbW91bnQsIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgcGFzc2VkIG1vbnRoXG4gICAqIEBwYXJhbSBtb250aEluZGV4IE1vbnRoIG51bWJlciBmcm9tIDAgdG8gMTFcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc0J5TW9udGgobW9udGhJbmRleDogTW9udGhOdW1iZXJFbnVtKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGJ5IHByb3ZpZGVkIGJhbmsgYWNjb3VudHNcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50cyBieSB3aGljaCB0cmFuc2FjdGlvbnMgc2hvdWxkIGJlIHJldHVybmVkXG4gICAqL1xuICBnZXRCeUJhbmtBY2NvdW50cyhiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pOiBCYW5rVHJhbnNhY3Rpb25bXSB7XG4gICAgY29uc3QgYmFua0FjY291bnRJZHM6IG51bWJlcltdID0gYmFua0FjY291bnRzLm1hcCgoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiBiYW5rQWNjb3VudC5pZCk7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua0FjY291bnRJZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGJ5IHByb3ZpZGVkIGlkcyBvZiBiYW5rIGFjY291bnRzXG4gICAqIEBwYXJhbSBpZHMgb2YgYmFuayBhY2NvdW50c1xuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudHNJZHMoaWRzOiBudW1iZXJbXSk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gaWRzLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5iYW5rQWNjb3VudC5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIEJhbmsgVHJhbnNhY3Rpb24gYXZhaWxhYmxlIGZvciB0cmFuc2ZlclxuICAgKi9cbiAgZmluZFRyYW5zZmVyKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogQmFua1RyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBpdGVtLmFtb3VudCArIGJhbmtUcmFuc2FjdGlvbi5hbW91bnQgPT09IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0VGltZSgpIC0gaXRlbS5kYXRlLmdldFRpbWUoKSkgPCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSB0cmFuc2FjdGlvbiBpZC5cbiAgICogRWFjaCBncm91cCBpcyBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gYW5kIGNvbnRhaW5zIGJhbmsgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdHJhbnNhY3Rpb25zIHZpYSBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ3JvdXBCeVRyYW5zYWN0aW9uKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4ge1xuICAgIC8vIEdyb3VwIGFsbG9jYXRpb25zIGJ5IHRyYW5zYWN0aW9uIGlkXG4gICAgY29uc3QgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucyA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShhbGxvY2F0aW9ucywgJ3RyYW5zYWN0aW9uJyk7XG4gICAgLy8gSW5pdCBhbiBlbXB0eSBkaWN0aW9uYXJ5IHdlIHdpbGwgZmlsbCBiZWxvd1xuICAgIGNvbnN0IGJhbmtUcmFuc2FjdGlvbnNCeVRyYW5zYWN0aW9uczogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkobmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oW10pKTtcblxuICAgIC8vIEZpbGwgZGljdGlvbmFyeSB3aXRoIHRoZSBzYW1lIGtleXMgYXMgYXQgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9uc1xuICAgIGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zLmFkZChrZXksIHRoaXMuZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zLmdldChrZXkpKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIGJhbmsgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgd2l0aCBwYXNzZWQgYWxsb2NhdGlvbnNcbiAgICovXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc0JhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGFsbG9jYXRlIG9wZXJhdGlvbiBmb3IgYmFuayB0cmFuc2FjdGlvbnMgd2l0aCBhbW91bnRzIGVxdWFsIHRvIHNhbGFyeVxuICAgKi9cbiAgcHJlc2VsZWN0QWxsb2NhdGVPcGVyYXRpb25Gb3JTYWxhcnkoc2FsYXJ5SW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiB2b2lkIHtcbiAgICAvLyBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzWzBdIGJlY2F1c2UgZWFjaCBpbmNvbWUgc291cmNlIGhhcyBvbmx5IG9uZSBmb3JlY2FzdCBmb3IgY3VycmVudCBmaW4geWVhclxuICAgIGNvbnN0IHNhbGFyeUFtb3VudHM6IG51bWJlcltdID0gc2FsYXJ5SW5jb21lU291cmNlcy5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKTogbnVtYmVyID0+IGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0/Lm5ldFBheSB8fCAwKTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmIChzYWxhcnlBbW91bnRzLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5hbW91bnQpKSB7XG4gICAgICAgIGJhbmtUcmFuc2FjdGlvbi5vcGVyYXRpb24gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uQUxMT0NBVEU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdW5hbGxvY2F0ZWQgYmFua1RyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0VW5hbGxvY2F0ZWRCYW5rVHJhbnNhY3Rpb25zKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhYmFua1RyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSlcbiAgICApO1xuICB9XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUtsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9EOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7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QUFPLDhCQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFdBQTRDO1FBQzNELE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FDbEgsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILG1DQUFtQyxDQUFDLG1CQUFtQztRQUNyRSx3R0FBd0c7UUFDeEcsTUFBTSxhQUFhLEdBQWEsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBVSxFQUFFLFdBQUMsT0FBQSxDQUFBLE1BQUEsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQSxFQUFBLENBQUMsQ0FBQztRQUU5SSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWdDLEVBQVEsRUFBRTtZQUM1RCxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsRCxlQUFlLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsOEJBQThCLENBQUMsV0FBNEM7UUFDekUsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQVcsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUM1RyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBNb250aE51bWJlckVudW0gfSBmcm9tICcuLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbnVtYmVyLmVudW0nO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBNYXhpbWFsIGRlbGF5IGJldHdlZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25zXG4gKi9cbmNvbnN0IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZOiBudW1iZXIgPSA5NiAqIDM2MDAgKiAxMDAwO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMuXG4gKiBJTVBPUlRBTlQ6IENyZWF0ZSB0aGlzIGNvbGxlY3Rpb24gYmFzZWQgb24gYmFuayB0cmFuc2FjdGlvbnMgZnJvbSBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlXG4gKiBAVE9ETyBmaW5kIHdheSB0byBhY2NlcHQgaW50ZXJmYWNlIHdpdGggYWxsb2NhdGlvbiBpbnN0ZWFkIG9mIGJhbmtUcmFuc2FjdGlvbiB0byBwcmV2ZW50IHdyb25nIHVzYWdlXG4gKiBiZWNhdXNlIGFsbCBhbW91bnRzIGNhbGN1bGF0ZXMgd2l0aCBhbGxvY2F0ZWQgYW1vdW50cyBidXQgbm90IGZyb20gYmFuayB0cmFuc2FjdGlvbnMgYW1vdW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtUcmFuc2FjdGlvbj4ge1xuICBnZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGlmZmVyZW5jZSBiZXR3ZWVuIHRvdGFsIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudCBhbmQgc3VtIG9mIGFsbG9jYXRpb25zIGZvciBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuICsodGhpcy5nZXRBbW91bnQoKSAtIGFsbG9jYXRpb25zLmdldEJ5QmFua1RyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRhdGUgb2YgdGhlIGxhc3QgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldExhc3RUcmFuc2FjdGlvbkRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE1hdGgubWF4LmFwcGx5KE1hdGgsIHRoaXMuaXRlbXMubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmRhdGUpKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgY3JlZGl0IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0IGNyZWRpdFRyYW5zYWN0aW9ucygpOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgZGViaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQgZGViaXRUcmFuc2FjdGlvbnMoKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uaXNEZWJpdCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWJpdCBhbmQgY3JlZGl0IHRyYW5zYWN0aW9ucyBhbW91bnRzXG4gICAqL1xuICBnZXQgYmFsYW5jZUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBzdW0gKyBiYW5rVHJhbnNhY3Rpb24uYmFsYW5jZUFtb3VudCwgMCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciBwYXNzZWQgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggTW9udGggbnVtYmVyIGZyb20gMCB0byAxMVxuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25zQnlNb250aChtb250aEluZGV4OiBNb250aE51bWJlckVudW0pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5kYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYnkgcHJvdmlkZWQgYmFuayBhY2NvdW50c1xuICAgKiBAcGFyYW0gYmFua0FjY291bnRzIGJ5IHdoaWNoIHRyYW5zYWN0aW9ucyBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRzKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSk6IEJhbmtUcmFuc2FjdGlvbltdIHtcbiAgICBjb25zdCBiYW5rQWNjb3VudElkczogbnVtYmVyW10gPSBiYW5rQWNjb3VudHMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmlkKTtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rQWNjb3VudElkcy5pbmNsdWRlcyhiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQuaWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYnkgcHJvdmlkZWQgaWRzIG9mIGJhbmsgYWNjb3VudHNcbiAgICogQHBhcmFtIGlkcyBvZiBiYW5rIGFjY291bnRzXG4gICAqL1xuICBnZXRCeUJhbmtBY2NvdW50c0lkcyhpZHM6IG51bWJlcltdKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBpZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgQmFuayBUcmFuc2FjdGlvbiBhdmFpbGFibGUgZm9yIHRyYW5zZmVyXG4gICAqL1xuICBmaW5kVHJhbnNmZXIoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uYW1vdW50ICsgYmFua1RyYW5zYWN0aW9uLmFtb3VudCA9PT0gMCAmJlxuICAgICAgICBNYXRoLmFicyhiYW5rVHJhbnNhY3Rpb24uZGF0ZS5nZXRUaW1lKCkgLSBpdGVtLmRhdGUuZ2V0VGltZSgpKSA8IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIGJhbmsgdHJhbnNhY3Rpb25zIGJ5IHRyYW5zYWN0aW9uIGlkLlxuICAgKiBFYWNoIGdyb3VwIGlzIGJhbmsgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBhbmQgY29udGFpbnMgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB0cmFuc2FjdGlvbnMgdmlhIGFsbG9jYXRpb25zXG4gICAqL1xuICBncm91cEJ5VHJhbnNhY3Rpb24oYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgLy8gR3JvdXAgYWxsb2NhdGlvbnMgYnkgdHJhbnNhY3Rpb24gaWRcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KGFsbG9jYXRpb25zLCAndHJhbnNhY3Rpb24uaWQnKTtcbiAgICAvLyBJbml0IGFuIGVtcHR5IGRpY3Rpb25hcnkgd2Ugd2lsbCBmaWxsIGJlbG93XG4gICAgY29uc3QgYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihbXSkpO1xuXG4gICAgLy8gRmlsbCBkaWN0aW9uYXJ5IHdpdGggdGhlIHNhbWUga2V5cyBhcyBhdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zXG4gICAgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucy5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMuYWRkKGtleSwgdGhpcy5nZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMuZ2V0KGtleSkpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWxsb2NhdGUgb3BlcmF0aW9uIGZvciBiYW5rIHRyYW5zYWN0aW9ucyB3aXRoIGFtb3VudHMgZXF1YWwgdG8gc2FsYXJ5XG4gICAqL1xuICBwcmVzZWxlY3RBbGxvY2F0ZU9wZXJhdGlvbkZvclNhbGFyeShzYWxhcnlJbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IHZvaWQge1xuICAgIC8vIGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0gYmVjYXVzZSBlYWNoIGluY29tZSBzb3VyY2UgaGFzIG9ubHkgb25lIGZvcmVjYXN0IGZvciBjdXJyZW50IGZpbiB5ZWFyXG4gICAgY29uc3Qgc2FsYXJ5QW1vdW50czogbnVtYmVyW10gPSBzYWxhcnlJbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpOiBudW1iZXIgPT4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXT8ubmV0UGF5IHx8IDApO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKHNhbGFyeUFtb3VudHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmFtb3VudCkpIHtcbiAgICAgICAgYmFua1RyYW5zYWN0aW9uLm9wZXJhdGlvbiA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5BTExPQ0FURTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB1bmFsbG9jYXRlZCBiYW5rVHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEJhbmtUcmFuc2FjdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICFiYW5rVHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import has from 'lodash/has';
2
1
  import get from 'lodash/get';
3
2
  import flatten from 'lodash/flatten';
3
+ import hasIn from 'lodash/hasIn';
4
4
  /**
5
5
  * List of collections grouped by passed property
6
6
  */
@@ -20,8 +20,8 @@ export class CollectionDictionary {
20
20
  if (!collection.length) {
21
21
  return;
22
22
  }
23
- // Check if the first collection item has property by path
24
- if (!has(collection.items[0], path)) {
23
+ // Do nothing if provided path was not found in the 1st collection's item
24
+ if (!hasIn(collection.items[0], path.split('.')[0])) {
25
25
  return;
26
26
  }
27
27
  this.groupItems(collection, path);
@@ -83,4 +83,4 @@ export class CollectionDictionary {
83
83
  });
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLElBQUk7UUFqQnJCOztXQUVHO1FBQ0gsVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFnQnhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUUzRiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxHQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0IsRUFBRSxLQUFpQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBYztRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFFBQWtCLEVBQUU7UUFDbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLFVBQXNCLEVBQUUsSUFBWTtRQUNyRCx5Q0FBeUM7UUFDekMsTUFBTSxHQUFHLEdBQXFDLEVBQUUsQ0FBQztRQUVqRCx5QkFBeUI7UUFDekIsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQVEsRUFBRTtZQUM5QyxJQUFJLEdBQUcsR0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWxDLDhFQUE4RTtZQUM5RSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNmO1lBRUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhcyBmcm9tICdsb2Rhc2gvaGFzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIGFzIEJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGdyb3VwZWQgYnkgcGFzc2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uIGV4dGVuZHMgQmFzZUNvbGxlY3Rpb248b2JqZWN0Pj4ge1xuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBDb2xsZWN0aW9uIH0gPSB7fTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gb2YgcGFzc2VkIGNvbGxlY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgY29sbGVjdGlvbkNvbnN0cnVjdG9yOiBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAvKipcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gVGhlIENvbGxlY3Rpb24gaW5zdGFuY2UgdG8gYmUgZ3JvdXBlZFxuICAgKiBAcGFyYW0gcGF0aCBQYXRoIHRvIHRoZSBwcm9wZXJ0eSB0byBiZSBncm91cGVkIChFeGFtcGxlczogJ3RyYW5zYWN0aW9uJywgJ3Byb3BlcnR5LmNhdGVnb3J5JylcbiAgICogQHBhcmFtIHByb3AgT3B0aW9uYWw6IEZpZWxkIHRvIGdyb3VwIGJ5IChEZWZhdWx0ICdpZCcsIEV4YW1wbGVzOiAnaWQnLCAnYW1vdW50JywgJ2RhdGUnKVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbixcbiAgICBwYXRoOiBzdHJpbmcgPSAnaWQnXG4gICkge1xuICAgIHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yID0gY29sbGVjdGlvbi5jb25zdHJ1Y3RvciBhcyBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAgIC8vIE5vdGhpbmcgdG8gZ3JvdXAgd2hlbiBjb2xsZWN0aW9uIGlzIGVtcHR5XG4gICAgaWYgKCFjb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHRoZSBmaXJzdCBjb2xsZWN0aW9uIGl0ZW0gaGFzIHByb3BlcnR5IGJ5IHBhdGhcbiAgICBpZiAoIWhhcyhjb2xsZWN0aW9uLml0ZW1zWzBdLCBwYXRoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGtleXNcbiAgICovXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gYnkga2V5IG9yIHJldHVybiBlbXB0eSBjb2xsZWN0aW9uIGlmIGtleSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nIHwgbnVtYmVyKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNba2V5XSA/IHRoaXMuaXRlbXNba2V5XSA6IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbikge1xuICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHNcbiAgICovXG4gIG1lcmdlKGtleXM6IG51bWJlcltdKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIGZsYXR0ZW4oXG4gICAgICAgIGtleXMubWFwKChpZDogbnVtYmVyKTogb2JqZWN0W10gPT4gdGhpcy5nZXQoaWQudG9TdHJpbmcoKSkuaXRlbXMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgaW5zdGFuY2Ugb2YgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihpdGVtczogb2JqZWN0W10gPSBbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IoaXRlbXMpO1xuICB9XG5cbiAgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgY29sbGVjdGlvbiBpdGVtcyBieSBwYXNzZWQgcGF0aCBpbnRvIGl0ZW1zIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBncm91cEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb24sIHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgcGF0aCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBR2pDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLElBQUk7UUFqQnJCOztXQUVHO1FBQ0gsVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFnQnhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUUzRiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEdBQW9CLEVBQUUsS0FBaUI7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQzFCLE9BQU8sQ0FDTCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNsRSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFrQixFQUFFO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNLLFVBQVUsQ0FBQyxVQUFzQixFQUFFLElBQVk7UUFDckQseUNBQXlDO1FBQ3pDLE1BQU0sR0FBRyxHQUFxQyxFQUFFLENBQUM7UUFFakQseUJBQXlCO1FBQ3pCLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFRLEVBQUU7WUFDOUMsSUFBSSxHQUFHLEdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVsQyw4RUFBOEU7WUFDOUUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUNyQixHQUFHLEdBQUcsT0FBTyxDQUFDO2FBQ2Y7WUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDZjtZQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxpQ0FBaUM7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgaGFzSW4gZnJvbSAnbG9kYXNoL2hhc0luJztcbmltcG9ydCB7IENvbGxlY3Rpb24gYXMgQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuXG4vKipcbiAqIExpc3Qgb2YgY29sbGVjdGlvbnMgZ3JvdXBlZCBieSBwYXNzZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb24gZXh0ZW5kcyBCYXNlQ29sbGVjdGlvbjxvYmplY3Q+PiB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGdyb3VwZWQgY29sbGVjdGlvbnNcbiAgICovXG4gIGl0ZW1zOiB7IFtrZXk6IHN0cmluZ106IENvbGxlY3Rpb24gfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmdW5jdGlvbiBvZiBwYXNzZWQgY29sbGVjdGlvbiBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBjb2xsZWN0aW9uQ29uc3RydWN0b3I6IG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBUaGUgQ29sbGVjdGlvbiBpbnN0YW5jZSB0byBiZSBncm91cGVkXG4gICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIHByb3BlcnR5IHRvIGJlIGdyb3VwZWQgKEV4YW1wbGVzOiAndHJhbnNhY3Rpb24nLCAncHJvcGVydHkuY2F0ZWdvcnknKVxuICAgKiBAcGFyYW0gcHJvcCBPcHRpb25hbDogRmllbGQgdG8gZ3JvdXAgYnkgKERlZmF1bHQgJ2lkJywgRXhhbXBsZXM6ICdpZCcsICdhbW91bnQnLCAnZGF0ZScpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuICAgIHBhdGg6IHN0cmluZyA9ICdpZCdcbiAgKSB7XG4gICAgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IgPSBjb2xsZWN0aW9uLmNvbnN0cnVjdG9yIGFzIG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gICAgLy8gTm90aGluZyB0byBncm91cCB3aGVuIGNvbGxlY3Rpb24gaXMgZW1wdHlcbiAgICBpZiAoIWNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRG8gbm90aGluZyBpZiBwcm92aWRlZCBwYXRoIHdhcyBub3QgZm91bmQgaW4gdGhlIDFzdCBjb2xsZWN0aW9uJ3MgaXRlbVxuICAgIGlmICghaGFzSW4oY29sbGVjdGlvbi5pdGVtc1swXSwgcGF0aC5zcGxpdCgnLicpWzBdKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGtleXNcbiAgICovXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gYnkga2V5IG9yIHJldHVybiBlbXB0eSBjb2xsZWN0aW9uIGlmIGtleSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nIHwgbnVtYmVyKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNba2V5XSA/IHRoaXMuaXRlbXNba2V5XSA6IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbikge1xuICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHNcbiAgICovXG4gIG1lcmdlKGtleXM6IG51bWJlcltdKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIGZsYXR0ZW4oXG4gICAgICAgIGtleXMubWFwKChpZDogbnVtYmVyKTogb2JqZWN0W10gPT4gdGhpcy5nZXQoaWQudG9TdHJpbmcoKSkuaXRlbXMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgaW5zdGFuY2Ugb2YgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihpdGVtczogb2JqZWN0W10gPSBbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IoaXRlbXMpO1xuICB9XG5cbiAgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgY29sbGVjdGlvbiBpdGVtcyBieSBwYXNzZWQgcGF0aCBpbnRvIGl0ZW1zIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBncm91cEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb24sIHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgcGF0aCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -15,7 +15,7 @@ export class TransactionAllocationCollection extends Collection {
15
15
  */
16
16
  groupByBankAccount(bankTransactions) {
17
17
  // Group bank transactions by bank account id
18
- const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount');
18
+ const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount.id');
19
19
  // Create empty dictionary of transaction allocations
20
20
  const allocationsByBankAccount = new CollectionDictionary(new TransactionAllocationCollection([]));
21
21
  // Fill allocations dictionary with bank transactions dictionary keys and allocations related with each bank transaction collection
@@ -37,4 +37,4 @@ export class TransactionAllocationCollection extends Collection {
37
37
  return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pKLHFEQUFxRDtRQUNyRCxNQUFNLHdCQUF3QixHQUEwRCxJQUFJLG9CQUFvQixDQUFDLElBQUksK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxSixtSUFBbUk7UUFDbkksNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1lBQy9ELHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEgsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxXQUF3QjtRQUNyQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqSSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuXG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxUcmFuc2FjdGlvbkFsbG9jYXRpb24+IHtcbiAgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEJ5VHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5QmFua1RyYW5zYWN0aW9uc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIGFsbG9jYXRpb25zIGJ5IGJhbmsgYWNjb3VudCB2aWEgYmFuayB0cmFuc2FjdGlvbnMgY29sbGVjdGlvblxuICAgKi9cbiAgZ3JvdXBCeUJhbmtBY2NvdW50KGJhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uPiB7XG4gICAgLy8gR3JvdXAgYmFuayB0cmFuc2FjdGlvbnMgYnkgYmFuayBhY2NvdW50IGlkXG4gICAgY29uc3QgYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KGJhbmtUcmFuc2FjdGlvbnMsICdiYW5rQWNjb3VudCcpO1xuICAgIC8vIENyZWF0ZSBlbXB0eSBkaWN0aW9uYXJ5IG9mIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25zXG4gICAgY29uc3QgYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihbXSkpO1xuICAgIC8vIEZpbGwgYWxsb2NhdGlvbnMgZGljdGlvbmFyeSB3aXRoIGJhbmsgdHJhbnNhY3Rpb25zIGRpY3Rpb25hcnkga2V5cyBhbmQgYWxsb2NhdGlvbnMgcmVsYXRlZCB3aXRoIGVhY2ggYmFuayB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uXG4gICAgYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50LmFkZChrZXksIHRoaXMuZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGJhbmtUcmFuc2FjdGlvbnNCeUJhbmtBY2NvdW50LmdldChrZXkpLmdldElkcygpKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zQnlCYW5rQWNjb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBjb2xsZWN0aW9uIGluY2x1ZGVzIGFsbG9jYXRpb24gb2YgcGFzc2VkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBoYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgcmVsYXRlZCB3aXRoIGN1cnJlbnQgYWxsb2NhdGlvbnNcbiAgICovXG4gIGhhc0JhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLmJhbmtUcmFuc2FjdGlvbi5pZCA9PT0gYmFua1RyYW5zYWN0aW9uLmlkKTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEoscURBQXFEO1FBQ3JELE1BQU0sd0JBQXdCLEdBQTBELElBQUksb0JBQW9CLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFKLG1JQUFtSTtRQUNuSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDL0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sd0JBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGVBQWdDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0QnlUcmFuc2FjdGlvbnNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi5iYW5rVHJhbnNhY3Rpb24uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYWxsb2NhdGlvbnMgYnkgYmFuayBhY2NvdW50IHZpYSBiYW5rIHRyYW5zYWN0aW9ucyBjb2xsZWN0aW9uXG4gICAqL1xuICBncm91cEJ5QmFua0FjY291bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSBiYW5rIGFjY291bnQgaWRcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudDogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoYmFua1RyYW5zYWN0aW9ucywgJ2JhbmtBY2NvdW50LmlkJyk7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGRpY3Rpb25hcnkgb2YgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnNcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKSk7XG4gICAgLy8gRmlsbCBhbGxvY2F0aW9ucyBkaWN0aW9uYXJ5IHdpdGggYmFuayB0cmFuc2FjdGlvbnMgZGljdGlvbmFyeSBrZXlzIGFuZCBhbGxvY2F0aW9ucyByZWxhdGVkIHdpdGggZWFjaCBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb25cbiAgICBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQuYWRkKGtleSwgdGhpcy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQuZ2V0KGtleSkuZ2V0SWRzKCkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGNvbGxlY3Rpb24gaW5jbHVkZXMgYWxsb2NhdGlvbiBvZiBwYXNzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIGhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyByZWxhdGVkIHdpdGggY3VycmVudCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkID09PSBiYW5rVHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
@@ -3,6 +3,5 @@ export var UserStatusEnum;
3
3
  UserStatusEnum[UserStatusEnum["INACTIVE"] = 0] = "INACTIVE";
4
4
  UserStatusEnum[UserStatusEnum["ON_BOARDING"] = 1] = "ON_BOARDING";
5
5
  UserStatusEnum[UserStatusEnum["ACTIVE"] = 2] = "ACTIVE";
6
- UserStatusEnum[UserStatusEnum["TRIAL"] = 3] = "TRIAL";
7
6
  })(UserStatusEnum || (UserStatusEnum = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zdGF0dXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy91c2VyLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDekIsMkRBQVksQ0FBQTtJQUNaLGlFQUFlLENBQUE7SUFDZix1REFBVSxDQUFBO0lBQ1YscURBQVMsQ0FBQTtBQUNWLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFVzZXJTdGF0dXNFbnVtIHtcblx0SU5BQ1RJVkUgPSAwLFxuXHRPTl9CT0FSRElORyA9IDEsXG5cdEFDVElWRSA9IDIsXG5cdFRSSUFMID0gMyxcbn0iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zdGF0dXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy91c2VyLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsMkRBQVksQ0FBQTtJQUNaLGlFQUFlLENBQUE7SUFDZix1REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVXNlclN0YXR1c0VudW0ge1xuICBJTkFDVElWRSA9IDAsXG4gIE9OX0JPQVJESU5HID0gMSxcbiAgQUNUSVZFID0gMixcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export class ClientDetails {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL2NsaWVudC1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxhQUFhO0NBc0J6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudERldGFpbHNXb3JrRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzTWVkaWNhcmVFeGVtcHRpb25FbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlsc1dvcmtpbmdIb2xpZGF5TWFrZXJFbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlcic7XG5pbXBvcnQgeyBPY2N1cGF0aW9uIH0gZnJvbSAnLi9vY2N1cGF0aW9uJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuL3Bob25lJztcblxuZXhwb3J0IGNsYXNzIENsaWVudERldGFpbHMge1xuICBpZD86IG51bWJlcjtcbiAgaXNBdXN0cmFsaWFuUmVzaWRlbnQ/OiBib29sZWFuO1xuICB0YXhGaWxlTnVtYmVyPzogc3RyaW5nO1xuICB3b3JrRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24/OiBDbGllbnREZXRhaWxzV29ya0RlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bTtcbiAgcHJpdmF0ZUhlYWx0aENhcmU/OiBib29sZWFuO1xuICBzcG91c2U/OiBib29sZWFuO1xuICBzcG91c2VBbm51YWxJbmNvbWU/OiBudW1iZXI7XG4gIHN0dWRlbnRMb2FuQW1vdW50PzogbnVtYmVyO1xuICBkZXBlbmRhbnRzPzogbnVtYmVyO1xuICBtZWRpY2FyZUV4ZW1wdGlvbj86IENsaWVudERldGFpbHNNZWRpY2FyZUV4ZW1wdGlvbkVudW07XG4gIHBlbnNpb25lcnNUYXg/OiBib29sZWFuO1xuICB3b3JraW5nSG9saWRheU1ha2VyPzogQ2xpZW50RGV0YWlsc1dvcmtpbmdIb2xpZGF5TWFrZXJFbnVtO1xuICBkYXRlT2ZCaXJ0aD86IERhdGU7XG4gIGNhcGl0YWxMb3NzPzogbnVtYmVyO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICB1c2VyPzogVXNlcjtcbiAgb2NjdXBhdGlvbj86IE9jY3VwYXRpb247XG4gIGFkZHJlc3Nlcz86IEFkZHJlc3NbXTtcbiAgcGhvbmVzPzogUGhvbmVbXTtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL2NsaWVudC1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sT0FBTyxhQUFhO0NBeUJ6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudERldGFpbHNXb3JrRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzTWVkaWNhcmVFeGVtcHRpb25FbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlsc1dvcmtpbmdIb2xpZGF5TWFrZXJFbnVtIH0gZnJvbSAnLi4vRW51bXMvY2xpZW50LWRldGFpbHMtd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlcic7XG5pbXBvcnQgeyBPY2N1cGF0aW9uIH0gZnJvbSAnLi9vY2N1cGF0aW9uJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuL3Bob25lJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIH0gZnJvbSAnLi9jbGllbnQtaW5jb21lLXR5cGVzJztcblxuZXhwb3J0IGNsYXNzIENsaWVudERldGFpbHMge1xuICBpc0F1c3RyYWxpYW5SZXNpZGVudD86IGJvb2xlYW47XG4gIHRheEZpbGVOdW1iZXI/OiBzdHJpbmc7XG4gIHdvcmtEZXByZWNpYXRpb25DYWxjdWxhdGlvbj86IENsaWVudERldGFpbHNXb3JrRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtO1xuICBwcml2YXRlSGVhbHRoQ2FyZT86IGJvb2xlYW47XG4gIHNwb3VzZT86IGJvb2xlYW47XG4gIHNwb3VzZUFubnVhbEluY29tZT86IG51bWJlcjtcbiAgc3R1ZGVudExvYW5BbW91bnQ/OiBudW1iZXI7XG4gIGRlcGVuZGFudHM/OiBudW1iZXI7XG4gIG1lZGljYXJlRXhlbXB0aW9uPzogQ2xpZW50RGV0YWlsc01lZGljYXJlRXhlbXB0aW9uRW51bTtcbiAgcGVuc2lvbmVyc1RheD86IGJvb2xlYW47XG4gIHdvcmtpbmdIb2xpZGF5TWFrZXI/OiBDbGllbnREZXRhaWxzV29ya2luZ0hvbGlkYXlNYWtlckVudW07XG4gIGRhdGVPZkJpcnRoPzogRGF0ZTtcbiAgYWJuPzogbnVtYmVyO1xuICBpc0dTVD86IGJvb2xlYW47XG4gIGNhcGl0YWxMb3NzPzogbnVtYmVyO1xuICBpZD86IG51bWJlcjtcbiAgZGVsZXRlZEF0PzogRGF0ZTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgdXNlcj86IFVzZXI7XG4gIG9jY3VwYXRpb24/OiBPY2N1cGF0aW9uO1xuICBhZGRyZXNzZXM/OiBBZGRyZXNzW107XG4gIHBob25lcz86IFBob25lW107XG4gIGluY29tZVR5cGVzPzogQ2xpZW50SW5jb21lVHlwZXM7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class ClientIncomeTypes {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWluY29tZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvY2xpZW50LWluY29tZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWlCO0NBUzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnREZXRhaWxzfSBmcm9tICcuL2NsaWVudC1kZXRhaWxzJztcblxuZXhwb3J0IGNsYXNzIENsaWVudEluY29tZVR5cGVzIHtcblx0c2FsYXJ5PzogYm9vbGVhbjtcblx0cmVudGFsPzogYm9vbGVhbjtcblx0c29sZVRyYWRlcj86IGJvb2xlYW47XG5cdGRpdmlkZW5kcz86IGJvb2xlYW47XG5cdG90aGVyPzogYm9vbGVhbjtcblx0aWQ/OiBudW1iZXI7XG5cdGRlbGV0ZWRBdD86IERhdGU7XG5cdGNsaWVudERldGFpbHM/OiBDbGllbnREZXRhaWxzO1xufSJdfQ==
@@ -0,0 +1,22 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { FormControl } from '@angular/forms';
3
+ import { atLeastOneCheckedValidator } from '../../validators';
4
+ export class ClientIncomeTypesForm extends AbstractForm {
5
+ constructor(clientIncomeTypes) {
6
+ super({
7
+ salary: new FormControl(clientIncomeTypes.salary),
8
+ rental: new FormControl(clientIncomeTypes.rental),
9
+ soleTrader: new FormControl(clientIncomeTypes.soleTrader),
10
+ dividends: new FormControl(clientIncomeTypes.dividends),
11
+ other: new FormControl(clientIncomeTypes.other)
12
+ }, atLeastOneCheckedValidator());
13
+ this.clientIncomeTypes = clientIncomeTypes;
14
+ }
15
+ submit() {
16
+ if (!this.valid) {
17
+ return null;
18
+ }
19
+ return Object.assign({}, this.clientIncomeTypes, this.value);
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWluY29tZS10eXBlcy5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUNyRCxZQUNVLGlCQUFvQztRQUU1QyxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQ2pELE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDakQsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUN6RCxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7U0FDaEQsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7UUFSekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQVM5QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuaW1wb3J0IHsgYXRMZWFzdE9uZUNoZWNrZWRWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcblxuZXhwb3J0IGNsYXNzIENsaWVudEluY29tZVR5cGVzRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2xpZW50SW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIHNhbGFyeTogbmV3IEZvcm1Db250cm9sKGNsaWVudEluY29tZVR5cGVzLnNhbGFyeSksXG4gICAgICByZW50YWw6IG5ldyBGb3JtQ29udHJvbChjbGllbnRJbmNvbWVUeXBlcy5yZW50YWwpLFxuICAgICAgc29sZVRyYWRlcjogbmV3IEZvcm1Db250cm9sKGNsaWVudEluY29tZVR5cGVzLnNvbGVUcmFkZXIpLFxuICAgICAgZGl2aWRlbmRzOiBuZXcgRm9ybUNvbnRyb2woY2xpZW50SW5jb21lVHlwZXMuZGl2aWRlbmRzKSxcbiAgICAgIG90aGVyOiBuZXcgRm9ybUNvbnRyb2woY2xpZW50SW5jb21lVHlwZXMub3RoZXIpXG4gICAgfSwgYXRMZWFzdE9uZUNoZWNrZWRWYWxpZGF0b3IoKSk7XG4gIH1cblxuICBzdWJtaXQoKTogb2JqZWN0IHtcbiAgICBpZiAoIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNsaWVudEluY29tZVR5cGVzLCB0aGlzLnZhbHVlKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
1
  export * from './abstract.form';
2
+ export * from './client/client-income-types.form';
2
3
  export * from './login/login.form';
3
4
  export * from './register/register-client.form';
4
5
  export * from './register/register-firm.form';
5
6
  export * from './user/password.form';
6
7
  export * from './user/reset-password.form';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LmZvcm0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xvZ2luL2xvZ2luLmZvcm0nO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyL3JlZ2lzdGVyLWNsaWVudC5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXIvcmVnaXN0ZXItZmlybS5mb3JtJztcblxuZXhwb3J0ICogZnJvbSAnLi91c2VyL3Bhc3N3b3JkLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyL3Jlc2V0LXBhc3N3b3JkLmZvcm0nO1xuXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QuZm9ybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMuZm9ybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbG9naW4vbG9naW4uZm9ybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXIvcmVnaXN0ZXItY2xpZW50LmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci1maXJtLmZvcm0nO1xuXG5leHBvcnQgKiBmcm9tICcuL3VzZXIvcGFzc3dvcmQuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXIvcmVzZXQtcGFzc3dvcmQuZm9ybSc7XG5cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Account setup item instance is using for account setup checklist
3
+ */
4
+ export class AccountSetupItem {
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7Q0FLNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFjY291bnQgc2V0dXAgaXRlbSBpbnN0YW5jZSBpcyB1c2luZyBmb3IgYWNjb3VudCBzZXR1cCBjaGVja2xpc3RcbiAqL1xuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cEl0ZW0ge1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgaXNDb21wbGV0ZWQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { AccountSetupItemsEnum } from './account-setup-items.enum';
2
+ import { AccountSetupItem } from './account-setup-item';
3
+ import { plainToClass } from 'class-transformer';
4
+ /**
5
+ * List of all possible account setup steps
6
+ */
7
+ export const ACCOUNT_SETUP_ITEMS = {
8
+ [AccountSetupItemsEnum.SALARY]: plainToClass(AccountSetupItem, {
9
+ title: 'Add your work income forecast',
10
+ description: 'One the most important steps is to add your salary or wage incomes so we can automatically calculate tax withheld and your forecasted tax position.',
11
+ url: '/client/work-tank/forecasting'
12
+ }),
13
+ [AccountSetupItemsEnum.OTHER_INCOME]: plainToClass(AccountSetupItem, {
14
+ title: 'Add any other expected incomes',
15
+ description: 'To ensure an accurate tax position forecast, add estimates for any other income types, like dividends, interest, trusts, annuities, director payments etc.',
16
+ url: '/client/work-tank/forecasting'
17
+ }),
18
+ [AccountSetupItemsEnum.PROPERTY]: plainToClass(AccountSetupItem, {
19
+ title: 'Add your properties',
20
+ description: 'Add your properties to seamlessly manage your rental incomes and expenses, whilst tracking your cash position, tax positions and equity forecasts in real time.',
21
+ url: '/client/property-tank'
22
+ }),
23
+ [AccountSetupItemsEnum.BANK_FEEDS]: plainToClass(AccountSetupItem, {
24
+ title: 'Link banks and select accounts',
25
+ description: 'Link banks to automatically feed your account transactions to save you time and money. Allocating live transactions ensures nothing is missed, lost or forgotten!',
26
+ url: '/client/bank-feeds'
27
+ }),
28
+ [AccountSetupItemsEnum.WORK_LOGBOOK]: plainToClass(AccountSetupItem, {
29
+ title: 'Set up your logbook method',
30
+ description: 'Do you use your vehicle for work? Select your method and the klms or logbook % to automate accurately all vehicle expenses throughout the year.',
31
+ url: '/client/work-tank/logbook'
32
+ }),
33
+ [AccountSetupItemsEnum.SOLE_INCOME]: plainToClass(AccountSetupItem, {
34
+ title: 'Add your business details',
35
+ description: 'Add your business details, logo and payment terms to create invoice templates in minutes.',
36
+ url: '/client/sole-tank/forecasting'
37
+ }),
38
+ [AccountSetupItemsEnum.TRANSACTION]: plainToClass(AccountSetupItem, {
39
+ title: 'Allocation transactions',
40
+ description: 'Select one or multiple transactions, the category from the dropdown and attach your receipt. It’s that simple to capture every possible deduction, and keep organised all throughout the year.',
41
+ url: '/client/bank-feeds'
42
+ }),
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC1pdGVtcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW1zLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFzQztJQUNwRSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtRQUM3RCxLQUFLLEVBQUUsK0JBQStCO1FBQ3RDLFdBQVcsRUFBRSxxSkFBcUo7UUFDbEssR0FBRyxFQUFFLCtCQUErQjtLQUNyQyxDQUFDO0lBQ0YsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxZQUFZLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkUsS0FBSyxFQUFFLGdDQUFnQztRQUN2QyxXQUFXLEVBQUUsNEpBQTRKO1FBQ3pLLEdBQUcsRUFBRSwrQkFBK0I7S0FDckMsQ0FBQztJQUNGLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixFQUFFO1FBQy9ELEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsV0FBVyxFQUFFLGlLQUFpSztRQUM5SyxHQUFHLEVBQUUsdUJBQXVCO0tBQzdCLENBQUM7SUFDRixDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNqRSxLQUFLLEVBQUUsZ0NBQWdDO1FBQ3ZDLFdBQVcsRUFBRSxvS0FBb0s7UUFDakwsR0FBRyxFQUFFLG9CQUFvQjtLQUMxQixDQUFDO0lBQ0YsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxZQUFZLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkUsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxXQUFXLEVBQUUsaUpBQWlKO1FBQzlKLEdBQUcsRUFBRSwyQkFBMkI7S0FDakMsQ0FBQztJQUNGLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixFQUFFO1FBQ2xFLEtBQUssRUFBRSwyQkFBMkI7UUFDbEMsV0FBVyxFQUFFLDJGQUEyRjtRQUN4RyxHQUFHLEVBQUUsK0JBQStCO0tBQ3JDLENBQUM7SUFDRixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNsRSxLQUFLLEVBQUUseUJBQXlCO1FBQ2hDLFdBQVcsRUFBRSxnTUFBZ007UUFDN00sR0FBRyxFQUFFLG9CQUFvQjtLQUMxQixDQUFDO0NBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW1zRW51bSB9IGZyb20gJy4vYWNjb3VudC1zZXR1cC1pdGVtcy5lbnVtJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuL2FjY291bnQtc2V0dXAtaXRlbSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogTGlzdCBvZiBhbGwgcG9zc2libGUgYWNjb3VudCBzZXR1cCBzdGVwc1xuICovXG5leHBvcnQgY29uc3QgQUNDT1VOVF9TRVRVUF9JVEVNUzoge1trZXk6IG51bWJlcl06IEFjY291bnRTZXR1cEl0ZW19ID0ge1xuICBbQWNjb3VudFNldHVwSXRlbXNFbnVtLlNBTEFSWV06IHBsYWluVG9DbGFzcyhBY2NvdW50U2V0dXBJdGVtLCB7XG4gICAgdGl0bGU6ICdBZGQgeW91ciB3b3JrIGluY29tZSBmb3JlY2FzdCcsXG4gICAgZGVzY3JpcHRpb246ICdPbmUgdGhlIG1vc3QgaW1wb3J0YW50IHN0ZXBzIGlzIHRvIGFkZCB5b3VyIHNhbGFyeSBvciB3YWdlIGluY29tZXMgc28gd2UgY2FuIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlIHRheCB3aXRoaGVsZCBhbmQgeW91ciBmb3JlY2FzdGVkIHRheCBwb3NpdGlvbi4nLFxuICAgIHVybDogJy9jbGllbnQvd29yay10YW5rL2ZvcmVjYXN0aW5nJ1xuICB9KSxcbiAgW0FjY291bnRTZXR1cEl0ZW1zRW51bS5PVEhFUl9JTkNPTUVdOiBwbGFpblRvQ2xhc3MoQWNjb3VudFNldHVwSXRlbSwge1xuICAgIHRpdGxlOiAnQWRkIGFueSBvdGhlciBleHBlY3RlZCBpbmNvbWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RvIGVuc3VyZSBhbiBhY2N1cmF0ZSB0YXggcG9zaXRpb24gZm9yZWNhc3QsIGFkZCBlc3RpbWF0ZXMgZm9yIGFueSBvdGhlciBpbmNvbWUgdHlwZXMsIGxpa2UgZGl2aWRlbmRzLCBpbnRlcmVzdCwgdHJ1c3RzLCBhbm51aXRpZXMsIGRpcmVjdG9yIHBheW1lbnRzIGV0Yy4nLFxuICAgIHVybDogJy9jbGllbnQvd29yay10YW5rL2ZvcmVjYXN0aW5nJ1xuICB9KSxcbiAgW0FjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWV06IHBsYWluVG9DbGFzcyhBY2NvdW50U2V0dXBJdGVtLCB7XG4gICAgdGl0bGU6ICdBZGQgeW91ciBwcm9wZXJ0aWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZCB5b3VyIHByb3BlcnRpZXMgdG8gc2VhbWxlc3NseSBtYW5hZ2UgeW91ciByZW50YWwgaW5jb21lcyBhbmQgZXhwZW5zZXMsIHdoaWxzdCB0cmFja2luZyB5b3VyIGNhc2ggcG9zaXRpb24sIHRheCBwb3NpdGlvbnMgYW5kIGVxdWl0eSBmb3JlY2FzdHMgaW4gcmVhbCB0aW1lLicsXG4gICAgdXJsOiAnL2NsaWVudC9wcm9wZXJ0eS10YW5rJ1xuICB9KSxcbiAgW0FjY291bnRTZXR1cEl0ZW1zRW51bS5CQU5LX0ZFRURTXTogcGxhaW5Ub0NsYXNzKEFjY291bnRTZXR1cEl0ZW0sIHtcbiAgICB0aXRsZTogJ0xpbmsgYmFua3MgYW5kIHNlbGVjdCBhY2NvdW50cycsXG4gICAgZGVzY3JpcHRpb246ICdMaW5rIGJhbmtzIHRvIGF1dG9tYXRpY2FsbHkgZmVlZCB5b3VyIGFjY291bnQgdHJhbnNhY3Rpb25zIHRvIHNhdmUgeW91IHRpbWUgYW5kIG1vbmV5LiAgQWxsb2NhdGluZyBsaXZlIHRyYW5zYWN0aW9ucyBlbnN1cmVzIG5vdGhpbmcgaXMgbWlzc2VkLCBsb3N0IG9yIGZvcmdvdHRlbiEnLFxuICAgIHVybDogJy9jbGllbnQvYmFuay1mZWVkcydcbiAgfSksXG4gIFtBY2NvdW50U2V0dXBJdGVtc0VudW0uV09SS19MT0dCT09LXTogcGxhaW5Ub0NsYXNzKEFjY291bnRTZXR1cEl0ZW0sIHtcbiAgICB0aXRsZTogJ1NldCB1cCB5b3VyIGxvZ2Jvb2sgbWV0aG9kJyxcbiAgICBkZXNjcmlwdGlvbjogJ0RvIHlvdSB1c2UgeW91ciB2ZWhpY2xlIGZvciB3b3JrPyBTZWxlY3QgeW91ciBtZXRob2QgYW5kIHRoZSBrbG1zIG9yIGxvZ2Jvb2sgJSB0byBhdXRvbWF0ZSBhY2N1cmF0ZWx5IGFsbCB2ZWhpY2xlIGV4cGVuc2VzIHRocm91Z2hvdXQgdGhlIHllYXIuJyxcbiAgICB1cmw6ICcvY2xpZW50L3dvcmstdGFuay9sb2dib29rJ1xuICB9KSxcbiAgW0FjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0lOQ09NRV06IHBsYWluVG9DbGFzcyhBY2NvdW50U2V0dXBJdGVtLCB7XG4gICAgdGl0bGU6ICdBZGQgeW91ciBidXNpbmVzcyBkZXRhaWxzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZCB5b3VyIGJ1c2luZXNzIGRldGFpbHMsIGxvZ28gYW5kIHBheW1lbnQgdGVybXMgdG8gY3JlYXRlIGludm9pY2UgdGVtcGxhdGVzIGluIG1pbnV0ZXMuJyxcbiAgICB1cmw6ICcvY2xpZW50L3NvbGUtdGFuay9mb3JlY2FzdGluZydcbiAgfSksXG4gIFtBY2NvdW50U2V0dXBJdGVtc0VudW0uVFJBTlNBQ1RJT05dOiBwbGFpblRvQ2xhc3MoQWNjb3VudFNldHVwSXRlbSwge1xuICAgIHRpdGxlOiAnQWxsb2NhdGlvbiB0cmFuc2FjdGlvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0IG9uZSBvciBtdWx0aXBsZSB0cmFuc2FjdGlvbnMsIHRoZSBjYXRlZ29yeSBmcm9tIHRoZSBkcm9wZG93biBhbmQgYXR0YWNoIHlvdXIgcmVjZWlwdC4gSXTigJlzIHRoYXQgc2ltcGxlIHRvIGNhcHR1cmUgZXZlcnkgcG9zc2libGUgZGVkdWN0aW9uLCBhbmQga2VlcCBvcmdhbmlzZWQgYWxsIHRocm91Z2hvdXQgdGhlIHllYXIuJyxcbiAgICB1cmw6ICcvY2xpZW50L2JhbmstZmVlZHMnXG4gIH0pLFxufTtcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Enum list of all possible account setup items. Using with [ACCOUNT_SETUP_ITEMS]{@link ACCOUNT_SETUP_ITEMS}
3
+ */
4
+ export var AccountSetupItemsEnum;
5
+ (function (AccountSetupItemsEnum) {
6
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SALARY"] = 0] = "SALARY";
7
+ AccountSetupItemsEnum[AccountSetupItemsEnum["OTHER_INCOME"] = 1] = "OTHER_INCOME";
8
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY"] = 2] = "PROPERTY";
9
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_FEEDS"] = 3] = "BANK_FEEDS";
10
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 4] = "WORK_LOGBOOK";
11
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_INCOME"] = 5] = "SOLE_INCOME";
12
+ AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION"] = 6] = "TRANSACTION";
13
+ })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC1pdGVtcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHFCQVFYO0FBUkQsV0FBWSxxQkFBcUI7SUFDL0IscUVBQU0sQ0FBQTtJQUNOLGlGQUFZLENBQUE7SUFDWix5RUFBUSxDQUFBO0lBQ1IsNkVBQVUsQ0FBQTtJQUNWLGlGQUFZLENBQUE7SUFDWiwrRUFBVyxDQUFBO0lBQ1gsK0VBQVcsQ0FBQTtBQUNiLENBQUMsRUFSVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBUWhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIGxpc3Qgb2YgYWxsIHBvc3NpYmxlIGFjY291bnQgc2V0dXAgaXRlbXMuIFVzaW5nIHdpdGggW0FDQ09VTlRfU0VUVVBfSVRFTVNde0BsaW5rIEFDQ09VTlRfU0VUVVBfSVRFTVN9XG4gKi9cbmV4cG9ydCBlbnVtIEFjY291bnRTZXR1cEl0ZW1zRW51bSB7XG4gIFNBTEFSWSxcbiAgT1RIRVJfSU5DT01FLFxuICBQUk9QRVJUWSxcbiAgQkFOS19GRUVEUyxcbiAgV09SS19MT0dCT09LLFxuICBTT0xFX0lOQ09NRSxcbiAgVFJBTlNBQ1RJT05cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { ClientIncomeTypes as ClientIncomeTypesBase } from '../../db/Models/client-income-types';
2
+ export class ClientIncomeTypes extends ClientIncomeTypesBase {
3
+ /**
4
+ * Get count of selected income types
5
+ */
6
+ get length() {
7
+ return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWluY29tZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixJQUFJLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFakcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUMxRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFjLEVBQVcsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0csQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXMgYXMgQ2xpZW50SW5jb21lVHlwZXNCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50SW5jb21lVHlwZXMgZXh0ZW5kcyBDbGllbnRJbmNvbWVUeXBlc0Jhc2Uge1xuICAvKipcbiAgICogR2V0IGNvdW50IG9mIHNlbGVjdGVkIGluY29tZSB0eXBlc1xuICAgKi9cbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMpLmZpbHRlcigodmFsdWU6IGJvb2xlYW4pOiBib29sZWFuID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmIHZhbHVlKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
@@ -17,7 +17,7 @@ export const PDF_CONFIG = {
17
17
  src: '/assets/img/icons/logo.png',
18
18
  width: 30,
19
19
  height: 7,
20
- positionX: 168,
20
+ positionX: 42,
21
21
  positionY: 6
22
22
  },
23
23
  // coords for file section title (group, table, e.t.c.)
@@ -40,4 +40,4 @@ export const PDF_CONFIG = {
40
40
  },
41
41
  }
42
42
  };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcGRmL3BkZi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxFQUFFO1FBQ1osUUFBUSxFQUFFLFdBQVc7UUFDckIsU0FBUyxFQUFFLEVBQUU7UUFDYixVQUFVLEVBQUUsTUFBTTtRQUNsQixTQUFTLEVBQUUsRUFBRTtRQUNiLFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLFNBQVM7UUFDckIsVUFBVSxFQUFFLFNBQVM7UUFDckIsWUFBWSxFQUFFLFNBQVM7S0FDeEI7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLENBQUM7UUFDVCxTQUFTLEVBQUUsR0FBRztRQUNkLFNBQVMsRUFBRSxDQUFDO0tBQ2I7SUFDRCx1REFBdUQ7SUFDdkQsa0JBQWtCLEVBQUU7UUFDbEIsU0FBUyxFQUFFLEVBQUU7S0FDZDtJQUNELGFBQWEsRUFBRTtRQUNiLFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLFNBQVMsRUFBRyxTQUFTO1lBQ3JCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDVixTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsU0FBUztTQUNyQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJhdGlvbiBmaWxlIHdpdGggdGhlIHNldHRpbmdzIHRvIGdlbmVyYXRlIFBERiBmaWxlXG4gKi9cbmV4cG9ydCBjb25zdCBQREZfQ09ORklHOiB7W2tleTogc3RyaW5nXToge1trZXk6IHN0cmluZ106IGFueX19ID0ge1xuICB0ZXh0OiB7XG4gICAgZm9udFNpemU6IDEyLFxuICAgIGZvbnROYW1lOiAnaGVsdmV0aWNhJyxcbiAgICBmb250U3R5bGU6ICcnLFxuICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICBwb3NpdGlvblg6IDE0LFxuICAgIHBvc2l0aW9uWTogMTAsXG4gICAgY29sb3JXaGl0ZTogJyNmZmZmZmYnLFxuICAgIGNvbG9yQmxhY2s6ICcjMDAwMDAwJyxcbiAgICBjb2xvclByaW1hcnk6ICcjMDBiN2YwJ1xuICB9LFxuICBsb2dvOiB7XG4gICAgc3JjOiAnL2Fzc2V0cy9pbWcvaWNvbnMvbG9nby5wbmcnLFxuICAgIHdpZHRoOiAzMCxcbiAgICBoZWlnaHQ6IDcsXG4gICAgcG9zaXRpb25YOiAxNjgsXG4gICAgcG9zaXRpb25ZOiA2XG4gIH0sXG4gIC8vIGNvb3JkcyBmb3IgZmlsZSBzZWN0aW9uIHRpdGxlIChncm91cCwgdGFibGUsIGUudC5jLilcbiAgY29udGVudFRpdGxlQ29vcmRzOiB7XG4gICAgbWFyZ2luVG9wOiAxNVxuICB9LFxuICBjb250ZW50Q29vcmRzOiB7XG4gICAgbWFyZ2luVG9wOiAxNSxcbiAgICBtYXJnaW5MZWZ0OiAxNFxuICB9LFxuICB0YWJsZToge1xuICAgIGhlYWRTdHlsZXM6IHtcbiAgICAgIGZpbGxDb2xvcjogICcjMDBiN2YwJyxcbiAgICAgIGxpbmVXaWR0aDogLjIsXG4gICAgICBoYWxpZ246ICdjZW50ZXInXG4gICAgfSxcbiAgICBmb290U3R5bGVzOiB7XG4gICAgICBmaWxsQ29sb3I6ICcjZmZmZmZmJyxcbiAgICAgIHRleHRDb2xvcjogJyMwMDAwMDAnXG4gICAgfSxcbiAgfVxufTtcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcGRmL3BkZi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxFQUFFO1FBQ1osUUFBUSxFQUFFLFdBQVc7UUFDckIsU0FBUyxFQUFFLEVBQUU7UUFDYixVQUFVLEVBQUUsTUFBTTtRQUNsQixTQUFTLEVBQUUsRUFBRTtRQUNiLFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLFNBQVM7UUFDckIsVUFBVSxFQUFFLFNBQVM7UUFDckIsWUFBWSxFQUFFLFNBQVM7S0FDeEI7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLENBQUM7UUFDVCxTQUFTLEVBQUUsRUFBRTtRQUNiLFNBQVMsRUFBRSxDQUFDO0tBQ2I7SUFDRCx1REFBdUQ7SUFDdkQsa0JBQWtCLEVBQUU7UUFDbEIsU0FBUyxFQUFFLEVBQUU7S0FDZDtJQUNELGFBQWEsRUFBRTtRQUNiLFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLFNBQVMsRUFBRyxTQUFTO1lBQ3JCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDVixTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsU0FBUztTQUNyQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJhdGlvbiBmaWxlIHdpdGggdGhlIHNldHRpbmdzIHRvIGdlbmVyYXRlIFBERiBmaWxlXG4gKi9cbmV4cG9ydCBjb25zdCBQREZfQ09ORklHOiB7W2tleTogc3RyaW5nXToge1trZXk6IHN0cmluZ106IGFueX19ID0ge1xuICB0ZXh0OiB7XG4gICAgZm9udFNpemU6IDEyLFxuICAgIGZvbnROYW1lOiAnaGVsdmV0aWNhJyxcbiAgICBmb250U3R5bGU6ICcnLFxuICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICBwb3NpdGlvblg6IDE0LFxuICAgIHBvc2l0aW9uWTogMTAsXG4gICAgY29sb3JXaGl0ZTogJyNmZmZmZmYnLFxuICAgIGNvbG9yQmxhY2s6ICcjMDAwMDAwJyxcbiAgICBjb2xvclByaW1hcnk6ICcjMDBiN2YwJ1xuICB9LFxuICBsb2dvOiB7XG4gICAgc3JjOiAnL2Fzc2V0cy9pbWcvaWNvbnMvbG9nby5wbmcnLFxuICAgIHdpZHRoOiAzMCxcbiAgICBoZWlnaHQ6IDcsXG4gICAgcG9zaXRpb25YOiA0MixcbiAgICBwb3NpdGlvblk6IDZcbiAgfSxcbiAgLy8gY29vcmRzIGZvciBmaWxlIHNlY3Rpb24gdGl0bGUgKGdyb3VwLCB0YWJsZSwgZS50LmMuKVxuICBjb250ZW50VGl0bGVDb29yZHM6IHtcbiAgICBtYXJnaW5Ub3A6IDE1XG4gIH0sXG4gIGNvbnRlbnRDb29yZHM6IHtcbiAgICBtYXJnaW5Ub3A6IDE1LFxuICAgIG1hcmdpbkxlZnQ6IDE0XG4gIH0sXG4gIHRhYmxlOiB7XG4gICAgaGVhZFN0eWxlczoge1xuICAgICAgZmlsbENvbG9yOiAgJyMwMGI3ZjAnLFxuICAgICAgbGluZVdpZHRoOiAuMixcbiAgICAgIGhhbGlnbjogJ2NlbnRlcidcbiAgICB9LFxuICAgIGZvb3RTdHlsZXM6IHtcbiAgICAgIGZpbGxDb2xvcjogJyNmZmZmZmYnLFxuICAgICAgdGV4dENvbG9yOiAnIzAwMDAwMCdcbiAgICB9LFxuICB9XG59O1xuIl19
@@ -0,0 +1,6 @@
1
+ export var PdfOrientationEnum;
2
+ (function (PdfOrientationEnum) {
3
+ PdfOrientationEnum["PORTRAIT"] = "portrait";
4
+ PdfOrientationEnum["LANDSCAPE"] = "landscape";
5
+ })(PdfOrientationEnum || (PdfOrientationEnum = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLW9yaWVudGF0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3BkZi9wZGYtb3JpZW50YXRpb24uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLDJDQUFxQixDQUFBO0lBQ3JCLDZDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUGRmT3JpZW50YXRpb25FbnVtIHtcbiAgUE9SVFJBSVQgPSAncG9ydHJhaXQnLFxuICBMQU5EU0NBUEUgPSAnbGFuZHNjYXBlJ1xufVxuIl19
@@ -0,0 +1,124 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ACCOUNT_SETUP_ITEMS } from '../../models/account-setup/account-setup-items.const';
3
+ import { AccountSetupItemsEnum } from '../../models/account-setup/account-setup-items.enum';
4
+ import { IncomeSourceCollection } from '../../collections/income-source.collection';
5
+ import { IncomeSourceTypeEnum } from '../../db/Enums/income-source-type.enum';
6
+ import { combineLatest, ReplaySubject } from 'rxjs';
7
+ import { map } from 'rxjs/operators';
8
+ import { AccountSetupItemCollection } from '../../collections/account-setup-item.collection';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../http/firm/client-income/client-income-types.service";
11
+ import * as i2 from "../http/property/property.service";
12
+ import * as i3 from "../http/income-source/income-source.service";
13
+ import * as i4 from "../http/bank/bank-account/bank-account.service";
14
+ import * as i5 from "../http/transaction/transaction-allocation/transaction-allocation.service";
15
+ import * as i6 from "../http/vehicle/vehicle.service";
16
+ /**
17
+ * Service handling user's account setup process.
18
+ * Checks required steps and their completion
19
+ */
20
+ export class AccountSetupService {
21
+ constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService,
22
+ // @TODO Alex: Waiting logbook refactoring finished
23
+ // private vehicleClaimService: VehicleClaimService,
24
+ vehicleService) {
25
+ this.clientIncomeTypesService = clientIncomeTypesService;
26
+ this.propertyService = propertyService;
27
+ this.incomeSourceService = incomeSourceService;
28
+ this.bankAccountsService = bankAccountsService;
29
+ this.transactionAllocationService = transactionAllocationService;
30
+ this.vehicleService = vehicleService;
31
+ this.cacheSubject = new ReplaySubject(1);
32
+ }
33
+ /**
34
+ * Get list of account setup items for current user
35
+ */
36
+ get() {
37
+ if (!this.cache) {
38
+ this.clientIncomeTypesService.get().subscribe((incomeTypes) => {
39
+ combineLatest(this.createBatch(incomeTypes)).subscribe((items) => {
40
+ this.cache = new AccountSetupItemCollection(items);
41
+ this.cacheSubject.next(this.cache);
42
+ });
43
+ });
44
+ }
45
+ return this.cacheSubject.asObservable();
46
+ }
47
+ /**
48
+ * Get a single AccountSetupItem and check it's completion
49
+ */
50
+ create(itemType, request) {
51
+ return request.pipe(map((result) => {
52
+ const item = ACCOUNT_SETUP_ITEMS[itemType];
53
+ if (result.length) {
54
+ item.isCompleted = true;
55
+ }
56
+ return item;
57
+ }));
58
+ }
59
+ /**
60
+ * Get batch of requests to get list of required AccountSetupItem's.
61
+ * Some items are optional and depends of user's client income types
62
+ */
63
+ createBatch(incomeTypes) {
64
+ const batch = [];
65
+ // Salary item is completed when user added salary income source
66
+ if (incomeTypes.salary) {
67
+ batch.push(this.create(AccountSetupItemsEnum.SALARY, this.getIncomeSourcesByType(IncomeSourceTypeEnum.SALARY)));
68
+ }
69
+ // Other income item is completed when user added at least one other income source
70
+ if (incomeTypes.dividends || incomeTypes.other) {
71
+ batch.push(this.create(AccountSetupItemsEnum.OTHER_INCOME, this.getIncomeSourcesByType(IncomeSourceTypeEnum.OTHER)));
72
+ }
73
+ // Rental income item is completed when user added at least one property
74
+ if (incomeTypes.rental) {
75
+ batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.get()));
76
+ }
77
+ // Bank feeds item is completed when user added at least one bank account (basiq or manual)
78
+ batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.get()));
79
+ // Logbook item is completed when user has at least one vehicle claim with any method (klms or logbook)
80
+ batch.push(this.getLogbookItem());
81
+ // @TODO waiting for sole tank forecast page
82
+ // Sole item is completed when user added at least one sole income source
83
+ // if (incomeTypes.soleTrader) {
84
+ // batch.push(
85
+ // this.prepareItem(
86
+ // AccountSetupItemsEnum.SOLE_INCOME,
87
+ // this.getIncomeSourcesByType(IncomeSourceTypeEnum.SOLE)
88
+ // )
89
+ // );
90
+ // }
91
+ // Allocation item is completed when user added at least one transaction allocation
92
+ batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
93
+ return batch;
94
+ }
95
+ /**
96
+ * @TODO Temp solution: Refactor with new logbook system (waiting for PR finish). Use this.getItem() instead after refactoring
97
+ */
98
+ getLogbookItem() {
99
+ return this.vehicleService.getVehiclesClaim().pipe(map((vehicleClaim) => {
100
+ const item = ACCOUNT_SETUP_ITEMS[AccountSetupItemsEnum.WORK_LOGBOOK];
101
+ if (vehicleClaim.id) {
102
+ item.isCompleted = true;
103
+ }
104
+ return item;
105
+ }));
106
+ }
107
+ /**
108
+ * @TODO work with collection when services refactored
109
+ */
110
+ getIncomeSourcesByType(type) {
111
+ return this.incomeSourceService.get().pipe(map((incomeSources) => {
112
+ return new IncomeSourceCollection(incomeSources).getBy('type', type).toArray();
113
+ }));
114
+ }
115
+ }
116
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleService }], target: i0.ɵɵFactoryTarget.Injectable });
117
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, decorators: [{
119
+ type: Injectable,
120
+ args: [{
121
+ providedIn: 'root'
122
+ }]
123
+ }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleService }]; } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFLNUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLOUUsT0FBTyxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7OztBQUU3Rjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1Usd0JBQWtELEVBQ2xELGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxtQkFBdUMsRUFDdkMsNEJBQTBEO0lBQ2xFLG1EQUFtRDtJQUNuRCxvREFBb0Q7SUFDNUMsY0FBOEI7UUFQOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFHMUQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVnhDLGlCQUFZLEdBQThD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RSxDQUFDLENBQUMsQ0FBQztRQUVwRyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFvQixFQUFFO1lBQ25ELE1BQU0sSUFBSSxHQUFxQixtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV2RixJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0JBQXNCLENBQUMsSUFBMEI7UUFDdkQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFrQixFQUFFO1lBQ3BELE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOztpSEFwSVUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUNDT1VOVF9TRVRVUF9JVEVNUyB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuY29uc3QnO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtc0VudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW1zLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRJbmNvbWVUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscy9jbGllbnQvY2xpZW50LWluY29tZS10eXBlcyc7XG5pbXBvcnQgeyBDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi9odHRwL2Zpcm0vY2xpZW50LWluY29tZS9jbGllbnQtaW5jb21lLXR5cGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvaW5jb21lLXNvdXJjZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEluY29tZVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IEluY29tZVNvdXJjZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSB9IGZyb20gJy4uLy4uL21vZGVscy9sb2dib29rL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgVmVoaWNsZVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3ZlaGljbGUvdmVoaWNsZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgaGFuZGxpbmcgdXNlcidzIGFjY291bnQgc2V0dXAgcHJvY2Vzcy5cbiAqIENoZWNrcyByZXF1aXJlZCBzdGVwcyBhbmQgdGhlaXIgY29tcGxldGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2V0dXBTZXJ2aWNlIHtcbiAgY2FjaGU6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uO1xuICBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+ID0gbmV3IFJlcGxheVN1YmplY3Q8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlOiBDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVNlcnZpY2U6IFByb3BlcnR5U2VydmljZSxcbiAgICBwcml2YXRlIGluY29tZVNvdXJjZVNlcnZpY2U6IEluY29tZVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudHNTZXJ2aWNlOiBCYW5rQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLFxuICAgIC8vIEBUT0RPIEFsZXg6IFdhaXRpbmcgbG9nYm9vayByZWZhY3RvcmluZyBmaW5pc2hlZFxuICAgIC8vIHByaXZhdGUgdmVoaWNsZUNsYWltU2VydmljZTogVmVoaWNsZUNsYWltU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVTZXJ2aWNlOiBWZWhpY2xlU2VydmljZVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhY2NvdW50IHNldHVwIGl0ZW1zIGZvciBjdXJyZW50IHVzZXJcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXQoKS5zdWJzY3JpYmUoKGluY29tZVR5cGVzOiBDbGllbnRJbmNvbWVUeXBlcyk6IHZvaWQgPT4ge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpXG4gICAgICAgICkuc3Vic2NyaWJlKChpdGVtczogQWNjb3VudFNldHVwSXRlbVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcyk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2luZ2xlIEFjY291bnRTZXR1cEl0ZW0gYW5kIGNoZWNrIGl0J3MgY29tcGxldGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGUoaXRlbVR5cGU6IEFjY291bnRTZXR1cEl0ZW1zRW51bSwgcmVxdWVzdDogT2JzZXJ2YWJsZTxvYmplY3RbXT4pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gcmVxdWVzdC5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IG9iamVjdFtdKTogQWNjb3VudFNldHVwSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW06IEFjY291bnRTZXR1cEl0ZW0gPSBBQ0NPVU5UX1NFVFVQX0lURU1TW2l0ZW1UeXBlXTtcblxuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhdGNoIG9mIHJlcXVlc3RzIHRvIGdldCBsaXN0IG9mIHJlcXVpcmVkIEFjY291bnRTZXR1cEl0ZW0ncy5cbiAgICogU29tZSBpdGVtcyBhcmUgb3B0aW9uYWwgYW5kIGRlcGVuZHMgb2YgdXNlcidzIGNsaWVudCBpbmNvbWUgdHlwZXNcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQmF0Y2goaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPltdIHtcbiAgICBjb25zdCBiYXRjaDogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPltdID0gW107XG5cbiAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgaWYgKGluY29tZVR5cGVzLnNhbGFyeSkge1xuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5jcmVhdGUoXG4gICAgICAgICAgQWNjb3VudFNldHVwSXRlbXNFbnVtLlNBTEFSWSxcbiAgICAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXNCeVR5cGUoSW5jb21lU291cmNlVHlwZUVudW0uU0FMQVJZKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIE90aGVyIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIG90aGVyIGluY29tZSBzb3VyY2VcbiAgICBpZiAoaW5jb21lVHlwZXMuZGl2aWRlbmRzIHx8IGluY29tZVR5cGVzLm90aGVyKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uT1RIRVJfSU5DT01FLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlc0J5VHlwZShJbmNvbWVTb3VyY2VUeXBlRW51bS5PVEhFUilcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAoaW5jb21lVHlwZXMucmVudGFsKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBCYW5rIGZlZWRzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYmFuayBhY2NvdW50IChiYXNpcSBvciBtYW51YWwpXG4gICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uQkFOS19GRUVEUywgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldCgpKSk7XG5cbiAgICAvLyBMb2dib29rIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBoYXMgYXQgbGVhc3Qgb25lIHZlaGljbGUgY2xhaW0gd2l0aCBhbnkgbWV0aG9kIChrbG1zIG9yIGxvZ2Jvb2spXG4gICAgYmF0Y2gucHVzaCh0aGlzLmdldExvZ2Jvb2tJdGVtKCkpO1xuXG4gICAgLy8gQFRPRE8gd2FpdGluZyBmb3Igc29sZSB0YW5rIGZvcmVjYXN0IHBhZ2VcbiAgICAvLyBTb2xlIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgc29sZSBpbmNvbWUgc291cmNlXG4gICAgLy8gaWYgKGluY29tZVR5cGVzLnNvbGVUcmFkZXIpIHtcbiAgICAvLyAgIGJhdGNoLnB1c2goXG4gICAgLy8gICAgIHRoaXMucHJlcGFyZUl0ZW0oXG4gICAgLy8gICAgICAgQWNjb3VudFNldHVwSXRlbXNFbnVtLlNPTEVfSU5DT01FLFxuICAgIC8vICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlc0J5VHlwZShJbmNvbWVTb3VyY2VUeXBlRW51bS5TT0xFKVxuICAgIC8vICAgICApXG4gICAgLy8gICApO1xuICAgIC8vIH1cblxuICAgIC8vIEFsbG9jYXRpb24gaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSB0cmFuc2FjdGlvbiBhbGxvY2F0aW9uXG4gICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uVFJBTlNBQ1RJT04sIHRoaXMudHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZS5nZXQoKSkpO1xuXG4gICAgcmV0dXJuIGJhdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIFRlbXAgc29sdXRpb246IFJlZmFjdG9yIHdpdGggbmV3IGxvZ2Jvb2sgc3lzdGVtICh3YWl0aW5nIGZvciBQUiBmaW5pc2gpLiBVc2UgdGhpcy5nZXRJdGVtKCkgaW5zdGVhZCBhZnRlciByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy52ZWhpY2xlU2VydmljZS5nZXRWZWhpY2xlc0NsYWltKCkucGlwZShcbiAgICAgIG1hcCgodmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pOiBBY2NvdW50U2V0dXBJdGVtID0+IHtcbiAgICAgICAgY29uc3QgaXRlbTogQWNjb3VudFNldHVwSXRlbSA9IEFDQ09VTlRfU0VUVVBfSVRFTVNbQWNjb3VudFNldHVwSXRlbXNFbnVtLldPUktfTE9HQk9PS107XG5cbiAgICAgICAgaWYgKHZlaGljbGVDbGFpbS5pZCkge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gd29yayB3aXRoIGNvbGxlY3Rpb24gd2hlbiBzZXJ2aWNlcyByZWZhY3RvcmVkXG4gICAqL1xuICBwcml2YXRlIGdldEluY29tZVNvdXJjZXNCeVR5cGUodHlwZTogSW5jb21lU291cmNlVHlwZUVudW0pOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpLmdldEJ5KCd0eXBlJywgdHlwZSkudG9BcnJheSgpO1xuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ReplaySubject } from 'rxjs';
3
+ import { ClientIncomeTypes } from '../../../../models/client/client-income-types';
4
+ import { map } from 'rxjs/operators';
5
+ import { plainToClass } from 'class-transformer';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ /**
9
+ * @TODO extend rest service when it could work with single objects, not only arrays
10
+ */
11
+ export class ClientIncomeTypesService {
12
+ constructor(http, environment) {
13
+ this.http = http;
14
+ this.environment = environment;
15
+ this.cacheSubject = new ReplaySubject(1);
16
+ }
17
+ get() {
18
+ if (!this.cache) {
19
+ this.http.get(`${this.environment.apiV2}/client-income-types`)
20
+ .pipe(map((response) => {
21
+ return plainToClass(ClientIncomeTypes, response['hydra:member'][0], { excludePrefixes: ['@'] });
22
+ }))
23
+ .subscribe((incomeTypes) => {
24
+ this.cache = incomeTypes;
25
+ this.cacheSubject.next(this.cache);
26
+ });
27
+ }
28
+ return this.cacheSubject.asObservable();
29
+ }
30
+ update(incomeTypes) {
31
+ return this.http.put(`${this.environment.apiV2}/client-income-types/${incomeTypes.id}`, incomeTypes)
32
+ .pipe(map((incomeTypesBase) => {
33
+ this.cache = plainToClass(ClientIncomeTypes, incomeTypesBase);
34
+ this.cacheSubject.next(this.cache);
35
+ return this.cache;
36
+ }));
37
+ }
38
+ }
39
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
42
+ type: Injectable,
43
+ args: [{
44
+ providedIn: 'root'
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
47
+ type: Inject,
48
+ args: ['environment']
49
+ }] }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWluY29tZS10eXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUVqRDs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFDVSxJQUFnQixFQUNPLFdBQWdCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUpqRCxpQkFBWSxHQUFxQyxJQUFJLGFBQWEsQ0FBb0IsQ0FBQyxDQUFDLENBQUM7SUFNekYsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLHNCQUFzQixDQUFDO2lCQUMzRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBbUQsRUFBcUIsRUFBRTtnQkFDN0UsT0FBTyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xHLENBQUMsQ0FBQyxDQUNIO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLFdBQThCLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBOEI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyx3QkFBd0IsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQzthQUNqRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsZUFBc0MsRUFBcUIsRUFBRTtZQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztzSEFwQ1Usd0JBQXdCLDRDQU16QixhQUFhOzBIQU5aLHdCQUF3QixjQUZ2QixNQUFNOzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIGFzIENsaWVudEluY29tZVR5cGVzQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9jbGllbnQtaW5jb21lLXR5cGVzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBAVE9ETyBleHRlbmQgcmVzdCBzZXJ2aWNlIHdoZW4gaXQgY291bGQgd29yayB3aXRoIHNpbmdsZSBvYmplY3RzLCBub3Qgb25seSBhcnJheXNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlIHtcbiAgY2FjaGU6IENsaWVudEluY29tZVR5cGVzO1xuICBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8Q2xpZW50SW5jb21lVHlwZXM+ID0gbmV3IFJlcGxheVN1YmplY3Q8Q2xpZW50SW5jb21lVHlwZXM+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPENsaWVudEluY29tZVR5cGVzPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2NsaWVudC1pbmNvbWUtdHlwZXNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiB7J2h5ZHJhOm1lbWJlcic6IENsaWVudEluY29tZVR5cGVzQmFzZVtdfSk6IENsaWVudEluY29tZVR5cGVzID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoQ2xpZW50SW5jb21lVHlwZXMsIHJlc3BvbnNlWydoeWRyYTptZW1iZXInXVswXSwgeyBleGNsdWRlUHJlZml4ZXM6IFsnQCddIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IGluY29tZVR5cGVzO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZShpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPENsaWVudEluY29tZVR5cGVzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vY2xpZW50LWluY29tZS10eXBlcy8ke2luY29tZVR5cGVzLmlkfWAsIGluY29tZVR5cGVzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW5jb21lVHlwZXNCYXNlOiBDbGllbnRJbmNvbWVUeXBlc0Jhc2UpOiBDbGllbnRJbmNvbWVUeXBlcyA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHBsYWluVG9DbGFzcyhDbGllbnRJbmNvbWVUeXBlcywgaW5jb21lVHlwZXNCYXNlKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19