@xsolla/payment-client-core 0.2.69 → 0.2.71
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/esm2022/lib/core/payment/payment-configuration.interface.mjs +1 -1
- package/esm2022/lib/core/payment/payment-configurations/types/credit-card-form-configuration.interface.mjs +2 -0
- package/esm2022/lib/core/payment/payment-settings/payment-settings-request-params.interface.mjs +1 -1
- package/esm2022/lib/core/payment/payment-settings/payment-settings.service.mjs +13 -6
- package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +6 -1
- package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +13 -1
- package/fesm2022/xsolla-payment-client-core.mjs +29 -5
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/payment-configuration.interface.d.ts +1 -7
- package/lib/core/payment/payment-configurations/types/credit-card-form-configuration.interface.d.ts +24 -0
- package/lib/core/payment/payment-settings/payment-settings-request-params.interface.d.ts +2 -0
- package/lib/core/payment/payment-settings/payment-settings.service.d.ts +1 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.71.tgz +0 -0
- package/xsolla-payment-client-core-0.2.69.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgY3JlZGl0Q2FyZFBheW1lbnRNZXRob2RJZCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcGF5bWVudC1tZXRob2RzLWlkLnZhcmlhYmxlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uQ3JlZGl0Q2FyZFNldHRpbmdzIH0gZnJvbSAnLi9wYXltZW50LWNvbmZpZ3VyYXRpb25zL3R5cGVzL2NyZWRpdC1jYXJkLWZvcm0tY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJyaWRlZEZpZWxkIHtcbiAgaW5pdGlhbFZhbHVlOiBYcHNCb29sZWFuIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VQYXltZW50Q29uZmlndXJhdGlvbiB7XG4gIHBheW1lbnRNZXRob2RJZDogbnVtYmVyO1xuICByZXR1cm5Vcmw6IHN0cmluZztcbiAgYWNjb3VudElkPzogbnVtYmVyO1xuICBwYXltZW50V2l0aFNhdmVkTWV0aG9kPzogYm9vbGVhbjtcbiAgc2F2ZWRNZXRob2RJZD86IG51bWJlcjtcbiAgc2F2ZVBheW1lbnRNZXRob2Q/OiBib29sZWFuO1xuICBvdmVycmlkZUZvcm1GaWVsZHM/OiB7IFtrZXk6IHN0cmluZ106IE92ZXJyaWRlZEZpZWxkIH07XG59XG5cbmludGVyZmFjZSBQYXltZW50Q29uZmlndXJhdGlvbldpdGhHZW5lcmFsU2V0dGluZ3NcbiAgZXh0ZW5kcyBCYXNlUGF5bWVudENvbmZpZ3VyYXRpb24ge1xuICBwYXltZW50TWV0aG9kSWQ6IEV4Y2x1ZGU8bnVtYmVyLCB0eXBlb2YgY3JlZGl0Q2FyZFBheW1lbnRNZXRob2RJZD47XG4gIHBheW1lbnRNZXRob2RTZXR0aW5ncz86IG5ldmVyO1xufVxuXG5leHBvcnQgdHlwZSBQYXltZW50Q29uZmlndXJhdGlvbiA9XG4gIHwgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkU2V0dGluZ3NcbiAgfCBQYXltZW50Q29uZmlndXJhdGlvbldpdGhHZW5lcmFsU2V0dGluZ3M7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtZm9ybS1jb25maWd1cmF0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9ucy90eXBlcy9jcmVkaXQtY2FyZC1mb3JtLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVkaXRDYXJkUGF5bWVudE1ldGhvZElkIH0gZnJvbSAnLi4vLi4vY3JlZGl0LWNhcmQtcGF5bWVudC1tZXRob2RzLWlkLnZhcmlhYmxlJztcbmltcG9ydCB7IEJhc2VQYXltZW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuXG5pbnRlcmZhY2UgU3BlY2lhbFBheW1lbnRTZXR0aW5nc0Jhc2Uge1xuICB1c2VTaW5nbGVFeHBpcmF0aW9uRGF0ZUZpZWxkPzogYm9vbGVhbjtcbn1cblxudHlwZSBTcGVjaWFsUGF5bWVudFNldHRpbmdzID0gU3BlY2lhbFBheW1lbnRTZXR0aW5nc0Jhc2UgJiB7XG4gIHVzZUV4dGVybmFsVmF1bHQ/OiBmYWxzZTtcbiAgaXNQYXltZW50VmlhU2F2ZWRNZXRob2Q/OiBuZXZlcjtcbn07XG5cbnR5cGUgU3BlY2lhbFBheW1lbnRTZXR0aW5nc1dpdGhWYXVsdCA9IFNwZWNpYWxQYXltZW50U2V0dGluZ3NCYXNlICYge1xuICB1c2VFeHRlcm5hbFZhdWx0OiB0cnVlO1xuICBpc1BheW1lbnRWaWFTYXZlZE1ldGhvZDogYm9vbGVhbjtcbn07XG5cbnR5cGUgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkQmFzZSA9IEJhc2VQYXltZW50Q29uZmlndXJhdGlvbiAmIHtcbiAgcGF5bWVudE1ldGhvZElkOiB0eXBlb2YgY3JlZGl0Q2FyZFBheW1lbnRNZXRob2RJZDtcbn07XG5cbnR5cGUgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkID0gUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkQmFzZSAmIHtcbiAgcGF5bWVudE1ldGhvZFNldHRpbmdzOiBTcGVjaWFsUGF5bWVudFNldHRpbmdzO1xufTtcblxudHlwZSBQYXltZW50Q29uZmlndXJhdGlvbkNyZWRpdENhcmRXaXRoVmF1bHQgPVxuICBQYXltZW50Q29uZmlndXJhdGlvbkNyZWRpdENhcmRCYXNlICYge1xuICAgIHBheW1lbnRNZXRob2RTZXR0aW5nczogU3BlY2lhbFBheW1lbnRTZXR0aW5nc1dpdGhWYXVsdDtcbiAgfTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkU2V0dGluZ3MgPVxuICB8IFBheW1lbnRDb25maWd1cmF0aW9uQ3JlZGl0Q2FyZFxuICB8IFBheW1lbnRDb25maWd1cmF0aW9uQ3JlZGl0Q2FyZFdpdGhWYXVsdDtcbiJdfQ==
|
package/esm2022/lib/core/payment/payment-settings/payment-settings-request-params.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zZXR0aW5ncy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3BheW1lbnQtc2V0dGluZ3MvcGF5bWVudC1zZXR0aW5ncy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50U2V0dGluZ3NSZXF1ZXN0UGFyYW1zIHtcbiAgdXNlU2luZ2xlRXhwaXJhdGlvbkRhdGVGaWVsZD86IFhwc0Jvb2xlYW47XG4gIHVzZUV4dGVybmFsVmF1bHQ/OiBYcHNCb29sZWFuO1xuICBpc1BheW1lbnRWaWFTYXZlZE1ldGhvZD86IFhwc0Jvb2xlYW47XG59XG4iXX0=
|
|
@@ -2,11 +2,18 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class PaymentSettingsService {
|
|
4
4
|
getPaymentSettingsParams(config) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
5
|
+
if (!config?.paymentMethodSettings) {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
const settings = config.paymentMethodSettings;
|
|
9
|
+
const params = {};
|
|
10
|
+
params.useSingleExpirationDateField = this.toXps(settings.useSingleExpirationDateField);
|
|
11
|
+
params.useExternalVault = this.toXps(settings.useExternalVault);
|
|
12
|
+
params.isPaymentViaSavedMethod = this.toXps(settings.isPaymentViaSavedMethod);
|
|
13
|
+
return params;
|
|
14
|
+
}
|
|
15
|
+
toXps(value) {
|
|
16
|
+
return value ? "1" /* XpsBoolean.true */ : "0" /* XpsBoolean.false */;
|
|
10
17
|
}
|
|
11
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
19
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentSettingsService, providedIn: 'root' }); }
|
|
@@ -17,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
17
24
|
providedIn: 'root',
|
|
18
25
|
}]
|
|
19
26
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LXNldHRpbmdzL3BheW1lbnQtc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVEzQyxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLHdCQUF3QixDQUM3QixNQUFtQztRQUVuQyxJQUFJLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBRTlDLE1BQU0sTUFBTSxHQUFpQyxFQUFFLENBQUM7UUFFaEQsTUFBTSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQzlDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FDdEMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN6QyxRQUFRLENBQUMsdUJBQXVCLENBQ2pDLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQTBCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLENBQUMsMkJBQWlCLENBQUMsMkJBQWlCLENBQUM7SUFDcEQsQ0FBQzs4R0F6QlUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2V0dGluZ3NSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9wYXltZW50LXNldHRpbmdzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4vLi4veHBzLWJvb2xlYW4uZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50U2V0dGluZ3NTZXJ2aWNlIHtcbiAgcHVibGljIGdldFBheW1lbnRTZXR0aW5nc1BhcmFtcyhcbiAgICBjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uIHwgbnVsbFxuICApOiBQYXltZW50U2V0dGluZ3NSZXF1ZXN0UGFyYW1zIHtcbiAgICBpZiAoIWNvbmZpZz8ucGF5bWVudE1ldGhvZFNldHRpbmdzKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSBjb25maWcucGF5bWVudE1ldGhvZFNldHRpbmdzO1xuXG4gICAgY29uc3QgcGFyYW1zOiBQYXltZW50U2V0dGluZ3NSZXF1ZXN0UGFyYW1zID0ge307XG5cbiAgICBwYXJhbXMudXNlU2luZ2xlRXhwaXJhdGlvbkRhdGVGaWVsZCA9IHRoaXMudG9YcHMoXG4gICAgICBzZXR0aW5ncy51c2VTaW5nbGVFeHBpcmF0aW9uRGF0ZUZpZWxkXG4gICAgKTtcbiAgICBwYXJhbXMudXNlRXh0ZXJuYWxWYXVsdCA9IHRoaXMudG9YcHMoc2V0dGluZ3MudXNlRXh0ZXJuYWxWYXVsdCk7XG4gICAgcGFyYW1zLmlzUGF5bWVudFZpYVNhdmVkTWV0aG9kID0gdGhpcy50b1hwcyhcbiAgICAgIHNldHRpbmdzLmlzUGF5bWVudFZpYVNhdmVkTWV0aG9kXG4gICAgKTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHRvWHBzKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKTogWHBzQm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID8gWHBzQm9vbGVhbi50cnVlIDogWHBzQm9vbGVhbi5mYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -58,12 +58,14 @@ export class CentrifugoWebSocketService {
|
|
|
58
58
|
.asObservable()
|
|
59
59
|
.subscribe(next);
|
|
60
60
|
}
|
|
61
|
+
/* istanbul ignore next */
|
|
61
62
|
clearReconnectionTimer() {
|
|
62
63
|
if (this.reconnectionTimerId) {
|
|
63
64
|
clearTimeout(this.reconnectionTimerId);
|
|
64
65
|
this.reconnectionTimerId = null;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
/* istanbul ignore next */
|
|
67
69
|
setFirstReconnectionTimeout() {
|
|
68
70
|
const min = CentrifugoWebSocketService.timeoutsMs.reconnection -
|
|
69
71
|
CentrifugoWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
@@ -72,14 +74,17 @@ export class CentrifugoWebSocketService {
|
|
|
72
74
|
this.reconnectionTimeoutMs =
|
|
73
75
|
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
74
76
|
}
|
|
77
|
+
/* istanbul ignore next */
|
|
75
78
|
incrementReconnectionTimeout() {
|
|
76
79
|
this.reconnectionTimeoutMs =
|
|
77
80
|
this.reconnectionTimeoutMs *
|
|
78
81
|
CentrifugoWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
79
82
|
}
|
|
83
|
+
/* istanbul ignore next */
|
|
80
84
|
async getCentrifugoClient() {
|
|
81
85
|
return import('centrifuge').then((module) => module.Centrifuge);
|
|
82
86
|
}
|
|
87
|
+
/* istanbul ignore next */
|
|
83
88
|
async createConnection(url, channel) {
|
|
84
89
|
if (this.isConnectionOpen || this.isConnecting) {
|
|
85
90
|
return;
|
|
@@ -199,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
199
204
|
providedIn: 'root',
|
|
200
205
|
}]
|
|
201
206
|
}], ctorParameters: () => [{ type: i1.ElkLoggerService }] });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby13ZWItc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS93ZWItc29ja2V0L2NlbnRyaWZ1Z28td2ViLXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUtwRSxNQUFNLE9BQU8sMEJBQTBCO2FBQ2QsdUNBQWtDLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFJdEMsZUFBVSxHQUFHO1FBQ25DLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHdCQUF3QixFQUFFLElBQUk7S0FDL0IsQUFIaUMsQ0FHaEM7SUFzQkYsWUFBb0MsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEzQi9ELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFRckMsd0JBQW1CLEdBQXlDLElBQUksQ0FBQztRQU9qRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFLWixzQkFBaUIsR0FDaEMsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFFbkIsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7SUFFbUQsQ0FBQztJQUVuRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVcsRUFB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QU8sR0FBaUM7WUFDNUMsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLElBQ0UsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLHFCQUFxQjtZQUMvQyxJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs4R0F4UlUsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUge1xuICBDZW50cmlmdWdlLFxuICBEaXNjb25uZWN0ZWRDb250ZXh0LFxuICBQdWJsaWNhdGlvbkNvbnRleHQsXG4gIFN1YnNjcmlwdGlvbiBhcyBDZW50cmlmdWdlU3Vic2NyaXB0aW9uLFxufSBmcm9tICdjZW50cmlmdWdlJztcbmltcG9ydCB7IFN0cmVhbVBvc2l0aW9uLCBTdWJzY3JpcHRpb25PcHRpb25zIH0gZnJvbSAnY2VudHJpZnVnZS9idWlsZC90eXBlcyc7XG5pbXBvcnQgeyBFbGtMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lbGsvZWxrLWxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFdzRXJyb3IgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy93cy1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnQgfSBmcm9tICcuL3dlYi1zb2NrZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuL3dlYi1zb2NrZXQtY2xpZW50LXR5cGUuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIFdlYlNvY2tldENsaWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVjb25uZWN0aW9uVGltZW91dEluY3JlbWVudEZhY3RvciA9IDI7XG5cbiAgcHVibGljIHR5cGUgPSBXZWJTb2NrZXRDbGllbnRUeXBlLmNlbnRyaWZ1Z287XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgdGltZW91dHNNcyA9IHtcbiAgICByZWNvbm5lY3Rpb246IDEwMDAsXG4gICAgcmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uOiAxMDAwLFxuICB9O1xuXG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZW91dE1zITogbnVtYmVyO1xuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcGVuQ29ubmVjdGlvblRpbWVySWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbm5lY3Rpb24hOiBDZW50cmlmdWdlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiE6IENlbnRyaWZ1Z2VTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uUG9zaXRpb24/OiBTdHJlYW1Qb3NpdGlvbjtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3Rpb25PcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNDb25uZWN0aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgdXJsITogc3RyaW5nO1xuICBwcml2YXRlIGNoYW5uZWwhOiBzdHJpbmc7XG4gIHByaXZhdGUgcHJldlN1YnNjcmliZWRDaGFubmVsPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5jb21pbmdNZXNzYWdlcyQ6IFN1YmplY3Q8UHVibGljYXRpb25Db250ZXh0PiA9XG4gICAgbmV3IFN1YmplY3Q8UHVibGljYXRpb25Db250ZXh0PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JDogU3ViamVjdDx2b2lkPiA9XG4gICAgbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGtMb2dnZXJTZXJ2aWNlOiBFbGtMb2dnZXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuKHVybDogc3RyaW5nLCBjaGFubmVsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodXJsID09PSB0aGlzLnVybCAmJiBjaGFubmVsID09PSB0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICB0aGlzLmNoYW5uZWwgPSBjaGFubmVsO1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVDb25uZWN0aW9uKHVybCwgY2hhbm5lbCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZXJyb3IgaXMgdW5rbm93blxuICAgICAgY29uc3QgbWVzc2FnZSA9IChlcnJvcj8ubWVzc2FnZSB8fCBlcnJvcikgYXMgc3RyaW5nO1xuICAgICAgY29uc3QgdW5rbm93bkVycm9yID0gbmV3IFdzRXJyb3IoXG4gICAgICAgIGB1bmtub3duIHdlYnNvY2tldCBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgIGNoYW5uZWxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5oYW5kbGVFcnJvcih1bmtub3duRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIGlmICghdGhpcy5pc0Nvbm5lY3Rpb25PcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uPy5kaXNjb25uZWN0KCk7XG5cbiAgICB0aGlzLnVybCA9ICcnO1xuICAgIHRoaXMuY2hhbm5lbCA9ICcnO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlcyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJFxuICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgLy8gZXZlbnQgZG9uJ3QgcmVzcGVjdCB0eXBlIGZyb20gYXJndW1lbnQsIGl0J3Mgd2VpcmRcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuXG4gICAgICAgIC5waXBlKG1hcCgoZXZlbnQpID0+IGV2ZW50LmRhdGEpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKG5leHQ/OiAoKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5zdWJzY3JpYmUobmV4dCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCk7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1pbiA9XG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiAtXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICBjb25zdCBtYXggPVxuICAgICAgQ2VudHJpZnVnb1dlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gK1xuICAgICAgQ2VudHJpZnVnb1dlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb25NYXhEZXZpYXRpb247XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgPVxuICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5jcmVtZW50UmVjb25uZWN0aW9uVGltZW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyAqXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS5yZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRDZW50cmlmdWdvQ2xpZW50KCk6IFByb21pc2U8dHlwZW9mIENlbnRyaWZ1Z2U+IHtcbiAgICByZXR1cm4gaW1wb3J0KCdjZW50cmlmdWdlJykudGhlbigobW9kdWxlKSA9PiBtb2R1bGUuQ2VudHJpZnVnZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbm5lY3Rpb24oXG4gICAgdXJsPzogc3RyaW5nLFxuICAgIGNoYW5uZWw/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uT3BlbiB8fCB0aGlzLmlzQ29ubmVjdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBjb25zdCBDZW50cmlmdWdlQ2xpZW50ID0gYXdhaXQgdGhpcy5nZXRDZW50cmlmdWdvQ2xpZW50KCk7XG5cbiAgICBjb25zdCB3ZWJzb2NrZXRVcmwgPSB1cmwgPz8gdGhpcy51cmw7XG4gICAgY29uc3Qgd2Vic29ja2V0Q2hhbm5lbCA9IGNoYW5uZWwgPz8gdGhpcy5jaGFubmVsO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IENlbnRyaWZ1Z2VDbGllbnQod2Vic29ja2V0VXJsLCB7XG4gICAgICBkZWJ1ZzogdHJ1ZSxcbiAgICAgIG1heFJlY29ubmVjdERlbGF5OiAxNTAwLFxuICAgICAgbWF4U2VydmVyUGluZ0RlbGF5OiAxMDAwLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblxuICAgICAgICAub24oJ2Nvbm5lY3RpbmcnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSB0cnVlO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdkaXNjb25uZWN0ZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkRpc2Nvbm5lY3QoY3R4LCB3ZWJzb2NrZXRDaGFubmVsKTtcbiAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdlcnJvcicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguZXJyb3IuY29kZX0gLSAke2N0eC5lcnJvci5tZXNzYWdlfWA7XG5cbiAgICAgICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgICAgICAgYGNvbm5lY3Rpb24gZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbm5lY3Rpb24ubmV3U3Vic2NyaXB0aW9uKFxuICAgICAgICB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbk9wdGlvbnMod2Vic29ja2V0Q2hhbm5lbClcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uXG4gICAgICAgIC5vbignc3Vic2NyaWJlZCcsIChjdHgpID0+IHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uID0gY3R4LnN0cmVhbVBvc2l0aW9uO1xuICAgICAgICAgIHRoaXMucHJldlN1YnNjcmliZWRDaGFubmVsID0gd2Vic29ja2V0Q2hhbm5lbDtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdwdWJsaWNhdGlvbicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gY3R4LmRhdGEgYXMgc3RyaW5nO1xuXG4gICAgICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgICAgIGB3ZWJzb2NrZXQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICBbRXJyb3JUYWdzLldTXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJC5uZXh0KGN0eCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignZXJyb3InLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmVycm9yLmNvZGV9IC0gJHtjdHguZXJyb3IubWVzc2FnZX1gO1xuXG4gICAgICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgICAgIGBzdWJzY3JpcHRpb24gZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbm5lY3QoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIG9uRGlzY29ubmVjdChcbiAgICBjdHg6IERpc2Nvbm5lY3RlZENvbnRleHQsXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIHRoaXMuaXNDb25uZWN0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc0Nvbm5lY3Rpb25PcGVuID0gZmFsc2U7XG5cbiAgICAvKiBJZiBjb25uZWN0aW9uIGVycm9yLCBjYXVzZSBhbnkgY29ubmVjdGlvbiBlcnJvciBpc24ndCAwICovXG4gICAgaWYgKGN0eC5jb2RlICE9PSAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguY29kZX0gLSAke2N0eC5yZWFzb259YDtcblxuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgYGRpc2Nvbm5lY3RlZCBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAgICB7XG4gICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWNvbm5lY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHJlc29sdmUoZmFsc2UpKTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG4gICAgICB9LCB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRXaGlsZU5vdFJlY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcbiAgICB0aGlzLnNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpO1xuXG4gICAgbGV0IGlzQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBiZWZvcmVUaW1lciA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGFmdGVyVGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgIGNvbnN0IHRpbWVyRHVyYXRpb24gPSBhZnRlclRpbWVyIC0gYmVmb3JlVGltZXI7XG5cbiAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgYGZhbGxiYWNrIHRvIHJlY29ubmVjdGlvbiB0aW1lcjogZHVyYXRpb24gJHt0aW1lckR1cmF0aW9ufW1zYCxcbiAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAge1xuICAgICAgICBjaGFubmVsOiB0aGlzLmNoYW5uZWwsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGdldFN1YnNjcmlwdGlvbk9wdGlvbnMoXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nXG4gICk6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4gPSB7XG4gICAgICByZWNvdmVyYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgd2Vic29ja2V0Q2hhbm5lbCA9PT0gdGhpcy5wcmV2U3Vic2NyaWJlZENoYW5uZWwgJiZcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb25cbiAgICApIHtcbiAgICAgIG9wdGlvbnMuc2luY2UgPSB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG59XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby13ZWItc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS93ZWItc29ja2V0L2NlbnRyaWZ1Z28td2ViLXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUtwRSxNQUFNLE9BQU8sMEJBQTBCO2FBQ2QsdUNBQWtDLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFJdEMsZUFBVSxHQUFHO1FBQ25DLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHdCQUF3QixFQUFFLElBQUk7S0FDL0IsQUFIaUMsQ0FHaEM7SUFzQkYsWUFBb0MsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEzQi9ELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFRckMsd0JBQW1CLEdBQXlDLElBQUksQ0FBQztRQU9qRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFLWixzQkFBaUIsR0FDaEMsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFFbkIsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7SUFFbUQsQ0FBQztJQUVuRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVcsRUFB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LElBQUksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsZ0JBQXdCO1FBRXhCLE1BQU0sT0FBTyxHQUFpQztZQUM1QyxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDO1FBRUYsSUFDRSxnQkFBZ0IsS0FBSyxJQUFJLENBQUMscUJBQXFCO1lBQy9DLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzVDLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQTdSVSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7XG4gIENlbnRyaWZ1Z2UsXG4gIERpc2Nvbm5lY3RlZENvbnRleHQsXG4gIFB1YmxpY2F0aW9uQ29udGV4dCxcbiAgU3Vic2NyaXB0aW9uIGFzIENlbnRyaWZ1Z2VTdWJzY3JpcHRpb24sXG59IGZyb20gJ2NlbnRyaWZ1Z2UnO1xuaW1wb3J0IHsgU3RyZWFtUG9zaXRpb24sIFN1YnNjcmlwdGlvbk9wdGlvbnMgfSBmcm9tICdjZW50cmlmdWdlL2J1aWxkL3R5cGVzJztcbmltcG9ydCB7IEVsa0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vsay9lbGstbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgV3NFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3dzLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4vd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdHlwZSA9IFdlYlNvY2tldENsaWVudFR5cGUuY2VudHJpZnVnbztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTAwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDEwMDAsXG4gIH07XG5cbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lb3V0TXMhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZXJJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5Db25uZWN0aW9uVGltZXJJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgY29ubmVjdGlvbiE6IENlbnRyaWZ1Z2U7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogQ2VudHJpZnVnZVN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Qb3NpdGlvbj86IFN0cmVhbVBvc2l0aW9uO1xuICBwcml2YXRlIGlzQ29ubmVjdGlvbk9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3RpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cmwhOiBzdHJpbmc7XG4gIHByaXZhdGUgY2hhbm5lbCE6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2U3Vic2NyaWJlZENoYW5uZWw/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNvbWluZ01lc3NhZ2VzJDogU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+ID1cbiAgICBuZXcgU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkOiBTdWJqZWN0PHZvaWQ+ID1cbiAgICBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsa0xvZ2dlclNlcnZpY2U6IEVsa0xvZ2dlclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGFzeW5jIG9wZW4odXJsOiBzdHJpbmcsIGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh1cmwgPT09IHRoaXMudXJsICYmIGNoYW5uZWwgPT09IHRoaXMuY2hhbm5lbCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgIHRoaXMuY2hhbm5lbCA9IGNoYW5uZWw7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24odXJsLCBjaGFubmVsKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBlcnJvciBpcyB1bmtub3duXG4gICAgICBjb25zdCBtZXNzYWdlID0gKGVycm9yPy5tZXNzYWdlIHx8IGVycm9yKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCB1bmtub3duRXJyb3IgPSBuZXcgV3NFcnJvcihcbiAgICAgICAgYHVua25vd24gd2Vic29ja2V0IGVycm9yOiAke21lc3NhZ2V9YCxcbiAgICAgICAgY2hhbm5lbFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmhhbmRsZUVycm9yKHVua25vd25FcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ29ubmVjdGlvbk9wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24/LmRpc2Nvbm5lY3QoKTtcblxuICAgIHRoaXMudXJsID0gJyc7XG4gICAgdGhpcy5jaGFubmVsID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluY29taW5nTWVzc2FnZXMkXG4gICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAvLyBldmVudCBkb24ndCByZXNwZWN0IHR5cGUgZnJvbSBhcmd1bWVudCwgaXQncyB3ZWlyZFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICAgICAgLnBpcGUobWFwKChldmVudCkgPT4gZXZlbnQuZGF0YSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBzZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWluID1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uIC1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiArXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zICpcbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnJlY29ubmVjdGlvblRpbWVvdXRJbmNyZW1lbnRGYWN0b3I7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIGdldENlbnRyaWZ1Z29DbGllbnQoKTogUHJvbWlzZTx0eXBlb2YgQ2VudHJpZnVnZT4ge1xuICAgIHJldHVybiBpbXBvcnQoJ2NlbnRyaWZ1Z2UnKS50aGVuKChtb2R1bGUpID0+IG1vZHVsZS5DZW50cmlmdWdlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ29ubmVjdGlvbihcbiAgICB1cmw/OiBzdHJpbmcsXG4gICAgY2hhbm5lbD86IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pc0Nvbm5lY3Rpb25PcGVuIHx8IHRoaXMuaXNDb25uZWN0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0IENlbnRyaWZ1Z2VDbGllbnQgPSBhd2FpdCB0aGlzLmdldENlbnRyaWZ1Z29DbGllbnQoKTtcblxuICAgIGNvbnN0IHdlYnNvY2tldFVybCA9IHVybCA/PyB0aGlzLnVybDtcbiAgICBjb25zdCB3ZWJzb2NrZXRDaGFubmVsID0gY2hhbm5lbCA/PyB0aGlzLmNoYW5uZWw7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBuZXcgQ2VudHJpZnVnZUNsaWVudCh3ZWJzb2NrZXRVcmwsIHtcbiAgICAgIGRlYnVnOiB0cnVlLFxuICAgICAgbWF4UmVjb25uZWN0RGVsYXk6IDE1MDAsXG4gICAgICBtYXhTZXJ2ZXJQaW5nRGVsYXk6IDEwMDAsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0aW9uXG4gICAgICAgIC5vbignY29ubmVjdGluZycsICgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzQ29ubmVjdGluZyA9IHRydWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignY29ubmVjdGVkJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25Db25uZWN0KCk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Rpc2Nvbm5lY3RlZCcsIChjdHgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uRGlzY29ubmVjdChjdHgsIHdlYnNvY2tldENoYW5uZWwpO1xuICAgICAgICAgIHJlamVjdCgpO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Vycm9yJywgKGN0eCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgY29kZSAke2N0eC5lcnJvci5jb2RlfSAtICR7Y3R4LmVycm9yLm1lc3NhZ2V9YDtcblxuICAgICAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coXG4gICAgICAgICAgICBgY29ubmVjdGlvbiBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICBbRXJyb3JUYWdzLldTXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgICAuY29ubmVjdCgpO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY29ubmVjdGlvbi5uZXdTdWJzY3JpcHRpb24oXG4gICAgICAgIHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgIHRoaXMuZ2V0U3Vic2NyaXB0aW9uT3B0aW9ucyh3ZWJzb2NrZXRDaGFubmVsKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25cbiAgICAgICAgLm9uKCdzdWJzY3JpYmVkJywgKGN0eCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb24gPSBjdHguc3RyZWFtUG9zaXRpb247XG4gICAgICAgICAgdGhpcy5wcmV2U3Vic2NyaWJlZENoYW5uZWwgPSB3ZWJzb2NrZXRDaGFubmVsO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ3B1YmxpY2F0aW9uJywgKGN0eCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjdHguZGF0YSBhcyBzdHJpbmc7XG5cbiAgICAgICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgICAgICAgYHdlYnNvY2tldCBtZXNzYWdlIHJlY2VpdmVkOiAke21lc3NhZ2V9YCxcbiAgICAgICAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLmluY29taW5nTWVzc2FnZXMkLm5leHQoY3R4KTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdlcnJvcicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguZXJyb3IuY29kZX0gLSAke2N0eC5lcnJvci5tZXNzYWdlfWA7XG5cbiAgICAgICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgICAgICAgYHN1YnNjcmlwdGlvbiBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICBbRXJyb3JUYWdzLldTXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uQ29ubmVjdCgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVuQ29ubmVjdGlvblRpbWVySWQpO1xuICAgIHRoaXMuaXNDb25uZWN0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc0Nvbm5lY3Rpb25PcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgb25EaXNjb25uZWN0KFxuICAgIGN0eDogRGlzY29ubmVjdGVkQ29udGV4dCxcbiAgICB3ZWJzb2NrZXRDaGFubmVsOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ29ubmVjdGlvbk9wZW4gPSBmYWxzZTtcblxuICAgIC8qIElmIGNvbm5lY3Rpb24gZXJyb3IsIGNhdXNlIGFueSBjb25uZWN0aW9uIGVycm9yIGlzbid0IDAgKi9cbiAgICBpZiAoY3R4LmNvZGUgIT09IDApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgY29kZSAke2N0eC5jb2RlfSAtICR7Y3R4LnJlYXNvbn1gO1xuXG4gICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgICBgZGlzY29ubmVjdGVkIGVycm9yOiAke21lc3NhZ2V9YCxcbiAgICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICAgIHtcbiAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLndhaXRXaGlsZU5vdFJlY29ubmVjdCgpO1xuICAgICAgfSkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlY29ubmVjdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQ29ubmVjdGlvbigpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSh0cnVlKSlcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gcmVzb2x2ZShmYWxzZSkpO1xuICAgICAgICB0aGlzLmluY3JlbWVudFJlY29ubmVjdGlvblRpbWVvdXQoKTtcbiAgICAgIH0sIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgd2FpdFdoaWxlTm90UmVjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuICAgIHRoaXMuc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG5cbiAgICBsZXQgaXNDb25uZWN0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGJlZm9yZVRpbWVyID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICB3aGlsZSAoIWlzQ29ubmVjdGVkKSB7XG4gICAgICBpc0Nvbm5lY3RlZCA9IGF3YWl0IHRoaXMucmVjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgYWZ0ZXJUaW1lciA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3QgdGltZXJEdXJhdGlvbiA9IGFmdGVyVGltZXIgLSBiZWZvcmVUaW1lcjtcblxuICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coXG4gICAgICBgZmFsbGJhY2sgdG8gcmVjb25uZWN0aW9uIHRpbWVyOiBkdXJhdGlvbiAke3RpbWVyRHVyYXRpb259bXNgLFxuICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICB7XG4gICAgICAgIGNoYW5uZWw6IHRoaXMuY2hhbm5lbCxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uT3B0aW9ucyhcbiAgICB3ZWJzb2NrZXRDaGFubmVsOiBzdHJpbmdcbiAgKTogUGFydGlhbDxTdWJzY3JpcHRpb25PcHRpb25zPiB7XG4gICAgY29uc3Qgb3B0aW9uczogUGFydGlhbDxTdWJzY3JpcHRpb25PcHRpb25zPiA9IHtcbiAgICAgIHJlY292ZXJhYmxlOiB0cnVlLFxuICAgIH07XG5cbiAgICBpZiAoXG4gICAgICB3ZWJzb2NrZXRDaGFubmVsID09PSB0aGlzLnByZXZTdWJzY3JpYmVkQ2hhbm5lbCAmJlxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25Qb3NpdGlvblxuICAgICkge1xuICAgICAgb3B0aW9ucy5zaW5jZSA9IHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export class NchanWebSocketService {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.type = WebSocketClientType.nchan;
|
|
9
|
+
this.openPromise = null;
|
|
9
10
|
this.reconnectionTimerId = null;
|
|
10
11
|
this.incomingMessages$ = new Subject();
|
|
11
12
|
this.successfulReconnectionEventsProxy$ = new Subject();
|
|
@@ -16,12 +17,16 @@ export class NchanWebSocketService {
|
|
|
16
17
|
reconnectionMaxDeviation: 1500,
|
|
17
18
|
}; }
|
|
18
19
|
async open(url) {
|
|
20
|
+
if (url === this.url) {
|
|
21
|
+
this.close();
|
|
22
|
+
}
|
|
19
23
|
if (this.openPromise && !this.isClosed()) {
|
|
20
24
|
return this.openPromise;
|
|
21
25
|
}
|
|
22
26
|
this.url = url;
|
|
23
27
|
this.openPromise = this.createConnection()
|
|
24
28
|
.catch(async () => {
|
|
29
|
+
console.info('here');
|
|
25
30
|
return this.waitWhileNotReconnect();
|
|
26
31
|
})
|
|
27
32
|
.then(() => {
|
|
@@ -36,6 +41,7 @@ export class NchanWebSocketService {
|
|
|
36
41
|
}
|
|
37
42
|
this.connection.onclose = null;
|
|
38
43
|
this.connection.close();
|
|
44
|
+
this.openPromise = null;
|
|
39
45
|
this.url = '';
|
|
40
46
|
}
|
|
41
47
|
get messages$() {
|
|
@@ -54,12 +60,14 @@ export class NchanWebSocketService {
|
|
|
54
60
|
}
|
|
55
61
|
return [this.connection.CLOSED, this.connection.CLOSING].includes(this.connection.readyState);
|
|
56
62
|
}
|
|
63
|
+
/* istanbul ignore next */
|
|
57
64
|
clearReconnectionTimer() {
|
|
58
65
|
if (this.reconnectionTimerId) {
|
|
59
66
|
clearTimeout(this.reconnectionTimerId);
|
|
60
67
|
this.reconnectionTimerId = null;
|
|
61
68
|
}
|
|
62
69
|
}
|
|
70
|
+
/* istanbul ignore next */
|
|
63
71
|
setFirstReconnectionTimeout() {
|
|
64
72
|
const min = NchanWebSocketService.timeoutsMs.reconnection -
|
|
65
73
|
NchanWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
@@ -68,11 +76,13 @@ export class NchanWebSocketService {
|
|
|
68
76
|
this.reconnectionTimeoutMs =
|
|
69
77
|
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
70
78
|
}
|
|
79
|
+
/* istanbul ignore next */
|
|
71
80
|
incrementReconnectionTimeout() {
|
|
72
81
|
this.reconnectionTimeoutMs =
|
|
73
82
|
this.reconnectionTimeoutMs *
|
|
74
83
|
NchanWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
75
84
|
}
|
|
85
|
+
/* istanbul ignore next */
|
|
76
86
|
async createConnection() {
|
|
77
87
|
this.connection = new WebSocket(this.url);
|
|
78
88
|
this.connection.onmessage = this.incomingMessages$.next.bind(this.incomingMessages$);
|
|
@@ -86,6 +96,7 @@ export class NchanWebSocketService {
|
|
|
86
96
|
};
|
|
87
97
|
});
|
|
88
98
|
}
|
|
99
|
+
/* istanbul ignore next */
|
|
89
100
|
async reconnect() {
|
|
90
101
|
this.clearReconnectionTimer();
|
|
91
102
|
return new Promise((resolve) => {
|
|
@@ -97,6 +108,7 @@ export class NchanWebSocketService {
|
|
|
97
108
|
}, this.reconnectionTimeoutMs);
|
|
98
109
|
});
|
|
99
110
|
}
|
|
111
|
+
/* istanbul ignore next */
|
|
100
112
|
async waitWhileNotReconnect() {
|
|
101
113
|
this.clearReconnectionTimer();
|
|
102
114
|
this.setFirstReconnectionTimeout();
|
|
@@ -115,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
115
127
|
providedIn: 'root',
|
|
116
128
|
}]
|
|
117
129
|
}] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC9uY2hhbi13ZWItc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFRUyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBVWhDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFNeEQsc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2IsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7S0EwSHZCO2FBakp3Qix1Q0FBa0MsR0FBRyxDQUFDLEFBQUosQ0FBSzthQU10QyxlQUFVLEdBQUc7UUFDbkMsWUFBWSxFQUFFLElBQUk7UUFDbEIsd0JBQXdCLEVBQUUsSUFBSTtLQUMvQixBQUhpQyxDQUdoQztJQWdCSyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUVmLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2FBQ3ZDLEtBQUssQ0FB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LHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4vd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5jaGFuV2ViU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIFdlYlNvY2tldENsaWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVjb25uZWN0aW9uVGltZW91dEluY3JlbWVudEZhY3RvciA9IDI7XG5cbiAgcHVibGljIHVybCE6IHN0cmluZztcblxuICBwdWJsaWMgdHlwZSA9IFdlYlNvY2tldENsaWVudFR5cGUubmNoYW47XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgdGltZW91dHNNcyA9IHtcbiAgICByZWNvbm5lY3Rpb246IDE1MDAsXG4gICAgcmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uOiAxNTAwLFxuICB9O1xuXG4gIHByaXZhdGUgb3BlblByb21pc2U6IFByb21pc2U8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lb3V0TXMhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZXJJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5Db25uZWN0aW9uVGltZXJJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgY29ubmVjdGlvbiE6IFdlYlNvY2tldDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluY29taW5nTWVzc2FnZXMkOiBTdWJqZWN0PE1lc3NhZ2VFdmVudD4gPVxuICAgIG5ldyBTdWJqZWN0PE1lc3NhZ2VFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkOiBTdWJqZWN0PHZvaWQ+ID1cbiAgICBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhc3luYyBvcGVuKHVybDogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgaWYgKHRoaXMub3BlblByb21pc2UgJiYgIXRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gICAgfVxuXG4gICAgdGhpcy51cmwgPSB1cmw7XG5cbiAgICB0aGlzLm9wZW5Qcm9taXNlID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKClcbiAgICAgIC5jYXRjaChhc3luYyAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRXaGlsZU5vdFJlY29ubmVjdCgpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSBhc3luYyAoKSA9PiB0aGlzLm9wZW4odXJsKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICBpZiAodGhpcy5pc0Nsb3NlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSBudWxsO1xuICAgIHRoaXMuY29ubmVjdGlvbi5jbG9zZSgpO1xuXG4gICAgdGhpcy51cmwgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZXMkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21pbmdNZXNzYWdlcyRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUobWFwKChldmVudDogTWVzc2FnZUV2ZW50PHN0cmluZz4pID0+IGV2ZW50LmRhdGEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBbdGhpcy5jb25uZWN0aW9uLkNMT1NFRCwgdGhpcy5jb25uZWN0aW9uLkNMT1NJTkddIGFzIG51bWJlcltdXG4gICAgKS5pbmNsdWRlcyh0aGlzLmNvbm5lY3Rpb24ucmVhZHlTdGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCk7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1pbiA9XG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gLVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gK1xuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSkgKyBtaW47XG4gIH1cblxuICBwcml2YXRlIGluY3JlbWVudFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgPVxuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgKlxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnJlY29ubmVjdGlvblRpbWVvdXRJbmNyZW1lbnRGYWN0b3I7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbm5lY3Rpb24oKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybCk7XG4gICAgdGhpcy5jb25uZWN0aW9uLm9ubWVzc2FnZSA9IHRoaXMuaW5jb21pbmdNZXNzYWdlcyQubmV4dC5iaW5kKFxuICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0aW9uLm9ub3BlbiA9ICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHJlamVjdCgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVjb25uZWN0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jcmVhdGVDb25uZWN0aW9uKClcbiAgICAgICAgICAudGhlbigoKSA9PiByZXNvbHZlKHRydWUpKVxuICAgICAgICAgIC5jYXRjaCgoKSA9PiByZXNvbHZlKGZhbHNlKSk7XG4gICAgICAgIHRoaXMuaW5jcmVtZW50UmVjb25uZWN0aW9uVGltZW91dCgpO1xuICAgICAgfSwgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB3YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG4gICAgdGhpcy5zZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTtcblxuICAgIGxldCBpc0Nvbm5lY3RlZCA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHRoaXMuc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC9uY2hhbi13ZWItc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFRUyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBT2hDLGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQUc1Qyx3QkFBbUIsR0FBeUMsSUFBSSxDQUFDO1FBTXhELHNCQUFpQixHQUNoQyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUNiLHVDQUFrQyxHQUNqRCxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBdUl2QjthQTlKd0IsdUNBQWtDLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFNdEMsZUFBVSxHQUFHO1FBQ25DLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHdCQUF3QixFQUFFLElBQUk7S0FDL0IsQUFIaUMsQ0FHaEM7SUFnQkssS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFXO1FBQzNCLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsV0FB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QjtJQUNsQixLQUFLLENBQUMscUJBQXFCO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBRW5DLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV4QixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQzs4R0E5SlUscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnRUeXBlIH0gZnJvbSAnLi93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdXJsITogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlID0gV2ViU29ja2V0Q2xpZW50VHlwZS5uY2hhbjtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTUwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDE1MDAsXG4gIH07XG5cbiAgcHJpdmF0ZSBvcGVuUHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZW91dE1zITogbnVtYmVyO1xuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcGVuQ29ubmVjdGlvblRpbWVySWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbm5lY3Rpb24hOiBXZWJTb2NrZXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNvbWluZ01lc3NhZ2VzJDogU3ViamVjdDxNZXNzYWdlRXZlbnQ+ID1cbiAgICBuZXcgU3ViamVjdDxNZXNzYWdlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JDogU3ViamVjdDx2b2lkPiA9XG4gICAgbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgYXN5bmMgb3Blbih1cmw6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGlmICh1cmwgPT09IHRoaXMudXJsKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3BlblByb21pc2UgJiYgIXRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gICAgfVxuXG4gICAgdGhpcy51cmwgPSB1cmw7XG5cbiAgICB0aGlzLm9wZW5Qcm9taXNlID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKClcbiAgICAgIC5jYXRjaChhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnaGVyZScpO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gYXN5bmMgKCkgPT4gdGhpcy5vcGVuKHVybCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLm9wZW5Qcm9taXNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgaWYgKHRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gbnVsbDtcbiAgICB0aGlzLmNvbm5lY3Rpb24uY2xvc2UoKTtcblxuICAgIHRoaXMub3BlblByb21pc2UgPSBudWxsO1xuXG4gICAgdGhpcy51cmwgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZXMkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21pbmdNZXNzYWdlcyRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUobWFwKChldmVudDogTWVzc2FnZUV2ZW50PHN0cmluZz4pID0+IGV2ZW50LmRhdGEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBbdGhpcy5jb25uZWN0aW9uLkNMT1NFRCwgdGhpcy5jb25uZWN0aW9uLkNMT1NJTkddIGFzIG51bWJlcltdXG4gICAgKS5pbmNsdWRlcyh0aGlzLmNvbm5lY3Rpb24ucmVhZHlTdGF0ZSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCk7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1pbiA9XG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gLVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gK1xuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSkgKyBtaW47XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGluY3JlbWVudFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgPVxuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgKlxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnJlY29ubmVjdGlvblRpbWVvdXRJbmNyZW1lbnRGYWN0b3I7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbm5lY3Rpb24oKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybCk7XG4gICAgdGhpcy5jb25uZWN0aW9uLm9ubWVzc2FnZSA9IHRoaXMuaW5jb21pbmdNZXNzYWdlcyQubmV4dC5iaW5kKFxuICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0aW9uLm9ub3BlbiA9ICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHJlamVjdCgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgcmVjb25uZWN0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jcmVhdGVDb25uZWN0aW9uKClcbiAgICAgICAgICAudGhlbigoKSA9PiByZXNvbHZlKHRydWUpKVxuICAgICAgICAgIC5jYXRjaCgoKSA9PiByZXNvbHZlKGZhbHNlKSk7XG4gICAgICAgIHRoaXMuaW5jcmVtZW50UmVjb25uZWN0aW9uVGltZW91dCgpO1xuICAgICAgfSwgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBhc3luYyB3YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG4gICAgdGhpcy5zZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTtcblxuICAgIGxldCBpc0Nvbm5lY3RlZCA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHRoaXMuc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2779,11 +2779,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
2779
2779
|
|
|
2780
2780
|
class PaymentSettingsService {
|
|
2781
2781
|
getPaymentSettingsParams(config) {
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
};
|
|
2782
|
+
if (!config?.paymentMethodSettings) {
|
|
2783
|
+
return {};
|
|
2784
|
+
}
|
|
2785
|
+
const settings = config.paymentMethodSettings;
|
|
2786
|
+
const params = {};
|
|
2787
|
+
params.useSingleExpirationDateField = this.toXps(settings.useSingleExpirationDateField);
|
|
2788
|
+
params.useExternalVault = this.toXps(settings.useExternalVault);
|
|
2789
|
+
params.isPaymentViaSavedMethod = this.toXps(settings.isPaymentViaSavedMethod);
|
|
2790
|
+
return params;
|
|
2791
|
+
}
|
|
2792
|
+
toXps(value) {
|
|
2793
|
+
return value ? "1" /* XpsBoolean.true */ : "0" /* XpsBoolean.false */;
|
|
2787
2794
|
}
|
|
2788
2795
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2789
2796
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentSettingsService, providedIn: 'root' }); }
|
|
@@ -5560,6 +5567,7 @@ var WebSocketClientType;
|
|
|
5560
5567
|
class NchanWebSocketService {
|
|
5561
5568
|
constructor() {
|
|
5562
5569
|
this.type = WebSocketClientType.nchan;
|
|
5570
|
+
this.openPromise = null;
|
|
5563
5571
|
this.reconnectionTimerId = null;
|
|
5564
5572
|
this.incomingMessages$ = new Subject();
|
|
5565
5573
|
this.successfulReconnectionEventsProxy$ = new Subject();
|
|
@@ -5570,12 +5578,16 @@ class NchanWebSocketService {
|
|
|
5570
5578
|
reconnectionMaxDeviation: 1500,
|
|
5571
5579
|
}; }
|
|
5572
5580
|
async open(url) {
|
|
5581
|
+
if (url === this.url) {
|
|
5582
|
+
this.close();
|
|
5583
|
+
}
|
|
5573
5584
|
if (this.openPromise && !this.isClosed()) {
|
|
5574
5585
|
return this.openPromise;
|
|
5575
5586
|
}
|
|
5576
5587
|
this.url = url;
|
|
5577
5588
|
this.openPromise = this.createConnection()
|
|
5578
5589
|
.catch(async () => {
|
|
5590
|
+
console.info('here');
|
|
5579
5591
|
return this.waitWhileNotReconnect();
|
|
5580
5592
|
})
|
|
5581
5593
|
.then(() => {
|
|
@@ -5590,6 +5602,7 @@ class NchanWebSocketService {
|
|
|
5590
5602
|
}
|
|
5591
5603
|
this.connection.onclose = null;
|
|
5592
5604
|
this.connection.close();
|
|
5605
|
+
this.openPromise = null;
|
|
5593
5606
|
this.url = '';
|
|
5594
5607
|
}
|
|
5595
5608
|
get messages$() {
|
|
@@ -5608,12 +5621,14 @@ class NchanWebSocketService {
|
|
|
5608
5621
|
}
|
|
5609
5622
|
return [this.connection.CLOSED, this.connection.CLOSING].includes(this.connection.readyState);
|
|
5610
5623
|
}
|
|
5624
|
+
/* istanbul ignore next */
|
|
5611
5625
|
clearReconnectionTimer() {
|
|
5612
5626
|
if (this.reconnectionTimerId) {
|
|
5613
5627
|
clearTimeout(this.reconnectionTimerId);
|
|
5614
5628
|
this.reconnectionTimerId = null;
|
|
5615
5629
|
}
|
|
5616
5630
|
}
|
|
5631
|
+
/* istanbul ignore next */
|
|
5617
5632
|
setFirstReconnectionTimeout() {
|
|
5618
5633
|
const min = NchanWebSocketService.timeoutsMs.reconnection -
|
|
5619
5634
|
NchanWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
@@ -5622,11 +5637,13 @@ class NchanWebSocketService {
|
|
|
5622
5637
|
this.reconnectionTimeoutMs =
|
|
5623
5638
|
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
5624
5639
|
}
|
|
5640
|
+
/* istanbul ignore next */
|
|
5625
5641
|
incrementReconnectionTimeout() {
|
|
5626
5642
|
this.reconnectionTimeoutMs =
|
|
5627
5643
|
this.reconnectionTimeoutMs *
|
|
5628
5644
|
NchanWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
5629
5645
|
}
|
|
5646
|
+
/* istanbul ignore next */
|
|
5630
5647
|
async createConnection() {
|
|
5631
5648
|
this.connection = new WebSocket(this.url);
|
|
5632
5649
|
this.connection.onmessage = this.incomingMessages$.next.bind(this.incomingMessages$);
|
|
@@ -5640,6 +5657,7 @@ class NchanWebSocketService {
|
|
|
5640
5657
|
};
|
|
5641
5658
|
});
|
|
5642
5659
|
}
|
|
5660
|
+
/* istanbul ignore next */
|
|
5643
5661
|
async reconnect() {
|
|
5644
5662
|
this.clearReconnectionTimer();
|
|
5645
5663
|
return new Promise((resolve) => {
|
|
@@ -5651,6 +5669,7 @@ class NchanWebSocketService {
|
|
|
5651
5669
|
}, this.reconnectionTimeoutMs);
|
|
5652
5670
|
});
|
|
5653
5671
|
}
|
|
5672
|
+
/* istanbul ignore next */
|
|
5654
5673
|
async waitWhileNotReconnect() {
|
|
5655
5674
|
this.clearReconnectionTimer();
|
|
5656
5675
|
this.setFirstReconnectionTimeout();
|
|
@@ -5730,12 +5749,14 @@ class CentrifugoWebSocketService {
|
|
|
5730
5749
|
.asObservable()
|
|
5731
5750
|
.subscribe(next);
|
|
5732
5751
|
}
|
|
5752
|
+
/* istanbul ignore next */
|
|
5733
5753
|
clearReconnectionTimer() {
|
|
5734
5754
|
if (this.reconnectionTimerId) {
|
|
5735
5755
|
clearTimeout(this.reconnectionTimerId);
|
|
5736
5756
|
this.reconnectionTimerId = null;
|
|
5737
5757
|
}
|
|
5738
5758
|
}
|
|
5759
|
+
/* istanbul ignore next */
|
|
5739
5760
|
setFirstReconnectionTimeout() {
|
|
5740
5761
|
const min = CentrifugoWebSocketService.timeoutsMs.reconnection -
|
|
5741
5762
|
CentrifugoWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
@@ -5744,14 +5765,17 @@ class CentrifugoWebSocketService {
|
|
|
5744
5765
|
this.reconnectionTimeoutMs =
|
|
5745
5766
|
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
5746
5767
|
}
|
|
5768
|
+
/* istanbul ignore next */
|
|
5747
5769
|
incrementReconnectionTimeout() {
|
|
5748
5770
|
this.reconnectionTimeoutMs =
|
|
5749
5771
|
this.reconnectionTimeoutMs *
|
|
5750
5772
|
CentrifugoWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
5751
5773
|
}
|
|
5774
|
+
/* istanbul ignore next */
|
|
5752
5775
|
async getCentrifugoClient() {
|
|
5753
5776
|
return import('centrifuge').then((module) => module.Centrifuge);
|
|
5754
5777
|
}
|
|
5778
|
+
/* istanbul ignore next */
|
|
5755
5779
|
async createConnection(url, channel) {
|
|
5756
5780
|
if (this.isConnectionOpen || this.isConnecting) {
|
|
5757
5781
|
return;
|