@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.
- package/esm2020/lib/core/payment/finance-details/cart-item.interface.mjs +1 -1
- package/esm2020/lib/core/payment/finance-details/cart-line.interface.mjs +1 -1
- package/esm2020/lib/core/payment/finance-details/{cart-pricing.interface.mjs → cart-summary.interface.mjs} +1 -1
- package/esm2020/lib/core/payment/finance-details/finance-details.class.mjs +35 -12
- package/esm2020/lib/core/payment/status/status.service.mjs +3 -3
- package/esm2020/lib/core/payment/xps-purchase.interface.mjs +1 -1
- package/fesm2015/xsolla-payment-client-core.mjs +40 -15
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +36 -13
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/finance-details/cart-item.interface.d.ts +1 -0
- package/lib/core/payment/finance-details/cart-line.interface.d.ts +1 -0
- package/lib/core/payment/finance-details/finance-details.class.d.ts +8 -4
- package/lib/core/payment/xps-purchase.interface.d.ts +0 -2
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.0.13.tgz +0 -0
- package/esm2020/lib/core/payment/xps-subscription-item.interface.mjs +0 -2
- package/lib/core/payment/xps-subscription-item.interface.d.ts +0 -20
- package/xsolla-payment-client-core-0.0.11.tgz +0 -0
- /package/lib/core/payment/finance-details/{cart-pricing.interface.d.ts → cart-summary.interface.d.ts} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1saW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRMaW5lIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgbW9uZXk/OiBQcmljZTtcbiAgcmF0ZT86IG51bWJlcjtcbiAgaXNEYXRlTGluZT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
-
|
|
54
|
-
|
|
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: '
|
|
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.
|
|
105
|
+
const field = this.finance[sorting.responseKey];
|
|
101
106
|
if (field) {
|
|
102
107
|
return {
|
|
103
|
-
|
|
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
|
|
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:
|
|
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: '
|
|
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:
|
|
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: '
|
|
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.
|
|
19
|
-
return statusResponse.
|
|
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,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7OztBQUs1RixNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNtQixvQkFBMEMsRUFDMUMsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUZwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNwRCxDQUFDO0lBRUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQ3pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQ3BDLENBQUM7UUFFRixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQWU7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYzthQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQ3hDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzBHQS9CVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIHNraXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlzdGVuU3RhdHVzU2VydmljZSB9IGZyb20gJy4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdGVuU3RhdHVzU2VydmljZTogTGlzdGVuU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICBuZXcgU3RhdHVzVXBkYXRlZEFjdGlvbihzdGF0dXNSZXNwb25zZSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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.
|
|
2570
|
-
return statusResponse.
|
|
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
|
-
|
|
2671
|
-
|
|
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: '
|
|
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.
|
|
2722
|
+
const field = this.finance[sorting.responseKey];
|
|
2718
2723
|
if (field) {
|
|
2719
|
-
return
|
|
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
|
-
|
|
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:
|
|
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: '
|
|
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:
|
|
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: '
|
|
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`;
|