@xsolla/payment-client-core 0.0.11 → 0.0.13

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtaXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRJdGVtIHtcbiAgaW1nU3JjPzogc3RyaW5nO1xuICBoYXNEZWZhdWx0SW1nPzogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgcHJpY2U6IFByaWNlO1xuICBwcmljZUJlZm9yZURpc2NvdW50PzogUHJpY2U7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgdGF4PzogQ2FydExpbmUgfCBudWxsO1xuICBxdWFudGl0eT86IG51bWJlcjtcbiAgaXNCb251czogYm9vbGVhbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtaXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRJdGVtIHtcbiAga2V5Pzogc3RyaW5nO1xuICBpbWdTcmM/OiBzdHJpbmc7XG4gIGhhc0RlZmF1bHRJbWc/OiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBwcmljZTogUHJpY2U7XG4gIHByaWNlQmVmb3JlRGlzY291bnQ/OiBQcmljZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuICB0YXg/OiBDYXJ0TGluZSB8IG51bGw7XG4gIHF1YW50aXR5PzogbnVtYmVyO1xuICBpc0JvbnVzOiBib29sZWFuO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1saW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRMaW5lIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgbW9uZXk/OiBQcmljZTtcbiAgaXNEYXRlTGluZT86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1saW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRMaW5lIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgbW9uZXk/OiBQcmljZTtcbiAgcmF0ZT86IG51bWJlcjtcbiAgaXNEYXRlTGluZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1wcmljaW5nLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtcHJpY2luZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0U3VtbWFyeSB7XG4gIHRyYW5zYWN0aW9uRGV0YWlscz86IENhcnRMaW5lW107XG4gIHNoaXBwaW5nPzogQ2FydExpbmVbXTtcbiAgc3VidG90YWw/OiBDYXJ0TGluZTtcbiAgc3VidG90YWxQYXltZW50PzogQ2FydExpbmU7XG4gIHN1YnRvdGFsRGV0YWlscz86IENhcnRMaW5lW107XG4gIHRvdGFsOiBDYXJ0TGluZTtcbiAgdG90YWxEZXRhaWxzPzogQ2FydExpbmVbXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1zdW1tYXJ5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtc3VtbWFyeS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0U3VtbWFyeSB7XG4gIHRyYW5zYWN0aW9uRGV0YWlscz86IENhcnRMaW5lW107XG4gIHNoaXBwaW5nPzogQ2FydExpbmVbXTtcbiAgc3VidG90YWw/OiBDYXJ0TGluZTtcbiAgc3VidG90YWxQYXltZW50PzogQ2FydExpbmU7XG4gIHN1YnRvdGFsRGV0YWlscz86IENhcnRMaW5lW107XG4gIHRvdGFsOiBDYXJ0TGluZTtcbiAgdG90YWxEZXRhaWxzPzogQ2FydExpbmVbXTtcbn1cbiJdfQ==
@@ -10,6 +10,9 @@ export class FinanceDetails {
10
10
  constructor(parameters) {
11
11
  this.purchase = parameters.purchase;
12
12
  this.finance = parameters.finance;
13
+ this.cartItems = this.getFormattedPurchaseForCart();
14
+ this.cartSummary = this.getFormattedPricingForCart();
15
+ this.paymentCountry = this.getPaymentCountry();
13
16
  }
14
17
  getFormattedPurchaseForCart() {
15
18
  const checkouts = this.purchase.checkout_items?.map((item) => {
@@ -50,9 +53,8 @@ export class FinanceDetails {
50
53
  if (this.purchase.checkout) {
51
54
  checkoutArray = [
52
55
  {
53
- title: this.purchase.checkout.description
54
- ? this.purchase.checkout.description
55
- : 'In-game purchase',
56
+ key: 'checkout',
57
+ title: this.purchase.checkout.description,
56
58
  price: extractMoneyCurrency(this.purchase.checkout),
57
59
  isBonus: this.purchase.checkout.is_bonus ?? false,
58
60
  },
@@ -70,14 +72,17 @@ export class FinanceDetails {
70
72
  const subtotalDetailsSorting = [
71
73
  {
72
74
  key: 'discount',
75
+ responseKey: 'discount',
73
76
  title: 'Discount',
74
77
  },
75
78
  {
76
79
  key: 'fee',
80
+ responseKey: 'fee',
77
81
  title: 'Payment system fee',
78
82
  },
79
83
  {
80
- key: 'user_balance',
84
+ key: 'user-balance',
85
+ responseKey: 'user_balance',
81
86
  title: 'Balance',
82
87
  },
83
88
  ];
@@ -97,10 +102,11 @@ export class FinanceDetails {
97
102
  totalDetails: this.getTaxesForTotalDetails(),
98
103
  subtotalDetails: [
99
104
  ...subtotalDetailsSorting.map((sorting) => {
100
- const field = this.finance[sorting.key];
105
+ const field = this.finance[sorting.responseKey];
101
106
  if (field) {
102
107
  return {
103
- ...sorting,
108
+ key: sorting.key,
109
+ title: sorting.title,
104
110
  money: {
105
111
  amount: sorting.key === 'discount' && field.amount
106
112
  ? -field.amount
@@ -116,28 +122,36 @@ export class FinanceDetails {
116
122
  };
117
123
  }
118
124
  getPaymentCountry() {
119
- return this.finance?.payment_country.iso;
125
+ return this.finance.payment_country.iso;
120
126
  }
121
127
  getTaxForItem(indirectTaxRate) {
122
128
  if (indirectTaxRate ||
123
129
  (this.shouldShowZeroIndirectTaxRate && indirectTaxRate === 0)) {
124
130
  if (this.isSalesTaxes) {
125
131
  return {
132
+ key: 'sales-tax',
126
133
  content: `Sales tax ${indirectTaxRate}%`,
134
+ rate: indirectTaxRate,
127
135
  };
128
136
  }
129
137
  if (this.isIndia()) {
130
138
  return {
139
+ key: 'vat-india',
131
140
  content: `GST ${indirectTaxRate}%`,
141
+ rate: indirectTaxRate,
132
142
  };
133
143
  }
134
144
  if (this.isGhana()) {
135
145
  return {
146
+ key: 'vat-ghana',
136
147
  content: 'VAT, NHIL, GETFund Levy, and Covid-19 Levy',
148
+ rate: indirectTaxRate,
137
149
  };
138
150
  }
139
151
  return {
152
+ key: 'vat',
140
153
  content: `VAT ${indirectTaxRate}%`,
154
+ rate: indirectTaxRate,
141
155
  };
142
156
  }
143
157
  return null;
@@ -148,14 +162,14 @@ export class FinanceDetails {
148
162
  if (this.finance.vat_user &&
149
163
  (this.finance?.vat_user?.amount ?? this.finance?.vat_user?.visible)) {
150
164
  ret.push({
151
- key: 'vat_user',
165
+ key: this.getVatKeyForDetails(),
152
166
  title: this.getVatLabelForSubtotalDetails(),
153
167
  money: extractMoneyCurrency(this.finance.vat_user),
154
168
  });
155
169
  }
156
170
  if (this.finance.sales_tax_user?.amount) {
157
171
  ret.push({
158
- key: 'sales_tax_user',
172
+ key: 'sales-tax',
159
173
  title: 'Sales tax',
160
174
  money: extractMoneyCurrency(this.finance.sales_tax_user),
161
175
  });
@@ -177,7 +191,7 @@ export class FinanceDetails {
177
191
  if ((this.finance?.vat?.amount || this.finance?.vat?.visible) &&
178
192
  !this.finance?.vat_user?.amount) {
179
193
  ret.push({
180
- key: 'vat',
194
+ key: this.getVatKeyForDetails(),
181
195
  title: this.getVatLabelForTotalDetails(),
182
196
  money: extractMoneyCurrency(this.finance.vat),
183
197
  });
@@ -185,13 +199,22 @@ export class FinanceDetails {
185
199
  if (this.finance?.sales_tax?.amount &&
186
200
  !this.finance?.sales_tax_user?.amount) {
187
201
  ret.push({
188
- key: 'sales_tax',
202
+ key: 'sales-tax',
189
203
  title: 'Sales tax included',
190
204
  money: extractMoneyCurrency(this.finance.sales_tax),
191
205
  });
192
206
  }
193
207
  return ret;
194
208
  }
209
+ getVatKeyForDetails() {
210
+ if (this.isIndia()) {
211
+ return 'vat-india';
212
+ }
213
+ if (this.isGhana()) {
214
+ return 'vat-ghana';
215
+ }
216
+ return 'vat';
217
+ }
195
218
  getVatLabelForTotalDetails() {
196
219
  if (this.isIndia()) {
197
220
  return `Including ${this.finance.vat.percent}% GST`;
@@ -211,4 +234,4 @@ export class FinanceDetails {
211
234
  return defaultImagePatterns.some((regex) => regex.test(url));
212
235
  }
213
236
  }
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS1kZXRhaWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9FLE1BQU0sT0FBTyxjQUFjO0lBSXpCLElBQVksNkJBQTZCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxDQUFDLENBQUMsQ0FDUCxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQW1CLFVBR2xCO1FBQ0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sU0FBUyxHQUEyQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQ3pFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxPQUFPO2dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDdEIsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNQdXJjaGFzZSB9IGZyb20gJy4uL3hwcy1wdXJjaGFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydEl0ZW0gfSBmcm9tICcuL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydExpbmUgfSBmcm9tICcuL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuL2NhcnQtcHJpY2luZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGVmYXVsdEltYWdlUGF0dGVybnMgfSBmcm9tICcuL2RlZmF1bHQtaW1hZ2UtcGF0dGVybnMuY29uc3QnO1xuaW1wb3J0IHsgY3JlYXRlUHJpY2VPclVuZGVmaW5lZCwgZXh0cmFjdE1vbmV5Q3VycmVuY3kgfSBmcm9tICcuL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgUHJpY2UgfSBmcm9tICcuL3ByaWNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBGaW5hbmNlRGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZTogWHBzUHVyY2hhc2U7XG4gIHB1YmxpYyByZWFkb25seSBmaW5hbmNlOiBYcHNGaW5hbmNlO1xuXG4gIHByaXZhdGUgZ2V0IHNob3VsZFNob3daZXJvSW5kaXJlY3RUYXhSYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmZpbmFuY2U/LnZhdD8udmlzaWJsZSB8fCB0aGlzLmZpbmFuY2U/LnZhdF91c2VyPy52aXNpYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGlzU2FsZXNUYXhlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLmZpbmFuY2U/LnNhbGVzX3RheD8uYW1vdW50IHx8IHRoaXMuZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1ldGVyczoge1xuICAgIHB1cmNoYXNlOiBYcHNQdXJjaGFzZTtcbiAgICBmaW5hbmNlOiBYcHNGaW5hbmNlO1xuICB9KSB7XG4gICAgdGhpcy5wdXJjaGFzZSA9IHBhcmFtZXRlcnMucHVyY2hhc2U7XG4gICAgdGhpcy5maW5hbmNlID0gcGFyYW1ldGVycy5maW5hbmNlO1xuICB9XG5cbiAgcHVibGljIGdldEZvcm1hdHRlZFB1cmNoYXNlRm9yQ2FydCgpOiBDYXJ0SXRlbVtdIHtcbiAgICBjb25zdCBjaGVja291dHM6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPSB0aGlzLnB1cmNoYXNlLmNoZWNrb3V0X2l0ZW1zPy5tYXAoXG4gICAgICAoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3koaXRlbSwgZmFsc2UpLFxuICAgICAgICAgIHByaWNlQmVmb3JlRGlzY291bnQ6IGNyZWF0ZVByaWNlT3JVbmRlZmluZWQoXG4gICAgICAgICAgICBpdGVtLmFtb3VudF9iZWZvcmVfZGlzY291bnQsXG4gICAgICAgICAgICBpdGVtLmN1cnJlbmN5XG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0YXg6IHRoaXMuZ2V0VGF4Rm9ySXRlbShpdGVtLmluZGlyZWN0X3RheF9yYXRlKSxcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCB2aXJ0dWFsQ3VycmVuY2llczogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLnB1cmNoYXNlLnZpcnR1YWxfY3VycmVuY3k/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGAke2l0ZW0ucXVhbnRpdHl9ICR7aXRlbS5uYW1lfWAsXG4gICAgICAgICAgcHJpY2U6IGV4dHJhY3RNb25leUN1cnJlbmN5KGl0ZW0pLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHZpcnR1YWxJdGVtczogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLnB1cmNoYXNlLnZpcnR1YWxfaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3koaXRlbSksXG4gICAgICAgICAgZGVzY3JpcHRpb246IGl0ZW0uZGVzY3JpcHRpb24sXG4gICAgICAgICAgcXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHksXG4gICAgICAgICAgaXNCb251czogaXRlbS5pc19ib251cyxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgbGV0IGNoZWNrb3V0QXJyYXk6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMucHVyY2hhc2UuY2hlY2tvdXQpIHtcbiAgICAgIGNoZWNrb3V0QXJyYXkgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogdGhpcy5wdXJjaGFzZS5jaGVja291dC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgPyB0aGlzLnB1cmNoYXNlLmNoZWNrb3V0LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICA6ICdJbi1nYW1lIHB1cmNoYXNlJyxcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3kodGhpcy5wdXJjaGFzZS5jaGVja291dCksXG4gICAgICAgICAgaXNCb251czogdGhpcy5wdXJjaGFzZS5jaGVja291dC5pc19ib251cyA/PyBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLihjaGVja291dHMgPz8gW10pLFxuICAgICAgLi4uKHZpcnR1YWxDdXJyZW5jaWVzID8/IFtdKSxcbiAgICAgIC4uLih2aXJ0dWFsSXRlbXMgPz8gW10pLFxuICAgICAgLi4uKGNoZWNrb3V0QXJyYXkgPz8gW10pLFxuICAgIF07XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUHJpY2luZ0ZvckNhcnQoKTogQ2FydFN1bW1hcnkge1xuICAgIC8vIHN1YnRvdGFsIGRldGFpbHMgZmllbGRzXG4gICAgY29uc3Qgc3VidG90YWxEZXRhaWxzU29ydGluZyA9IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZGlzY291bnQnLFxuICAgICAgICB0aXRsZTogJ0Rpc2NvdW50JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2ZlZScsXG4gICAgICAgIHRpdGxlOiAnUGF5bWVudCBzeXN0ZW0gZmVlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3VzZXJfYmFsYW5jZScsXG4gICAgICAgIHRpdGxlOiAnQmFsYW5jZScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VidG90YWw6IHtcbiAgICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICAgIG1vbmV5OiBjcmVhdGVQcmljZU9yVW5kZWZpbmVkKFxuICAgICAgICAgIHRoaXMuZmluYW5jZS5zdWJfdG90YWwuYW1vdW50LFxuICAgICAgICAgIHRoaXMuZmluYW5jZS5zdWJfdG90YWwuY3VycmVuY3lcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBtb25leTogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICB0aGlzLmZpbmFuY2Uuc3ViX3RvdGFsLnBheW1lbnRfYW1vdW50LFxuICAgICAgICAgIHRoaXMuZmluYW5jZS5zdWJfdG90YWwucGF5bWVudF9jdXJyZW5jeVxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHRvdGFsOiB7XG4gICAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3kodGhpcy5maW5hbmNlLnRvdGFsKSxcbiAgICAgIH0sXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VGF4ZXNGb3JUb3RhbERldGFpbHMoKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi5zdWJ0b3RhbERldGFpbHNTb3J0aW5nLm1hcCgoc29ydGluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpZWxkID0gKHRoaXMuZmluYW5jZSBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KVtcbiAgICAgICAgICAgIHNvcnRpbmcua2V5XG4gICAgICAgICAgXSBhcyBQcmljZTtcblxuICAgICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uc29ydGluZyxcbiAgICAgICAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICAgICAgICBhbW91bnQ6XG4gICAgICAgICAgICAgICAgICBzb3J0aW5nLmtleSA9PT0gJ2Rpc2NvdW50JyAmJiBmaWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICAgICAgPyAtZmllbGQuYW1vdW50XG4gICAgICAgICAgICAgICAgICAgIDogZmllbGQuYW1vdW50LFxuICAgICAgICAgICAgICAgIGN1cnJlbmN5OiBmaWVsZC5jdXJyZW5jeSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzb3J0aW5nO1xuICAgICAgICB9KSxcbiAgICAgICAgLi4udGhpcy5nZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscygpLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFBheW1lbnRDb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGF4Rm9ySXRlbShpbmRpcmVjdFRheFJhdGU6IG51bWJlciB8IHVuZGVmaW5lZCk6IENhcnRMaW5lIHwgbnVsbCB7XG4gICAgaWYgKFxuICAgICAgaW5kaXJlY3RUYXhSYXRlIHx8XG4gICAgICAodGhpcy5zaG91bGRTaG93WmVyb0luZGlyZWN0VGF4UmF0ZSAmJiBpbmRpcmVjdFRheFJhdGUgPT09IDApXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5pc1NhbGVzVGF4ZXMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBgU2FsZXMgdGF4ICR7aW5kaXJlY3RUYXhSYXRlfSVgLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0luZGlhKCkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBgR1NUICR7aW5kaXJlY3RUYXhSYXRlfSVgLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0doYW5hKCkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiAnVkFULCBOSElMLCBHRVRGdW5kIExldnksIGFuZCBDb3ZpZC0xOSBMZXZ5JyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogYFZBVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscygpOiBDYXJ0TGluZVtdIHtcbiAgICBjb25zdCByZXQgPSBbXTtcblxuICAgIC8vIHN1YnRvdGFsLiBWQVQgJXBcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbmFuY2UudmF0X3VzZXIgJiZcbiAgICAgICh0aGlzLmZpbmFuY2U/LnZhdF91c2VyPy5hbW91bnQgPz8gdGhpcy5maW5hbmNlPy52YXRfdXNlcj8udmlzaWJsZSlcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiAndmF0X3VzZXInLFxuICAgICAgICB0aXRsZTogdGhpcy5nZXRWYXRMYWJlbEZvclN1YnRvdGFsRGV0YWlscygpLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3kodGhpcy5maW5hbmNlLnZhdF91c2VyKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbmFuY2Uuc2FsZXNfdGF4X3VzZXI/LmFtb3VudCkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6ICdzYWxlc190YXhfdXNlcicsXG4gICAgICAgIHRpdGxlOiAnU2FsZXMgdGF4JyxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KHRoaXMuZmluYW5jZS5zYWxlc190YXhfdXNlciksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRMYWJlbEZvclN1YnRvdGFsRGV0YWlscygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoKSkge1xuICAgICAgcmV0dXJuIGBHU1QgJHt0aGlzLmZpbmFuY2UudmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYSgpKSB7XG4gICAgICByZXR1cm4gYFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBWQVQgJHt0aGlzLmZpbmFuY2UudmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yVG90YWxEZXRhaWxzKCk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHJldCA9IFtdO1xuXG4gICAgLy8gZm9yIHRvdGFsRGV0YWlscy4gVkFUXG4gICAgaWYgKFxuICAgICAgKHRoaXMuZmluYW5jZT8udmF0Py5hbW91bnQgfHwgdGhpcy5maW5hbmNlPy52YXQ/LnZpc2libGUpICYmXG4gICAgICAhdGhpcy5maW5hbmNlPy52YXRfdXNlcj8uYW1vdW50XG4gICAgKSB7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIGtleTogJ3ZhdCcsXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yVG90YWxEZXRhaWxzKCksXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeSh0aGlzLmZpbmFuY2UudmF0KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuZmluYW5jZT8uc2FsZXNfdGF4Py5hbW91bnQgJiZcbiAgICAgICF0aGlzLmZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnRcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiAnc2FsZXNfdGF4JyxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXggaW5jbHVkZWQnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3kodGhpcy5maW5hbmNlLnNhbGVzX3RheCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRMYWJlbEZvclRvdGFsRGV0YWlscygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoKSkge1xuICAgICAgcmV0dXJuIGBJbmNsdWRpbmcgJHt0aGlzLmZpbmFuY2UudmF0LnBlcmNlbnR9JSBHU1RgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoKSkge1xuICAgICAgcmV0dXJuICdJbmNsdWRpbmcgVkFULCBOSElMLCBHRVRGdW5kIExldnksIGFuZCBDb3ZpZC0xOSBMZXZ5JztcbiAgICB9XG5cbiAgICByZXR1cm4gYEluY2x1ZGluZyAke3RoaXMuZmluYW5jZS52YXQucGVyY2VudH0lIFZBVGA7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbyA9PT0gJ0lOJztcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlPy5wYXltZW50X2NvdW50cnkuaXNvID09PSAnR0gnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RlZmF1bHRJbWFnZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkZWZhdWx0SW1hZ2VQYXR0ZXJucy5zb21lKChyZWdleCkgPT4gcmVnZXgudGVzdCh1cmwpKTtcbiAgfVxufVxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS1kZXRhaWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9FLE1BQU0sT0FBTyxjQUFjO0lBT3pCLElBQVksNkJBQTZCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxDQUFDLENBQUMsQ0FDUCxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQW1CLFVBR2xCO1FBQ0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sMkJBQTJC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QUFDO1NBQ3BCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE9BQU8sYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQztTQUNyRDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE9BQU8sc0RBQXNELENBQUM7U0FDL0Q7UUFFRCxPQUFPLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxPQUFPLENBQUM7SUFDdEQsQ0FBQztJQUVPLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUVPLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNQdXJjaGFzZSB9IGZyb20gJy4uL3hwcy1wdXJjaGFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydEl0ZW0gfSBmcm9tICcuL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydExpbmUgfSBmcm9tICcuL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuL2NhcnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGVmYXVsdEltYWdlUGF0dGVybnMgfSBmcm9tICcuL2RlZmF1bHQtaW1hZ2UtcGF0dGVybnMuY29uc3QnO1xuaW1wb3J0IHsgY3JlYXRlUHJpY2VPclVuZGVmaW5lZCwgZXh0cmFjdE1vbmV5Q3VycmVuY3kgfSBmcm9tICcuL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgUHJpY2UgfSBmcm9tICcuL3ByaWNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBGaW5hbmNlRGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZTogWHBzUHVyY2hhc2U7XG4gIHB1YmxpYyByZWFkb25seSBmaW5hbmNlOiBYcHNGaW5hbmNlO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FydEl0ZW1zOiBDYXJ0SXRlbVtdO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FydFN1bW1hcnk6IENhcnRTdW1tYXJ5O1xuICBwdWJsaWMgcmVhZG9ubHkgcGF5bWVudENvdW50cnk6IHN0cmluZztcblxuICBwcml2YXRlIGdldCBzaG91bGRTaG93WmVyb0luZGlyZWN0VGF4UmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5maW5hbmNlPy52YXQ/LnZpc2libGUgfHwgdGhpcy5maW5hbmNlPy52YXRfdXNlcj8udmlzaWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc1NhbGVzVGF4ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdGhpcy5maW5hbmNlPy5zYWxlc190YXg/LmFtb3VudCB8fCB0aGlzLmZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtZXRlcnM6IHtcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2U7XG4gICAgZmluYW5jZTogWHBzRmluYW5jZTtcbiAgfSkge1xuICAgIHRoaXMucHVyY2hhc2UgPSBwYXJhbWV0ZXJzLnB1cmNoYXNlO1xuICAgIHRoaXMuZmluYW5jZSA9IHBhcmFtZXRlcnMuZmluYW5jZTtcbiAgICB0aGlzLmNhcnRJdGVtcyA9IHRoaXMuZ2V0Rm9ybWF0dGVkUHVyY2hhc2VGb3JDYXJ0KCk7XG4gICAgdGhpcy5jYXJ0U3VtbWFyeSA9IHRoaXMuZ2V0Rm9ybWF0dGVkUHJpY2luZ0ZvckNhcnQoKTtcbiAgICB0aGlzLnBheW1lbnRDb3VudHJ5ID0gdGhpcy5nZXRQYXltZW50Q291bnRyeSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRQdXJjaGFzZUZvckNhcnQoKTogQ2FydEl0ZW1bXSB7XG4gICAgY29uc3QgY2hlY2tvdXRzOiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID0gdGhpcy5wdXJjaGFzZS5jaGVja291dF9pdGVtcz8ubWFwKFxuICAgICAgKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbWdTcmM6IGl0ZW0uaW1hZ2VfdXJsLFxuICAgICAgICAgIGhhc0RlZmF1bHRJbWc6IHRoaXMuaXNEZWZhdWx0SW1hZ2UoaXRlbS5pbWFnZV91cmwpLFxuICAgICAgICAgIHRpdGxlOiBpdGVtLm5hbWUsXG4gICAgICAgICAgcHJpY2U6IGV4dHJhY3RNb25leUN1cnJlbmN5KGl0ZW0sIGZhbHNlKSxcbiAgICAgICAgICBwcmljZUJlZm9yZURpc2NvdW50OiBjcmVhdGVQcmljZU9yVW5kZWZpbmVkKFxuICAgICAgICAgICAgaXRlbS5hbW91bnRfYmVmb3JlX2Rpc2NvdW50LFxuICAgICAgICAgICAgaXRlbS5jdXJyZW5jeVxuICAgICAgICAgICksXG4gICAgICAgICAgcXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb246IGl0ZW0uZGVzY3JpcHRpb24sXG4gICAgICAgICAgdGF4OiB0aGlzLmdldFRheEZvckl0ZW0oaXRlbS5pbmRpcmVjdF90YXhfcmF0ZSksXG4gICAgICAgICAgaXNCb251czogaXRlbS5pc19ib251cyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgdmlydHVhbEN1cnJlbmNpZXM6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5wdXJjaGFzZS52aXJ0dWFsX2N1cnJlbmN5Py5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbWdTcmM6IGl0ZW0uaW1hZ2VfdXJsLFxuICAgICAgICAgIGhhc0RlZmF1bHRJbWc6IHRoaXMuaXNEZWZhdWx0SW1hZ2UoaXRlbS5pbWFnZV91cmwpLFxuICAgICAgICAgIHRpdGxlOiBgJHtpdGVtLnF1YW50aXR5fSAke2l0ZW0ubmFtZX1gLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICBjb25zdCB2aXJ0dWFsSXRlbXM6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5wdXJjaGFzZS52aXJ0dWFsX2l0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbWdTcmM6IGl0ZW0uaW1hZ2VfdXJsLFxuICAgICAgICAgIGhhc0RlZmF1bHRJbWc6IHRoaXMuaXNEZWZhdWx0SW1hZ2UoaXRlbS5pbWFnZV91cmwpLFxuICAgICAgICAgIHRpdGxlOiBpdGVtLm5hbWUsXG4gICAgICAgICAgcHJpY2U6IGV4dHJhY3RNb25leUN1cnJlbmN5KGl0ZW0pLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5LFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgIGxldCBjaGVja291dEFycmF5OiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLnB1cmNoYXNlLmNoZWNrb3V0KSB7XG4gICAgICBjaGVja291dEFycmF5ID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY2hlY2tvdXQnLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnB1cmNoYXNlLmNoZWNrb3V0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeSh0aGlzLnB1cmNoYXNlLmNoZWNrb3V0KSxcbiAgICAgICAgICBpc0JvbnVzOiB0aGlzLnB1cmNoYXNlLmNoZWNrb3V0LmlzX2JvbnVzID8/IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgLi4uKGNoZWNrb3V0cyA/PyBbXSksXG4gICAgICAuLi4odmlydHVhbEN1cnJlbmNpZXMgPz8gW10pLFxuICAgICAgLi4uKHZpcnR1YWxJdGVtcyA/PyBbXSksXG4gICAgICAuLi4oY2hlY2tvdXRBcnJheSA/PyBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkUHJpY2luZ0ZvckNhcnQoKTogQ2FydFN1bW1hcnkge1xuICAgIC8vIHN1YnRvdGFsIGRldGFpbHMgZmllbGRzXG4gICAgY29uc3Qgc3VidG90YWxEZXRhaWxzU29ydGluZyA9IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZGlzY291bnQnLFxuICAgICAgICByZXNwb25zZUtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgdGl0bGU6ICdEaXNjb3VudCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdmZWUnLFxuICAgICAgICByZXNwb25zZUtleTogJ2ZlZScsXG4gICAgICAgIHRpdGxlOiAnUGF5bWVudCBzeXN0ZW0gZmVlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3VzZXItYmFsYW5jZScsXG4gICAgICAgIHJlc3BvbnNlS2V5OiAndXNlcl9iYWxhbmNlJyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWJ0b3RhbDoge1xuICAgICAgICB0aXRsZTogJ1N1YnRvdGFsJyxcbiAgICAgICAgbW9uZXk6IGNyZWF0ZVByaWNlT3JVbmRlZmluZWQoXG4gICAgICAgICAgdGhpcy5maW5hbmNlLnN1Yl90b3RhbC5hbW91bnQsXG4gICAgICAgICAgdGhpcy5maW5hbmNlLnN1Yl90b3RhbC5jdXJyZW5jeVxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDoge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIG1vbmV5OiBjcmVhdGVQcmljZU9yVW5kZWZpbmVkKFxuICAgICAgICAgIHRoaXMuZmluYW5jZS5zdWJfdG90YWwucGF5bWVudF9hbW91bnQsXG4gICAgICAgICAgdGhpcy5maW5hbmNlLnN1Yl90b3RhbC5wYXltZW50X2N1cnJlbmN5XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGl0bGU6ICdUb3RhbCcsXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeSh0aGlzLmZpbmFuY2UudG90YWwpLFxuICAgICAgfSxcbiAgICAgIHRvdGFsRGV0YWlsczogdGhpcy5nZXRUYXhlc0ZvclRvdGFsRGV0YWlscygpLFxuICAgICAgc3VidG90YWxEZXRhaWxzOiBbXG4gICAgICAgIC4uLnN1YnRvdGFsRGV0YWlsc1NvcnRpbmcubWFwKChzb3J0aW5nKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSAodGhpcy5maW5hbmNlIGFzIHVua25vd24gYXMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pW1xuICAgICAgICAgICAgc29ydGluZy5yZXNwb25zZUtleVxuICAgICAgICAgIF0gYXMgUHJpY2U7XG5cbiAgICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGtleTogc29ydGluZy5rZXksXG4gICAgICAgICAgICAgIHRpdGxlOiBzb3J0aW5nLnRpdGxlLFxuICAgICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICAgIGFtb3VudDpcbiAgICAgICAgICAgICAgICAgIHNvcnRpbmcua2V5ID09PSAnZGlzY291bnQnICYmIGZpZWxkLmFtb3VudFxuICAgICAgICAgICAgICAgICAgICA/IC1maWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICAgICAgOiBmaWVsZC5hbW91bnQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3k6IGZpZWxkLmN1cnJlbmN5LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNvcnRpbmc7XG4gICAgICAgIH0pLFxuICAgICAgICAuLi50aGlzLmdldFRheGVzRm9yU3VidG90YWxEZXRhaWxzKCksXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBheW1lbnRDb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZS5wYXltZW50X2NvdW50cnkuaXNvO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhGb3JJdGVtKGluZGlyZWN0VGF4UmF0ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogQ2FydExpbmUgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICBpbmRpcmVjdFRheFJhdGUgfHxcbiAgICAgICh0aGlzLnNob3VsZFNob3daZXJvSW5kaXJlY3RUYXhSYXRlICYmIGluZGlyZWN0VGF4UmF0ZSA9PT0gMClcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLmlzU2FsZXNUYXhlcykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJ3NhbGVzLXRheCcsXG4gICAgICAgICAgY29udGVudDogYFNhbGVzIHRheCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzSW5kaWEoKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJ3ZhdC1pbmRpYScsXG4gICAgICAgICAgY29udGVudDogYEdTVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzR2hhbmEoKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJ3ZhdC1naGFuYScsXG4gICAgICAgICAgY29udGVudDogJ1ZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eScsXG4gICAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6ICd2YXQnLFxuICAgICAgICBjb250ZW50OiBgVkFUICR7aW5kaXJlY3RUYXhSYXRlfSVgLFxuICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgcmV0ID0gW107XG5cbiAgICAvLyBzdWJ0b3RhbC4gVkFUICVwXG4gICAgaWYgKFxuICAgICAgdGhpcy5maW5hbmNlLnZhdF91c2VyICYmXG4gICAgICAodGhpcy5maW5hbmNlPy52YXRfdXNlcj8uYW1vdW50ID8/IHRoaXMuZmluYW5jZT8udmF0X3VzZXI/LnZpc2libGUpXG4gICAgKSB7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRLZXlGb3JEZXRhaWxzKCksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yU3VidG90YWxEZXRhaWxzKCksXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeSh0aGlzLmZpbmFuY2UudmF0X3VzZXIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmluYW5jZS5zYWxlc190YXhfdXNlcj8uYW1vdW50KSB7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIGtleTogJ3NhbGVzLXRheCcsXG4gICAgICAgIHRpdGxlOiAnU2FsZXMgdGF4JyxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KHRoaXMuZmluYW5jZS5zYWxlc190YXhfdXNlciksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRMYWJlbEZvclN1YnRvdGFsRGV0YWlscygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoKSkge1xuICAgICAgcmV0dXJuIGBHU1QgJHt0aGlzLmZpbmFuY2UudmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYSgpKSB7XG4gICAgICByZXR1cm4gYFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBWQVQgJHt0aGlzLmZpbmFuY2UudmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yVG90YWxEZXRhaWxzKCk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHJldCA9IFtdO1xuXG4gICAgLy8gZm9yIHRvdGFsRGV0YWlscy4gVkFUXG4gICAgaWYgKFxuICAgICAgKHRoaXMuZmluYW5jZT8udmF0Py5hbW91bnQgfHwgdGhpcy5maW5hbmNlPy52YXQ/LnZpc2libGUpICYmXG4gICAgICAhdGhpcy5maW5hbmNlPy52YXRfdXNlcj8uYW1vdW50XG4gICAgKSB7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRLZXlGb3JEZXRhaWxzKCksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yVG90YWxEZXRhaWxzKCksXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeSh0aGlzLmZpbmFuY2UudmF0KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuZmluYW5jZT8uc2FsZXNfdGF4Py5hbW91bnQgJiZcbiAgICAgICF0aGlzLmZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnRcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiAnc2FsZXMtdGF4JyxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXggaW5jbHVkZWQnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3kodGhpcy5maW5hbmNlLnNhbGVzX3RheCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRLZXlGb3JEZXRhaWxzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYSgpKSB7XG4gICAgICByZXR1cm4gJ3ZhdC1pbmRpYSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYSgpKSB7XG4gICAgICByZXR1cm4gJ3ZhdC1naGFuYSc7XG4gICAgfVxuXG4gICAgcmV0dXJuICd2YXQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRMYWJlbEZvclRvdGFsRGV0YWlscygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoKSkge1xuICAgICAgcmV0dXJuIGBJbmNsdWRpbmcgJHt0aGlzLmZpbmFuY2UudmF0LnBlcmNlbnR9JSBHU1RgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoKSkge1xuICAgICAgcmV0dXJuICdJbmNsdWRpbmcgVkFULCBOSElMLCBHRVRGdW5kIExldnksIGFuZCBDb3ZpZC0xOSBMZXZ5JztcbiAgICB9XG5cbiAgICByZXR1cm4gYEluY2x1ZGluZyAke3RoaXMuZmluYW5jZS52YXQucGVyY2VudH0lIFZBVGA7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbyA9PT0gJ0lOJztcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlPy5wYXltZW50X2NvdW50cnkuaXNvID09PSAnR0gnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RlZmF1bHRJbWFnZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkZWZhdWx0SW1hZ2VQYXR0ZXJucy5zb21lKChyZWdleCkgPT4gcmVnZXgudGVzdCh1cmwpKTtcbiAgfVxufVxuIl19
@@ -15,8 +15,8 @@ export class StatusService {
15
15
  this.statusRequestService.setRequestParams(params);
16
16
  this.startWaitingStatusUpdates(params.invoice);
17
17
  this.statusRequestService.request();
18
- const statusResponse = await firstValueFrom(this.listenStatusService.statusUpdated$);
19
- return statusResponse.statusResponse.status;
18
+ const statusResponse = await firstValueFrom(this.statusRequestService.response$);
19
+ return statusResponse.status;
20
20
  }
21
21
  startWaitingStatusUpdates(invoice) {
22
22
  this.listenStatusService.listen(invoice);
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
35
35
  providedIn: 'root',
36
36
  }]
37
37
  }], ctorParameters: function () { return [{ type: i1.StatusRequestService }, { type: i2.ListenStatusService }, { type: i3.NextActionService }]; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7OztBQUs1RixNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNtQixvQkFBMEMsRUFDMUMsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUZwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNwRCxDQUFDO0lBRUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQ3pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQ3hDLENBQUM7UUFFRixPQUFPLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFlO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7YUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUN4QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswR0EvQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBza2lwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpc3RlblN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9zdGF0dXMtdXBkYXRlZC9zdGF0dXMtdXBkYXRlZC5hY3Rpb24uY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1JlcXVlc3RTZXJ2aWNlOiBTdGF0dXNSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlblN0YXR1c1NlcnZpY2U6IExpc3RlblN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMocGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnNldFJlcXVlc3RQYXJhbXMocGFyYW1zKTtcblxuICAgIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG5cbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcblxuICAgIGNvbnN0IHN0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2Uuc3RhdHVzVXBkYXRlZCRcbiAgICApO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhpbnZvaWNlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0YXR1c1VwZGF0ZWQkXG4gICAgICAucGlwZShza2lwKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeyBzdGF0dXNSZXNwb25zZSB9KSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIG5ldyBTdGF0dXNVcGRhdGVkQWN0aW9uKHN0YXR1c1Jlc3BvbnNlKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7OztBQUs1RixNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNtQixvQkFBMEMsRUFDMUMsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUZwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNwRCxDQUFDO0lBRUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQ3pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQ3BDLENBQUM7UUFFRixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQWU7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYzthQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQ3hDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzBHQS9CVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIHNraXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlzdGVuU3RhdHVzU2VydmljZSB9IGZyb20gJy4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdGVuU3RhdHVzU2VydmljZTogTGlzdGVuU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICBuZXcgU3RhdHVzVXBkYXRlZEFjdGlvbihzdGF0dXNSZXNwb25zZSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXB1cmNoYXNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLXB1cmNoYXNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRJdGVtIH0gZnJvbSAnLi9jaGVja291dC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWaXJ0dWFsQ3VycmVuY3kgfSBmcm9tICcuL3ZpcnR1YWwtY3VycmVuY3kuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1YnNjcmlwdGlvbkl0ZW0gfSBmcm9tICcuL3hwcy1zdWJzY3JpcHRpb24taXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFhwc1B1cmNoYXNlIHtcbiAgdmlydHVhbF9jdXJyZW5jeT86IFZpcnR1YWxDdXJyZW5jeVtdO1xuICBjaGVja291dF9pdGVtcz86IENoZWNrb3V0SXRlbVtdO1xuICB2aXJ0dWFsX2l0ZW1zPzogVmlydHVhbEN1cnJlbmN5W107XG4gIHN1YnNjcmlwdGlvbnM/OiBYcHNTdWJzY3JpcHRpb25JdGVtW107XG4gIGNoZWNrb3V0Pzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpc19ib251cz86IGJvb2xlYW47XG4gIH07XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXB1cmNoYXNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLXB1cmNoYXNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRJdGVtIH0gZnJvbSAnLi9jaGVja291dC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWaXJ0dWFsQ3VycmVuY3kgfSBmcm9tICcuL3ZpcnR1YWwtY3VycmVuY3kuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBYcHNQdXJjaGFzZSB7XG4gIHZpcnR1YWxfY3VycmVuY3k/OiBWaXJ0dWFsQ3VycmVuY3lbXTtcbiAgY2hlY2tvdXRfaXRlbXM/OiBDaGVja291dEl0ZW1bXTtcbiAgdmlydHVhbF9pdGVtcz86IFZpcnR1YWxDdXJyZW5jeVtdO1xuICBjaGVja291dD86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgaXNfYm9udXM/OiBib29sZWFuO1xuICB9O1xufVxuIl19
@@ -2566,8 +2566,8 @@ class StatusService {
2566
2566
  this.statusRequestService.setRequestParams(params);
2567
2567
  this.startWaitingStatusUpdates(params.invoice);
2568
2568
  this.statusRequestService.request();
2569
- const statusResponse = yield firstValueFrom(this.listenStatusService.statusUpdated$);
2570
- return statusResponse.statusResponse.status;
2569
+ const statusResponse = yield firstValueFrom(this.statusRequestService.response$);
2570
+ return statusResponse.status;
2571
2571
  });
2572
2572
  }
2573
2573
  startWaitingStatusUpdates(invoice) {
@@ -2626,6 +2626,9 @@ class FinanceDetails {
2626
2626
  constructor(parameters) {
2627
2627
  this.purchase = parameters.purchase;
2628
2628
  this.finance = parameters.finance;
2629
+ this.cartItems = this.getFormattedPurchaseForCart();
2630
+ this.cartSummary = this.getFormattedPricingForCart();
2631
+ this.paymentCountry = this.getPaymentCountry();
2629
2632
  }
2630
2633
  getFormattedPurchaseForCart() {
2631
2634
  var _a, _b, _c, _d;
@@ -2667,9 +2670,8 @@ class FinanceDetails {
2667
2670
  if (this.purchase.checkout) {
2668
2671
  checkoutArray = [
2669
2672
  {
2670
- title: this.purchase.checkout.description
2671
- ? this.purchase.checkout.description
2672
- : 'In-game purchase',
2673
+ key: 'checkout',
2674
+ title: this.purchase.checkout.description,
2673
2675
  price: extractMoneyCurrency(this.purchase.checkout),
2674
2676
  isBonus: (_d = this.purchase.checkout.is_bonus) !== null && _d !== void 0 ? _d : false,
2675
2677
  },
@@ -2687,14 +2689,17 @@ class FinanceDetails {
2687
2689
  const subtotalDetailsSorting = [
2688
2690
  {
2689
2691
  key: 'discount',
2692
+ responseKey: 'discount',
2690
2693
  title: 'Discount',
2691
2694
  },
2692
2695
  {
2693
2696
  key: 'fee',
2697
+ responseKey: 'fee',
2694
2698
  title: 'Payment system fee',
2695
2699
  },
2696
2700
  {
2697
- key: 'user_balance',
2701
+ key: 'user-balance',
2702
+ responseKey: 'user_balance',
2698
2703
  title: 'Balance',
2699
2704
  },
2700
2705
  ];
@@ -2714,14 +2719,18 @@ class FinanceDetails {
2714
2719
  totalDetails: this.getTaxesForTotalDetails(),
2715
2720
  subtotalDetails: [
2716
2721
  ...subtotalDetailsSorting.map((sorting) => {
2717
- const field = this.finance[sorting.key];
2722
+ const field = this.finance[sorting.responseKey];
2718
2723
  if (field) {
2719
- return Object.assign(Object.assign({}, sorting), { money: {
2724
+ return {
2725
+ key: sorting.key,
2726
+ title: sorting.title,
2727
+ money: {
2720
2728
  amount: sorting.key === 'discount' && field.amount
2721
2729
  ? -field.amount
2722
2730
  : field.amount,
2723
2731
  currency: field.currency,
2724
- } });
2732
+ },
2733
+ };
2725
2734
  }
2726
2735
  return sorting;
2727
2736
  }),
@@ -2730,29 +2739,36 @@ class FinanceDetails {
2730
2739
  };
2731
2740
  }
2732
2741
  getPaymentCountry() {
2733
- var _a;
2734
- return (_a = this.finance) === null || _a === void 0 ? void 0 : _a.payment_country.iso;
2742
+ return this.finance.payment_country.iso;
2735
2743
  }
2736
2744
  getTaxForItem(indirectTaxRate) {
2737
2745
  if (indirectTaxRate ||
2738
2746
  (this.shouldShowZeroIndirectTaxRate && indirectTaxRate === 0)) {
2739
2747
  if (this.isSalesTaxes) {
2740
2748
  return {
2749
+ key: 'sales-tax',
2741
2750
  content: `Sales tax ${indirectTaxRate}%`,
2751
+ rate: indirectTaxRate,
2742
2752
  };
2743
2753
  }
2744
2754
  if (this.isIndia()) {
2745
2755
  return {
2756
+ key: 'vat-india',
2746
2757
  content: `GST ${indirectTaxRate}%`,
2758
+ rate: indirectTaxRate,
2747
2759
  };
2748
2760
  }
2749
2761
  if (this.isGhana()) {
2750
2762
  return {
2763
+ key: 'vat-ghana',
2751
2764
  content: 'VAT, NHIL, GETFund Levy, and Covid-19 Levy',
2765
+ rate: indirectTaxRate,
2752
2766
  };
2753
2767
  }
2754
2768
  return {
2769
+ key: 'vat',
2755
2770
  content: `VAT ${indirectTaxRate}%`,
2771
+ rate: indirectTaxRate,
2756
2772
  };
2757
2773
  }
2758
2774
  return null;
@@ -2764,14 +2780,14 @@ class FinanceDetails {
2764
2780
  if (this.finance.vat_user &&
2765
2781
  ((_c = (_b = (_a = this.finance) === null || _a === void 0 ? void 0 : _a.vat_user) === null || _b === void 0 ? void 0 : _b.amount) !== null && _c !== void 0 ? _c : (_e = (_d = this.finance) === null || _d === void 0 ? void 0 : _d.vat_user) === null || _e === void 0 ? void 0 : _e.visible)) {
2766
2782
  ret.push({
2767
- key: 'vat_user',
2783
+ key: this.getVatKeyForDetails(),
2768
2784
  title: this.getVatLabelForSubtotalDetails(),
2769
2785
  money: extractMoneyCurrency(this.finance.vat_user),
2770
2786
  });
2771
2787
  }
2772
2788
  if ((_f = this.finance.sales_tax_user) === null || _f === void 0 ? void 0 : _f.amount) {
2773
2789
  ret.push({
2774
- key: 'sales_tax_user',
2790
+ key: 'sales-tax',
2775
2791
  title: 'Sales tax',
2776
2792
  money: extractMoneyCurrency(this.finance.sales_tax_user),
2777
2793
  });
@@ -2795,7 +2811,7 @@ class FinanceDetails {
2795
2811
  if ((((_b = (_a = this.finance) === null || _a === void 0 ? void 0 : _a.vat) === null || _b === void 0 ? void 0 : _b.amount) || ((_d = (_c = this.finance) === null || _c === void 0 ? void 0 : _c.vat) === null || _d === void 0 ? void 0 : _d.visible)) &&
2796
2812
  !((_f = (_e = this.finance) === null || _e === void 0 ? void 0 : _e.vat_user) === null || _f === void 0 ? void 0 : _f.amount)) {
2797
2813
  ret.push({
2798
- key: 'vat',
2814
+ key: this.getVatKeyForDetails(),
2799
2815
  title: this.getVatLabelForTotalDetails(),
2800
2816
  money: extractMoneyCurrency(this.finance.vat),
2801
2817
  });
@@ -2803,13 +2819,22 @@ class FinanceDetails {
2803
2819
  if (((_h = (_g = this.finance) === null || _g === void 0 ? void 0 : _g.sales_tax) === null || _h === void 0 ? void 0 : _h.amount) &&
2804
2820
  !((_k = (_j = this.finance) === null || _j === void 0 ? void 0 : _j.sales_tax_user) === null || _k === void 0 ? void 0 : _k.amount)) {
2805
2821
  ret.push({
2806
- key: 'sales_tax',
2822
+ key: 'sales-tax',
2807
2823
  title: 'Sales tax included',
2808
2824
  money: extractMoneyCurrency(this.finance.sales_tax),
2809
2825
  });
2810
2826
  }
2811
2827
  return ret;
2812
2828
  }
2829
+ getVatKeyForDetails() {
2830
+ if (this.isIndia()) {
2831
+ return 'vat-india';
2832
+ }
2833
+ if (this.isGhana()) {
2834
+ return 'vat-ghana';
2835
+ }
2836
+ return 'vat';
2837
+ }
2813
2838
  getVatLabelForTotalDetails() {
2814
2839
  if (this.isIndia()) {
2815
2840
  return `Including ${this.finance.vat.percent}% GST`;