vk-payments 0.2.13 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vk-payments.umd.js +160 -54
- package/bundles/vk-payments.umd.js.map +1 -1
- package/bundles/vk-payments.umd.min.js +1 -1
- package/bundles/vk-payments.umd.min.js.map +1 -1
- package/esm2015/lib/go-cuotas/components/go-cuotas.component.js +3 -2
- package/esm2015/lib/modo/components/modo/modo.component.js +146 -48
- package/esm5/lib/go-cuotas/components/go-cuotas.component.js +3 -2
- package/esm5/lib/modo/components/modo/modo.component.js +160 -54
- package/fesm2015/vk-payments.js +147 -49
- package/fesm2015/vk-payments.js.map +1 -1
- package/fesm5/vk-payments.js +161 -55
- package/fesm5/vk-payments.js.map +1 -1
- package/lib/modo/components/modo/modo.component.d.ts +8 -5
- package/package.json +1 -1
- package/vk-payments.metadata.json +1 -1
|
@@ -5,12 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
8
|
+
import { ActivatedRoute } from '@angular/router';
|
|
8
9
|
import { ModoApiService } from '../../services/modo-api.service';
|
|
9
10
|
var ModoComponent = /** @class */ (function () {
|
|
10
|
-
function ModoComponent(modoApi) {
|
|
11
|
+
function ModoComponent(modoApi, route) {
|
|
11
12
|
this.modoApi = modoApi;
|
|
13
|
+
this.route = route;
|
|
12
14
|
this.statusPay = new EventEmitter();
|
|
13
15
|
this.isLoading = false;
|
|
16
|
+
this.executionEnv = 'desktop';
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* @return {?}
|
|
@@ -19,7 +22,47 @@ var ModoComponent = /** @class */ (function () {
|
|
|
19
22
|
* @return {?}
|
|
20
23
|
*/
|
|
21
24
|
function () {
|
|
22
|
-
this.
|
|
25
|
+
this.detectEnvironment();
|
|
26
|
+
if (this.executionEnv === 'desktop') {
|
|
27
|
+
this.loadModoScript();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
ModoComponent.prototype.detectEnvironment = /**
|
|
35
|
+
* @private
|
|
36
|
+
* @return {?}
|
|
37
|
+
*/
|
|
38
|
+
function () {
|
|
39
|
+
try {
|
|
40
|
+
/** @type {?} */
|
|
41
|
+
var params = this.route.snapshot.params;
|
|
42
|
+
/** @type {?} */
|
|
43
|
+
var guid = params['guid'];
|
|
44
|
+
/** @type {?} */
|
|
45
|
+
var platform = (/** @type {?} */ (params['platform']));
|
|
46
|
+
if (platform === 'iOS' || platform === 'Android' || guid === 'app') {
|
|
47
|
+
this.executionEnv = 'native-app';
|
|
48
|
+
this.devicePlatform = platform;
|
|
49
|
+
console.log("MODO Payment: Entorno detectado -> Nativo (" + (this.devicePlatform || 'app') + ")");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.warn('MODO Payment: No se pudo leer los parámetros de la ruta. Se continuará con la detección por User Agent.');
|
|
55
|
+
}
|
|
56
|
+
/** @type {?} */
|
|
57
|
+
var userAgent = navigator.userAgent || navigator.vendor || ((/** @type {?} */ (window))).opera;
|
|
58
|
+
if (/android/i.test(userAgent) || /iPad|iPhone|iPod/.test(userAgent)) {
|
|
59
|
+
this.executionEnv = 'mobile-browser';
|
|
60
|
+
console.log('MODO Payment: Entorno detectado -> Navegador Móvil');
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.executionEnv = 'desktop';
|
|
64
|
+
console.log('MODO Payment: Entorno detectado -> Desktop');
|
|
65
|
+
}
|
|
23
66
|
};
|
|
24
67
|
/**
|
|
25
68
|
* @return {?}
|
|
@@ -29,8 +72,7 @@ var ModoComponent = /** @class */ (function () {
|
|
|
29
72
|
*/
|
|
30
73
|
function () {
|
|
31
74
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
32
|
-
var
|
|
33
|
-
var _this = this;
|
|
75
|
+
var initialData, error_1;
|
|
34
76
|
return tslib_1.__generator(this, function (_a) {
|
|
35
77
|
switch (_a.label) {
|
|
36
78
|
case 0:
|
|
@@ -40,49 +82,23 @@ var ModoComponent = /** @class */ (function () {
|
|
|
40
82
|
_a.trys.push([1, 3, , 4]);
|
|
41
83
|
return [4 /*yield*/, this.createModoPayment()];
|
|
42
84
|
case 2:
|
|
43
|
-
|
|
85
|
+
initialData = _a.sent();
|
|
44
86
|
this.isLoading = false;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
function () {
|
|
63
|
-
_this.statusPay.emit({ success: true, paymentId: initialData_1.checkoutId });
|
|
64
|
-
}),
|
|
65
|
-
onFailure: (/**
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
function () {
|
|
69
|
-
_this.statusPay.emit({ success: false, paymentId: initialData_1.checkoutId });
|
|
70
|
-
}),
|
|
71
|
-
onCancel: (/**
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
|
-
function () {
|
|
75
|
-
console.log('Pago cancelado por el usuario en el celular.');
|
|
76
|
-
}),
|
|
77
|
-
onClose: (/**
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
function () {
|
|
81
|
-
console.log('Modal de MODO cerrado.');
|
|
82
|
-
}),
|
|
83
|
-
};
|
|
84
|
-
// 3. Inicia el SDK de MODO
|
|
85
|
-
ModoSDK.modoInitPayment(modalObject);
|
|
87
|
+
switch (this.executionEnv) {
|
|
88
|
+
case 'native-app':
|
|
89
|
+
// Llama a la función nativa para abrir en un navegador externo
|
|
90
|
+
this.openOnNativeNavigator(initialData.deeplink);
|
|
91
|
+
break;
|
|
92
|
+
case 'mobile-browser':
|
|
93
|
+
// Abre el deeplink en una nueva pestaña
|
|
94
|
+
window.open(initialData.deeplink, '_blank');
|
|
95
|
+
break;
|
|
96
|
+
case 'desktop':
|
|
97
|
+
default:
|
|
98
|
+
// Abrir el modal del SDK
|
|
99
|
+
this.initModoSdkModal(initialData);
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
86
102
|
return [3 /*break*/, 4];
|
|
87
103
|
case 3:
|
|
88
104
|
error_1 = _a.sent();
|
|
@@ -96,18 +112,92 @@ var ModoComponent = /** @class */ (function () {
|
|
|
96
112
|
});
|
|
97
113
|
};
|
|
98
114
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
115
|
+
* @private
|
|
116
|
+
* @param {?} url
|
|
117
|
+
* @return {?}
|
|
118
|
+
*/
|
|
119
|
+
ModoComponent.prototype.openOnNativeNavigator = /**
|
|
120
|
+
* @private
|
|
121
|
+
* @param {?} url
|
|
122
|
+
* @return {?}
|
|
101
123
|
*/
|
|
124
|
+
function (url) {
|
|
125
|
+
try {
|
|
126
|
+
if (this.devicePlatform === 'iOS') {
|
|
127
|
+
((/** @type {?} */ (window))).webkit.messageHandlers.externalURL.postMessage(url);
|
|
128
|
+
}
|
|
129
|
+
else if (this.devicePlatform === 'Android') {
|
|
130
|
+
((/** @type {?} */ (window))).externalURL.postMessage(url);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// Fallback si por alguna razón no se detectó la plataforma pero sí el entorno nativo
|
|
134
|
+
window.open(url, '_blank');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
console.error('Error al intentar invocar el message handler nativo:', e);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* @private
|
|
143
|
+
* @param {?} initialData
|
|
144
|
+
* @return {?}
|
|
145
|
+
*/
|
|
146
|
+
ModoComponent.prototype.initModoSdkModal = /**
|
|
147
|
+
* @private
|
|
148
|
+
* @param {?} initialData
|
|
149
|
+
* @return {?}
|
|
150
|
+
*/
|
|
151
|
+
function (initialData) {
|
|
152
|
+
var _this = this;
|
|
153
|
+
/** @type {?} */
|
|
154
|
+
var modalObject = {
|
|
155
|
+
version: '2',
|
|
156
|
+
qrString: initialData.qrString,
|
|
157
|
+
checkoutId: initialData.checkoutId,
|
|
158
|
+
deeplink: {
|
|
159
|
+
url: initialData.deeplink,
|
|
160
|
+
callbackURL: this.callbackUrl,
|
|
161
|
+
callbackURLSuccess: this.callbackUrlSuccess
|
|
162
|
+
},
|
|
163
|
+
callbackURL: this.callbackUrl,
|
|
164
|
+
refreshData: (/**
|
|
165
|
+
* @return {?}
|
|
166
|
+
*/
|
|
167
|
+
function () { return _this.createModoPayment(); }),
|
|
168
|
+
onSuccess: (/**
|
|
169
|
+
* @return {?}
|
|
170
|
+
*/
|
|
171
|
+
function () {
|
|
172
|
+
_this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });
|
|
173
|
+
}),
|
|
174
|
+
onFailure: (/**
|
|
175
|
+
* @return {?}
|
|
176
|
+
*/
|
|
177
|
+
function () {
|
|
178
|
+
_this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });
|
|
179
|
+
}),
|
|
180
|
+
onCancel: (/**
|
|
181
|
+
* @return {?}
|
|
182
|
+
*/
|
|
183
|
+
function () {
|
|
184
|
+
console.log('Pago cancelado por el usuario en el celular.');
|
|
185
|
+
}),
|
|
186
|
+
onClose: (/**
|
|
187
|
+
* @return {?}
|
|
188
|
+
*/
|
|
189
|
+
function () {
|
|
190
|
+
console.log('Modal de MODO cerrado.');
|
|
191
|
+
}),
|
|
192
|
+
};
|
|
193
|
+
// 3. Inicia el SDK de MODO
|
|
194
|
+
ModoSDK.modoInitPayment(modalObject);
|
|
195
|
+
};
|
|
102
196
|
/**
|
|
103
|
-
* Esta función se encarga de llamar a tu backend.
|
|
104
|
-
* Se usa tanto para la carga inicial como para el refresco del SDK.
|
|
105
197
|
* @private
|
|
106
198
|
* @return {?}
|
|
107
199
|
*/
|
|
108
200
|
ModoComponent.prototype.createModoPayment = /**
|
|
109
|
-
* Esta función se encarga de llamar a tu backend.
|
|
110
|
-
* Se usa tanto para la carga inicial como para el refresco del SDK.
|
|
111
201
|
* @private
|
|
112
202
|
* @return {?}
|
|
113
203
|
*/
|
|
@@ -169,7 +259,8 @@ var ModoComponent = /** @class */ (function () {
|
|
|
169
259
|
];
|
|
170
260
|
/** @nocollapse */
|
|
171
261
|
ModoComponent.ctorParameters = function () { return [
|
|
172
|
-
{ type: ModoApiService }
|
|
262
|
+
{ type: ModoApiService },
|
|
263
|
+
{ type: ActivatedRoute }
|
|
173
264
|
]; };
|
|
174
265
|
ModoComponent.propDecorators = {
|
|
175
266
|
accessToken: [{ type: Input }],
|
|
@@ -209,10 +300,25 @@ if (false) {
|
|
|
209
300
|
ModoComponent.prototype.statusPay;
|
|
210
301
|
/** @type {?} */
|
|
211
302
|
ModoComponent.prototype.isLoading;
|
|
303
|
+
/**
|
|
304
|
+
* @type {?}
|
|
305
|
+
* @private
|
|
306
|
+
*/
|
|
307
|
+
ModoComponent.prototype.executionEnv;
|
|
308
|
+
/**
|
|
309
|
+
* @type {?}
|
|
310
|
+
* @private
|
|
311
|
+
*/
|
|
312
|
+
ModoComponent.prototype.devicePlatform;
|
|
212
313
|
/**
|
|
213
314
|
* @type {?}
|
|
214
315
|
* @private
|
|
215
316
|
*/
|
|
216
317
|
ModoComponent.prototype.modoApi;
|
|
318
|
+
/**
|
|
319
|
+
* @type {?}
|
|
320
|
+
* @private
|
|
321
|
+
*/
|
|
322
|
+
ModoComponent.prototype.route;
|
|
217
323
|
}
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9tb2RvL2NvbXBvbmVudHMvbW9kby9tb2RvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU1qRTtJQW9CRSx1QkFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFKakMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUEyQyxDQUFDO1FBRWxGLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFFNkIsQ0FBQzs7OztJQUVoRCxnQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVLLHdDQUFnQjs7O0lBQXRCOzs7Ozs7O3dCQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOzs7O3dCQUdBLHFCQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFBOzt3QkFBNUMsZ0JBQWMsU0FBOEI7d0JBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO3dCQUVqQixXQUFXLEdBQUc7NEJBQ2xCLE9BQU8sRUFBRSxHQUFHOzRCQUNaLFFBQVEsRUFBRSxhQUFXLENBQUMsUUFBUTs0QkFDOUIsVUFBVSxFQUFFLGFBQVcsQ0FBQyxVQUFVOzRCQUNsQyxRQUFRLEVBQUU7Z0NBQ1IsR0FBRyxFQUFFLGFBQVcsQ0FBQyxRQUFRO2dDQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0NBQzdCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7NkJBQzVDOzRCQUVELFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzs0QkFFN0IsV0FBVzs7OzRCQUFF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OEJBQ0wsS0FBSztxQ0FDTCxLQUFLOzRCQUNMLE1BQU07O0lBeUZULG9CQUFDO0NBQUEsQUF6R0QsSUF5R0M7U0FwR1ksYUFBYTs7O0lBRXhCLG9DQUE4Qjs7SUFDOUIsZ0NBQXlCOztJQUN6Qiw4QkFBdUI7O0lBQ3ZCLDZCQUFzQjs7SUFDdEIsK0JBQXdCOztJQUN4QixnQ0FBeUI7O0lBQ3pCLGlDQUEwQjs7SUFDMUIsb0NBQTZCOztJQUM3QiwyQ0FBb0M7O0lBQ3BDLGtDQUFrRjs7SUFFbEYsa0NBQWtCOzs7OztJQUVOLGdDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZG9BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9kby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RvLm1vZGVscyc7XG5cbi8vIERlY2xhcmEgbGEgdmFyaWFibGUgZ2xvYmFsIGRlbCBTREtcbmRlY2xhcmUgdmFyIE1vZG9TREs6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmstbW9kby1wYXltZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZG8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9kb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3JlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgaWRWZW46IG51bWJlcjtcbiAgQElucHV0KCkgZGF0YTogc3RyaW5nO1xuICBASW5wdXQoKSBhbW91bnQ6IG51bWJlcjtcbiAgQElucHV0KCkgb3JkZXJJZDogc3RyaW5nO1xuICBASW5wdXQoKSB2a1VybEFwaTogc3RyaW5nO1xuICBASW5wdXQoKSBjYWxsYmFja1VybDogc3RyaW5nO1xuICBASW5wdXQoKSBjYWxsYmFja1VybFN1Y2Nlc3M6IHN0cmluZztcbiAgQE91dHB1dCgpIHN0YXR1c1BheSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzdWNjZXNzOiBib29sZWFuOyBwYXltZW50SWQ6IHN0cmluZyB9PigpO1xuXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kb0FwaTogTW9kb0FwaVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vZG9TY3JpcHQoKTtcbiAgfVxuXG4gIGFzeW5jIHN0YXJ0TW9kb1BheW1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluaXRpYWxEYXRhID0gYXdhaXQgdGhpcy5jcmVhdGVNb2RvUGF5bWVudCgpO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgY29uc3QgbW9kYWxPYmplY3QgPSB7XG4gICAgICAgIHZlcnNpb246ICcyJyxcbiAgICAgICAgcXJTdHJpbmc6IGluaXRpYWxEYXRhLnFyU3RyaW5nLFxuICAgICAgICBjaGVja291dElkOiBpbml0aWFsRGF0YS5jaGVja291dElkLFxuICAgICAgICBkZWVwbGluazoge1xuICAgICAgICAgIHVybDogaW5pdGlhbERhdGEuZGVlcGxpbmssXG4gICAgICAgICAgY2FsbGJhY2tVUkw6IHRoaXMuY2FsbGJhY2tVcmwsXG4gICAgICAgICAgY2FsbGJhY2tVUkxTdWNjZXNzOiB0aGlzLmNhbGxiYWNrVXJsU3VjY2Vzc1xuICAgICAgICB9LFxuXG4gICAgICAgIGNhbGxiYWNrVVJMOiB0aGlzLmNhbGxiYWNrVXJsLFxuXG4gICAgICAgIHJlZnJlc2hEYXRhOiAoKSA9PiB0aGlzLmNyZWF0ZU1vZG9QYXltZW50KCksXG5cbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogaW5pdGlhbERhdGEuY2hlY2tvdXRJZCB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25GYWlsdXJlOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6IGluaXRpYWxEYXRhLmNoZWNrb3V0SWQgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsOiAoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ1BhZ28gY2FuY2VsYWRvIHBvciBlbCB1c3VhcmlvIGVuIGVsIGNlbHVsYXIuJyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnTW9kYWwgZGUgTU9ETyBjZXJyYWRvLicpO1xuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgLy8gMy4gSW5pY2lhIGVsIFNESyBkZSBNT0RPXG4gICAgICBNb2RvU0RLLm1vZG9Jbml0UGF5bWVudChtb2RhbE9iamVjdCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQoeyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJyB9KTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBhbCBpbmljaWFyIGVsIHBhZ28gY29uIE1PRE9cIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFc3RhIGZ1bmNpw7NuIHNlIGVuY2FyZ2EgZGUgbGxhbWFyIGEgdHUgYmFja2VuZC5cbiAgICogU2UgdXNhIHRhbnRvIHBhcmEgbGEgY2FyZ2EgaW5pY2lhbCBjb21vIHBhcmEgZWwgcmVmcmVzY28gZGVsIFNESy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTW9kb1BheW1lbnQoKTogUHJvbWlzZTx7IHFyU3RyaW5nOiBzdHJpbmc7IGNoZWNrb3V0SWQ6IHN0cmluZzsgZGVlcGxpbms6IHN0cmluZyB9PiB7XG4gICAgY29uc3QgcGF5bWVudFJlcXVlc3Q6IENyZWF0ZVBheW1lbnRSZXF1ZXN0ID0ge1xuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIG9yZGVySWQ6IHRoaXMub3JkZXJJZCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5tb2RvQXBpLmNyZWF0ZVBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgcGF5bWVudFJlcXVlc3QsIHRoaXMudmtVcmxBcGkpLnRvUHJvbWlzZSgpO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcXJTdHJpbmc6IHJlc3BvbnNlLmRhdGEucXJTdHJpbmcsXG4gICAgICAgIGNoZWNrb3V0SWQ6IHJlc3BvbnNlLmRhdGEuaW50ZXJuYWxQYXltZW50SWQsXG4gICAgICAgIGRlZXBsaW5rOiByZXNwb25zZS5kYXRhLmRlZXBsaW5rXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xhIHJlc3B1ZXN0YSBkZSBsYSBBUEkgbm8gZnVlIGV4aXRvc2EuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9kb1NjcmlwdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAnaHR0cHM6Ly9lY29tbWVyY2UtbW9kYWwubW9kby5jb20uYXIvYnVuZGxlLmpzJztcbiAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke3NjcmlwdFVybH1cIl1gKSkge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuc3JjID0gc2NyaXB0VXJsO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9tb2RvL2NvbXBvbmVudHMvbW9kby9tb2RvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFRakU7SUFzQkUsdUJBQ1UsT0FBdUIsRUFDdkIsS0FBcUI7UUFEckIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFSckIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUEyQyxDQUFDO1FBRWxGLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDVixpQkFBWSxHQUF5QixTQUFTLENBQUM7SUFNbkQsQ0FBQzs7OztJQUVMLGdDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7Ozs7SUFFTyx5Q0FBaUI7Ozs7SUFBekI7UUFDRSxJQUFJOztnQkFDSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTs7Z0JBQ25DLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDOztnQkFDckIsUUFBUSxHQUFHLG1CQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBcUI7WUFFeEQsSUFBSSxRQUFRLEtBQUssS0FBSyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDbEUs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Yzs7OzhCQWdCcEIsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUs7MkJBQ0wsS0FBSzs4QkFDTCxLQUFLO3FDQUNMLEtBQUs7NEJBQ0wsTUFBTTs7SUE0SlQsb0JBQUM7Q0FBQSxBQTVLRCxJQTRLQztTQXZLWSxhQUFhOzs7SUFFeEIsb0NBQThCOztJQUM5QixnQ0FBeUI7O0lBQ3pCLDhCQUF1Qjs7SUFDdkIsNkJBQXNCOztJQUN0QiwrQkFBd0I7O0lBQ3hCLGdDQUF5Qjs7SUFDekIsaUNBQTBCOztJQUMxQixvQ0FBNkI7O0lBQzdCLDJDQUFvQzs7SUFDcEMsa0NBQWtGOztJQUVsRixrQ0FBa0I7Ozs7O0lBQ2xCLHFDQUF1RDs7Ozs7SUFDdkQsdUNBQXNEOzs7OztJQUdwRCxnQ0FBK0I7Ozs7O0lBQy9CLDhCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZG9BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9kby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RvLm1vZGVscyc7XG5cbi8vIERlY2xhcmEgbGEgdmFyaWFibGUgZ2xvYmFsIGRlbCBTREtcbmRlY2xhcmUgdmFyIE1vZG9TREs6IGFueTtcblxudHlwZSBFeGVjdXRpb25FbnZpcm9ubWVudCA9ICdkZXNrdG9wJyB8ICdtb2JpbGUtYnJvd3NlcicgfCAnbmF0aXZlLWFwcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZrLW1vZG8tcGF5bWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vZG9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuITogc3RyaW5nO1xuICBASW5wdXQoKSBzdG9yZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkVmVuOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgYW1vdW50OiBudW1iZXI7XG4gIEBJbnB1dCgpIG9yZGVySWQ6IHN0cmluZztcbiAgQElucHV0KCkgdmtVcmxBcGk6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGJhY2tVcmw6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGJhY2tVcmxTdWNjZXNzOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzdGF0dXNQYXkgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3VjY2VzczogYm9vbGVhbjsgcGF5bWVudElkOiBzdHJpbmcgfT4oKTtcblxuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBleGVjdXRpb25FbnY6IEV4ZWN1dGlvbkVudmlyb25tZW50ID0gJ2Rlc2t0b3AnO1xuICBwcml2YXRlIGRldmljZVBsYXRmb3JtOiAnaU9TJyB8ICdBbmRyb2lkJyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZG9BcGk6IE1vZG9BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRlY3RFbnZpcm9ubWVudCgpO1xuICAgIGlmICh0aGlzLmV4ZWN1dGlvbkVudiA9PT0gJ2Rlc2t0b3AnKSB7XG4gICAgICB0aGlzLmxvYWRNb2RvU2NyaXB0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RFbnZpcm9ubWVudCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXM7XG4gICAgICBjb25zdCBndWlkID0gcGFyYW1zWydndWlkJ107XG4gICAgICBjb25zdCBwbGF0Zm9ybSA9IHBhcmFtc1sncGxhdGZvcm0nXSBhcyAnaU9TJyB8ICdBbmRyb2lkJztcblxuICAgICAgaWYgKHBsYXRmb3JtID09PSAnaU9TJyB8fCBwbGF0Zm9ybSA9PT0gJ0FuZHJvaWQnIHx8IGd1aWQgPT09ICdhcHAnKSB7XG4gICAgICAgIHRoaXMuZXhlY3V0aW9uRW52ID0gJ25hdGl2ZS1hcHAnO1xuICAgICAgICB0aGlzLmRldmljZVBsYXRmb3JtID0gcGxhdGZvcm07XG4gICAgICAgIGNvbnNvbGUubG9nKGBNT0RPIFBheW1lbnQ6IEVudG9ybm8gZGV0ZWN0YWRvIC0+IE5hdGl2byAoJHt0aGlzLmRldmljZVBsYXRmb3JtIHx8ICdhcHAnfSlgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01PRE8gUGF5bWVudDogTm8gc2UgcHVkbyBsZWVyIGxvcyBwYXLDoW1ldHJvcyBkZSBsYSBydXRhLiBTZSBjb250aW51YXLDoSBjb24gbGEgZGV0ZWNjacOzbiBwb3IgVXNlciBBZ2VudC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8IG5hdmlnYXRvci52ZW5kb3IgfHwgKHdpbmRvdyBhcyBhbnkpLm9wZXJhO1xuICAgIGlmICgvYW5kcm9pZC9pLnRlc3QodXNlckFnZW50KSB8fCAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdCh1c2VyQWdlbnQpKSB7XG4gICAgICB0aGlzLmV4ZWN1dGlvbkVudiA9ICdtb2JpbGUtYnJvd3Nlcic7XG4gICAgICBjb25zb2xlLmxvZygnTU9ETyBQYXltZW50OiBFbnRvcm5vIGRldGVjdGFkbyAtPiBOYXZlZ2Fkb3IgTcOzdmlsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhlY3V0aW9uRW52ID0gJ2Rlc2t0b3AnO1xuICAgICAgY29uc29sZS5sb2coJ01PRE8gUGF5bWVudDogRW50b3JubyBkZXRlY3RhZG8gLT4gRGVza3RvcCcpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHN0YXJ0TW9kb1BheW1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluaXRpYWxEYXRhID0gYXdhaXQgdGhpcy5jcmVhdGVNb2RvUGF5bWVudCgpO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgc3dpdGNoICh0aGlzLmV4ZWN1dGlvbkVudikge1xuICAgICAgICBjYXNlICduYXRpdmUtYXBwJzpcbiAgICAgICAgICAvLyBMbGFtYSBhIGxhIGZ1bmNpw7NuIG5hdGl2YSBwYXJhIGFicmlyIGVuIHVuIG5hdmVnYWRvciBleHRlcm5vXG4gICAgICAgICAgdGhpcy5vcGVuT25OYXRpdmVOYXZpZ2F0b3IoaW5pdGlhbERhdGEuZGVlcGxpbmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtb2JpbGUtYnJvd3Nlcic6XG4gICAgICAgICAgLy8gQWJyZSBlbCBkZWVwbGluayBlbiB1bmEgbnVldmEgcGVzdGHDsWFcbiAgICAgICAgICB3aW5kb3cub3Blbihpbml0aWFsRGF0YS5kZWVwbGluaywgJ19ibGFuaycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkZXNrdG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBBYnJpciBlbCBtb2RhbCBkZWwgU0RLXG4gICAgICAgICAgdGhpcy5pbml0TW9kb1Nka01vZGFsKGluaXRpYWxEYXRhKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnIH0pO1xuICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGFsIGluaWNpYXIgZWwgcGFnbyBjb24gTU9ET1wiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuT25OYXRpdmVOYXZpZ2F0b3IodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuZGV2aWNlUGxhdGZvcm0gPT09ICdpT1MnKSB7XG4gICAgICAgICh3aW5kb3cgYXMgYW55KS53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmV4dGVybmFsVVJMLnBvc3RNZXNzYWdlKHVybCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGV2aWNlUGxhdGZvcm0gPT09ICdBbmRyb2lkJykge1xuICAgICAgICAod2luZG93IGFzIGFueSkuZXh0ZXJuYWxVUkwucG9zdE1lc3NhZ2UodXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZhbGxiYWNrIHNpIHBvciBhbGd1bmEgcmF6w7NuIG5vIHNlIGRldGVjdMOzIGxhIHBsYXRhZm9ybWEgcGVybyBzw60gZWwgZW50b3JubyBuYXRpdm9cbiAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWwgaW50ZW50YXIgaW52b2NhciBlbCBtZXNzYWdlIGhhbmRsZXIgbmF0aXZvOicsIGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE1vZG9TZGtNb2RhbChpbml0aWFsRGF0YTogeyBxclN0cmluZzogc3RyaW5nOyBjaGVja291dElkOiBzdHJpbmc7IGRlZXBsaW5rOiBzdHJpbmcgfSk6IHZvaWQge1xuXG4gICAgY29uc3QgbW9kYWxPYmplY3QgPSB7XG4gICAgICB2ZXJzaW9uOiAnMicsXG4gICAgICBxclN0cmluZzogaW5pdGlhbERhdGEucXJTdHJpbmcsXG4gICAgICBjaGVja291dElkOiBpbml0aWFsRGF0YS5jaGVja291dElkLFxuICAgICAgZGVlcGxpbms6IHtcbiAgICAgICAgdXJsOiBpbml0aWFsRGF0YS5kZWVwbGluayxcbiAgICAgICAgY2FsbGJhY2tVUkw6IHRoaXMuY2FsbGJhY2tVcmwsXG4gICAgICAgIGNhbGxiYWNrVVJMU3VjY2VzczogdGhpcy5jYWxsYmFja1VybFN1Y2Nlc3NcbiAgICAgIH0sXG5cbiAgICAgIGNhbGxiYWNrVVJMOiB0aGlzLmNhbGxiYWNrVXJsLFxuXG4gICAgICByZWZyZXNoRGF0YTogKCkgPT4gdGhpcy5jcmVhdGVNb2RvUGF5bWVudCgpLFxuXG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogaW5pdGlhbERhdGEuY2hlY2tvdXRJZCB9KTtcbiAgICAgIH0sXG4gICAgICBvbkZhaWx1cmU6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6IGluaXRpYWxEYXRhLmNoZWNrb3V0SWQgfSk7XG4gICAgICB9LFxuICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1BhZ28gY2FuY2VsYWRvIHBvciBlbCB1c3VhcmlvIGVuIGVsIGNlbHVsYXIuJyk7XG4gICAgICB9LFxuICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnTW9kYWwgZGUgTU9ETyBjZXJyYWRvLicpO1xuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gMy4gSW5pY2lhIGVsIFNESyBkZSBNT0RPXG4gICAgTW9kb1NESy5tb2RvSW5pdFBheW1lbnQobW9kYWxPYmplY3QpO1xuXG4gIH1cblxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTW9kb1BheW1lbnQoKTogUHJvbWlzZTx7IHFyU3RyaW5nOiBzdHJpbmc7IGNoZWNrb3V0SWQ6IHN0cmluZzsgZGVlcGxpbms6IHN0cmluZyB9PiB7XG4gICAgY29uc3QgcGF5bWVudFJlcXVlc3Q6IENyZWF0ZVBheW1lbnRSZXF1ZXN0ID0ge1xuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIG9yZGVySWQ6IHRoaXMub3JkZXJJZCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5tb2RvQXBpLmNyZWF0ZVBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgcGF5bWVudFJlcXVlc3QsIHRoaXMudmtVcmxBcGkpLnRvUHJvbWlzZSgpO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcXJTdHJpbmc6IHJlc3BvbnNlLmRhdGEucXJTdHJpbmcsXG4gICAgICAgIGNoZWNrb3V0SWQ6IHJlc3BvbnNlLmRhdGEuaW50ZXJuYWxQYXltZW50SWQsXG4gICAgICAgIGRlZXBsaW5rOiByZXNwb25zZS5kYXRhLmRlZXBsaW5rXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xhIHJlc3B1ZXN0YSBkZSBsYSBBUEkgbm8gZnVlIGV4aXRvc2EuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9kb1NjcmlwdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAnaHR0cHM6Ly9lY29tbWVyY2UtbW9kYWwubW9kby5jb20uYXIvYnVuZGxlLmpzJztcbiAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke3NjcmlwdFVybH1cIl1gKSkge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuc3JjID0gc2NyaXB0VXJsO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
package/fesm2015/vk-payments.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { Router, RouterModule } from '@angular/router';
|
|
4
|
+
import { Router, RouterModule, ActivatedRoute } from '@angular/router';
|
|
5
5
|
import { HttpHeaders, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
6
6
|
import sha256 from 'sha256';
|
|
7
7
|
import { __awaiter } from 'tslib';
|
|
@@ -2306,7 +2306,8 @@ class GoCuotasComponent {
|
|
|
2306
2306
|
this.installments = 0;
|
|
2307
2307
|
this.currentInstallments = [
|
|
2308
2308
|
{ value: 2, label: '2 Cuotas' },
|
|
2309
|
-
{ value: 3, label: '3 Cuotas' }
|
|
2309
|
+
{ value: 3, label: '3 Cuotas' },
|
|
2310
|
+
{ value: 4, label: '4 Cuotas' }
|
|
2310
2311
|
]; // Opciones para "Cantidad de cuotas"
|
|
2311
2312
|
this.totalAmount = Number(this.paymentAmount);
|
|
2312
2313
|
}
|
|
@@ -2851,17 +2852,56 @@ if (false) {
|
|
|
2851
2852
|
class ModoComponent {
|
|
2852
2853
|
/**
|
|
2853
2854
|
* @param {?} modoApi
|
|
2855
|
+
* @param {?} route
|
|
2854
2856
|
*/
|
|
2855
|
-
constructor(modoApi) {
|
|
2857
|
+
constructor(modoApi, route) {
|
|
2856
2858
|
this.modoApi = modoApi;
|
|
2859
|
+
this.route = route;
|
|
2857
2860
|
this.statusPay = new EventEmitter();
|
|
2858
2861
|
this.isLoading = false;
|
|
2862
|
+
this.executionEnv = 'desktop';
|
|
2859
2863
|
}
|
|
2860
2864
|
/**
|
|
2861
2865
|
* @return {?}
|
|
2862
2866
|
*/
|
|
2863
2867
|
ngOnInit() {
|
|
2864
|
-
this.
|
|
2868
|
+
this.detectEnvironment();
|
|
2869
|
+
if (this.executionEnv === 'desktop') {
|
|
2870
|
+
this.loadModoScript();
|
|
2871
|
+
}
|
|
2872
|
+
}
|
|
2873
|
+
/**
|
|
2874
|
+
* @private
|
|
2875
|
+
* @return {?}
|
|
2876
|
+
*/
|
|
2877
|
+
detectEnvironment() {
|
|
2878
|
+
try {
|
|
2879
|
+
/** @type {?} */
|
|
2880
|
+
const params = this.route.snapshot.params;
|
|
2881
|
+
/** @type {?} */
|
|
2882
|
+
const guid = params['guid'];
|
|
2883
|
+
/** @type {?} */
|
|
2884
|
+
const platform = (/** @type {?} */ (params['platform']));
|
|
2885
|
+
if (platform === 'iOS' || platform === 'Android' || guid === 'app') {
|
|
2886
|
+
this.executionEnv = 'native-app';
|
|
2887
|
+
this.devicePlatform = platform;
|
|
2888
|
+
console.log(`MODO Payment: Entorno detectado -> Nativo (${this.devicePlatform || 'app'})`);
|
|
2889
|
+
return;
|
|
2890
|
+
}
|
|
2891
|
+
}
|
|
2892
|
+
catch (error) {
|
|
2893
|
+
console.warn('MODO Payment: No se pudo leer los parámetros de la ruta. Se continuará con la detección por User Agent.');
|
|
2894
|
+
}
|
|
2895
|
+
/** @type {?} */
|
|
2896
|
+
const userAgent = navigator.userAgent || navigator.vendor || ((/** @type {?} */ (window))).opera;
|
|
2897
|
+
if (/android/i.test(userAgent) || /iPad|iPhone|iPod/.test(userAgent)) {
|
|
2898
|
+
this.executionEnv = 'mobile-browser';
|
|
2899
|
+
console.log('MODO Payment: Entorno detectado -> Navegador Móvil');
|
|
2900
|
+
}
|
|
2901
|
+
else {
|
|
2902
|
+
this.executionEnv = 'desktop';
|
|
2903
|
+
console.log('MODO Payment: Entorno detectado -> Desktop');
|
|
2904
|
+
}
|
|
2865
2905
|
}
|
|
2866
2906
|
/**
|
|
2867
2907
|
* @return {?}
|
|
@@ -2873,48 +2913,21 @@ class ModoComponent {
|
|
|
2873
2913
|
/** @type {?} */
|
|
2874
2914
|
const initialData = yield this.createModoPayment();
|
|
2875
2915
|
this.isLoading = false;
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
onSuccess: (/**
|
|
2892
|
-
* @return {?}
|
|
2893
|
-
*/
|
|
2894
|
-
() => {
|
|
2895
|
-
this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });
|
|
2896
|
-
}),
|
|
2897
|
-
onFailure: (/**
|
|
2898
|
-
* @return {?}
|
|
2899
|
-
*/
|
|
2900
|
-
() => {
|
|
2901
|
-
this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });
|
|
2902
|
-
}),
|
|
2903
|
-
onCancel: (/**
|
|
2904
|
-
* @return {?}
|
|
2905
|
-
*/
|
|
2906
|
-
() => {
|
|
2907
|
-
console.log('Pago cancelado por el usuario en el celular.');
|
|
2908
|
-
}),
|
|
2909
|
-
onClose: (/**
|
|
2910
|
-
* @return {?}
|
|
2911
|
-
*/
|
|
2912
|
-
() => {
|
|
2913
|
-
console.log('Modal de MODO cerrado.');
|
|
2914
|
-
}),
|
|
2915
|
-
};
|
|
2916
|
-
// 3. Inicia el SDK de MODO
|
|
2917
|
-
ModoSDK.modoInitPayment(modalObject);
|
|
2916
|
+
switch (this.executionEnv) {
|
|
2917
|
+
case 'native-app':
|
|
2918
|
+
// Llama a la función nativa para abrir en un navegador externo
|
|
2919
|
+
this.openOnNativeNavigator(initialData.deeplink);
|
|
2920
|
+
break;
|
|
2921
|
+
case 'mobile-browser':
|
|
2922
|
+
// Abre el deeplink en una nueva pestaña
|
|
2923
|
+
window.open(initialData.deeplink, '_blank');
|
|
2924
|
+
break;
|
|
2925
|
+
case 'desktop':
|
|
2926
|
+
default:
|
|
2927
|
+
// Abrir el modal del SDK
|
|
2928
|
+
this.initModoSdkModal(initialData);
|
|
2929
|
+
break;
|
|
2930
|
+
}
|
|
2918
2931
|
}
|
|
2919
2932
|
catch (error) {
|
|
2920
2933
|
this.isLoading = false;
|
|
@@ -2924,8 +2937,77 @@ class ModoComponent {
|
|
|
2924
2937
|
});
|
|
2925
2938
|
}
|
|
2926
2939
|
/**
|
|
2927
|
-
*
|
|
2928
|
-
*
|
|
2940
|
+
* @private
|
|
2941
|
+
* @param {?} url
|
|
2942
|
+
* @return {?}
|
|
2943
|
+
*/
|
|
2944
|
+
openOnNativeNavigator(url) {
|
|
2945
|
+
try {
|
|
2946
|
+
if (this.devicePlatform === 'iOS') {
|
|
2947
|
+
((/** @type {?} */ (window))).webkit.messageHandlers.externalURL.postMessage(url);
|
|
2948
|
+
}
|
|
2949
|
+
else if (this.devicePlatform === 'Android') {
|
|
2950
|
+
((/** @type {?} */ (window))).externalURL.postMessage(url);
|
|
2951
|
+
}
|
|
2952
|
+
else {
|
|
2953
|
+
// Fallback si por alguna razón no se detectó la plataforma pero sí el entorno nativo
|
|
2954
|
+
window.open(url, '_blank');
|
|
2955
|
+
}
|
|
2956
|
+
}
|
|
2957
|
+
catch (e) {
|
|
2958
|
+
console.error('Error al intentar invocar el message handler nativo:', e);
|
|
2959
|
+
}
|
|
2960
|
+
}
|
|
2961
|
+
/**
|
|
2962
|
+
* @private
|
|
2963
|
+
* @param {?} initialData
|
|
2964
|
+
* @return {?}
|
|
2965
|
+
*/
|
|
2966
|
+
initModoSdkModal(initialData) {
|
|
2967
|
+
/** @type {?} */
|
|
2968
|
+
const modalObject = {
|
|
2969
|
+
version: '2',
|
|
2970
|
+
qrString: initialData.qrString,
|
|
2971
|
+
checkoutId: initialData.checkoutId,
|
|
2972
|
+
deeplink: {
|
|
2973
|
+
url: initialData.deeplink,
|
|
2974
|
+
callbackURL: this.callbackUrl,
|
|
2975
|
+
callbackURLSuccess: this.callbackUrlSuccess
|
|
2976
|
+
},
|
|
2977
|
+
callbackURL: this.callbackUrl,
|
|
2978
|
+
refreshData: (/**
|
|
2979
|
+
* @return {?}
|
|
2980
|
+
*/
|
|
2981
|
+
() => this.createModoPayment()),
|
|
2982
|
+
onSuccess: (/**
|
|
2983
|
+
* @return {?}
|
|
2984
|
+
*/
|
|
2985
|
+
() => {
|
|
2986
|
+
this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });
|
|
2987
|
+
}),
|
|
2988
|
+
onFailure: (/**
|
|
2989
|
+
* @return {?}
|
|
2990
|
+
*/
|
|
2991
|
+
() => {
|
|
2992
|
+
this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });
|
|
2993
|
+
}),
|
|
2994
|
+
onCancel: (/**
|
|
2995
|
+
* @return {?}
|
|
2996
|
+
*/
|
|
2997
|
+
() => {
|
|
2998
|
+
console.log('Pago cancelado por el usuario en el celular.');
|
|
2999
|
+
}),
|
|
3000
|
+
onClose: (/**
|
|
3001
|
+
* @return {?}
|
|
3002
|
+
*/
|
|
3003
|
+
() => {
|
|
3004
|
+
console.log('Modal de MODO cerrado.');
|
|
3005
|
+
}),
|
|
3006
|
+
};
|
|
3007
|
+
// 3. Inicia el SDK de MODO
|
|
3008
|
+
ModoSDK.modoInitPayment(modalObject);
|
|
3009
|
+
}
|
|
3010
|
+
/**
|
|
2929
3011
|
* @private
|
|
2930
3012
|
* @return {?}
|
|
2931
3013
|
*/
|
|
@@ -2977,7 +3059,8 @@ ModoComponent.decorators = [
|
|
|
2977
3059
|
];
|
|
2978
3060
|
/** @nocollapse */
|
|
2979
3061
|
ModoComponent.ctorParameters = () => [
|
|
2980
|
-
{ type: ModoApiService }
|
|
3062
|
+
{ type: ModoApiService },
|
|
3063
|
+
{ type: ActivatedRoute }
|
|
2981
3064
|
];
|
|
2982
3065
|
ModoComponent.propDecorators = {
|
|
2983
3066
|
accessToken: [{ type: Input }],
|
|
@@ -3014,11 +3097,26 @@ if (false) {
|
|
|
3014
3097
|
ModoComponent.prototype.statusPay;
|
|
3015
3098
|
/** @type {?} */
|
|
3016
3099
|
ModoComponent.prototype.isLoading;
|
|
3100
|
+
/**
|
|
3101
|
+
* @type {?}
|
|
3102
|
+
* @private
|
|
3103
|
+
*/
|
|
3104
|
+
ModoComponent.prototype.executionEnv;
|
|
3105
|
+
/**
|
|
3106
|
+
* @type {?}
|
|
3107
|
+
* @private
|
|
3108
|
+
*/
|
|
3109
|
+
ModoComponent.prototype.devicePlatform;
|
|
3017
3110
|
/**
|
|
3018
3111
|
* @type {?}
|
|
3019
3112
|
* @private
|
|
3020
3113
|
*/
|
|
3021
3114
|
ModoComponent.prototype.modoApi;
|
|
3115
|
+
/**
|
|
3116
|
+
* @type {?}
|
|
3117
|
+
* @private
|
|
3118
|
+
*/
|
|
3119
|
+
ModoComponent.prototype.route;
|
|
3022
3120
|
}
|
|
3023
3121
|
|
|
3024
3122
|
/**
|