@ts-core/angular 11.0.86 → 11.0.87
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/ts-core-angular.umd.js +29 -58
- package/bundles/ts-core-angular.umd.js.map +1 -1
- package/bundles/ts-core-angular.umd.min.js +1 -1
- package/bundles/ts-core-angular.umd.min.js.map +1 -1
- package/esm2015/login/LoginBaseService.js +2 -32
- package/esm2015/login/LoginGuard.js +4 -3
- package/fesm2015/ts-core-angular.js +27 -57
- package/fesm2015/ts-core-angular.js.map +1 -1
- package/login/LoginGuard.d.ts +2 -2
- package/package.json +1 -1
- package/ts-core-angular.metadata.json +1 -1
|
@@ -20,36 +20,6 @@ export class LoginBaseService extends Loadable {
|
|
|
20
20
|
// Protected Methods
|
|
21
21
|
//
|
|
22
22
|
// --------------------------------------------------------------------------
|
|
23
|
-
/*
|
|
24
|
-
protected async loginByParam(param?: any): Promise<void> {
|
|
25
|
-
if (this.isLoggedIn || this.isLoading) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
this.status = LoadableStatus.LOADING;
|
|
30
|
-
this.observer.next(new ObservableData(LoadableEvent.STARTED));
|
|
31
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
this.parseLoginResponse(await this.loginRequest(param));
|
|
35
|
-
this.status = !this.isCanLoginWithSid() ? LoadableStatus.LOADED : LoadableStatus.LOADING;
|
|
36
|
-
if (this.isLoading) {
|
|
37
|
-
this.loginBySid();
|
|
38
|
-
}
|
|
39
|
-
} catch (error) {
|
|
40
|
-
error = ExtendedError.create(error);
|
|
41
|
-
|
|
42
|
-
this.status = LoadableStatus.ERROR;
|
|
43
|
-
this.parseLoginErrorResponse(error);
|
|
44
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_ERROR, null, error));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (!this.isLoading) {
|
|
48
|
-
this.observer.next(new ObservableData(LoadableEvent.FINISHED));
|
|
49
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_FINISHED));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
*/
|
|
53
23
|
loginByParam(param) {
|
|
54
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
25
|
return this.loginByFunction(() => this.loginRequest(param));
|
|
@@ -128,7 +98,6 @@ export class LoginBaseService extends Loadable {
|
|
|
128
98
|
}
|
|
129
99
|
this.reset();
|
|
130
100
|
}
|
|
131
|
-
// public abstract registration(param: any): void;
|
|
132
101
|
loginByResponse(param) {
|
|
133
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
103
|
if (this.isLoggedIn || this.isLoading) {
|
|
@@ -149,6 +118,7 @@ export class LoginBaseService extends Loadable {
|
|
|
149
118
|
return false;
|
|
150
119
|
}
|
|
151
120
|
if (!this.isLoggedIn && !this.isLoading) {
|
|
121
|
+
this.status = LoadableStatus.LOADING;
|
|
152
122
|
this.observer.next(new ObservableData(LoadableEvent.STARTED));
|
|
153
123
|
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
|
|
154
124
|
this.loginBySid();
|
|
@@ -224,4 +194,4 @@ export var LoginBaseServiceEvent;
|
|
|
224
194
|
LoginBaseServiceEvent["REGISTRATION_COMPLETE"] = "REGISTRATION_COMPLETE";
|
|
225
195
|
LoginBaseServiceEvent["REGISTRATION_FINISHED"] = "REGISTRATION_FINISHED";
|
|
226
196
|
})(LoginBaseServiceEvent || (LoginBaseServiceEvent = {}));
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5CYXNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkJhc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixnQkFBNEMsU0FBUSxRQUEwRDtJQWFoSSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFURixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE2QkU7SUFFYyxZQUFZLENBQVUsS0FBUzs7WUFDM0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0tBQUE7SUFFZSxlQUFlLENBQUMsaUJBQTRDOztZQUN4RSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkMsT0FBTyxJQUFJLENBQUM7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QUFDLGNBQWMsQ0FBQyxFQUNsRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBUyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsRUFDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQVlYO0FBWkQsV0FBWSxxQkFBcUI7SUFDN0Isb0RBQTJCLENBQUE7SUFDM0Isd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsNERBQW1DLENBQUE7SUFFbkMsa0VBQXlDLENBQUE7SUFDekMsc0VBQTZDLENBQUE7SUFDN0Msd0VBQStDLENBQUE7SUFDL0Msd0VBQStDLENBQUE7QUFDbkQsQ0FBQyxFQVpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFZaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZSwgTG9hZGFibGVTdGF0dXMgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRXh0ZW5kZWRFcnJvciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9lcnJvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBUcmFuc3BvcnROb0Nvbm5lY3Rpb25FcnJvciwgVHJhbnNwb3J0VGltZW91dEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL3RyYW5zcG9ydCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2luQmFzZVNlcnZpY2U8RSA9IGFueSwgVSA9IGFueSwgViA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZTxFIHwgTG9naW5CYXNlU2VydmljZUV2ZW50LCBVIHwgViB8IEV4dGVuZGVkRXJyb3I+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9zaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Jlc291cmNlOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2xvZ2luRGF0YTogVjtcbiAgICBwcm90ZWN0ZWQgX2lzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKlxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5UGFyYW0ocGFyYW0/OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNMb2dnZWRJbiB8fCB0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9TVEFSVEVEKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpblJlc3BvbnNlKGF3YWl0IHRoaXMubG9naW5SZXF1ZXN0KHBhcmFtKSk7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9ICF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkgPyBMb2FkYWJsZVN0YXR1cy5MT0FERUQgOiBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5FUlJPUjtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0ZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKi9cblxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5UGFyYW08VCA9IGFueT4ocGFyYW0/OiBUKTogUHJvbWlzZTxVPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvZ2luQnlGdW5jdGlvbigoKSA9PiB0aGlzLmxvZ2luUmVxdWVzdChwYXJhbSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5RnVuY3Rpb24oc2lkUmV0dXJuRnVuY3Rpb246ICguLi5wYXJhbXMpID0+IFByb21pc2U8VT4pOiBQcm9taXNlPFU+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNMb2dnZWRJbiB8fCB0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IFU7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BRElORztcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fU1RBUlRFRCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IHNpZFJldHVybkZ1bmN0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnBhcnNlTG9naW5SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BREVEO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2luQnlTaWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGVycm9yID0gRXh0ZW5kZWRFcnJvci5jcmVhdGUoZXJyb3IpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkVSUk9SO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luRXJyb3JSZXNwb25zZShlcnJvcik7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9FUlJPUiwgbnVsbCwgZXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5GSU5JU0hFRCkpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRklOSVNIRUQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGxvZ2luQnlTaWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChfLmlzTmlsKHRoaXMuc2lkKSkge1xuICAgICAgICAgICAgdGhpcy5fc2lkID0gdGhpcy5nZXRTYXZlZFNpZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHRoaXMubG9naW5TaWRSZXF1ZXN0KCk7XG4gICAgICAgICAgICB0aGlzLnBhcnNlTG9naW5TaWRSZXNwb25zZShyZXNwb25zZSk7XG5cbiAgICAgICAgICAgIHRoaXMuX2lzTG9nZ2VkSW4gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FERUQ7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuQ09NUExFVEUsIHJlc3BvbnNlKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9DT01QTEVURSwgcmVzcG9uc2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGVycm9yID0gRXh0ZW5kZWRFcnJvci5jcmVhdGUoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luU2lkRXJyb3JSZXNwb25zZShlcnJvcik7XG5cbiAgICAgICAgICAgIHRoaXMuX2lzTG9nZ2VkSW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuRVJST1I7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9FUlJPUiwgbnVsbCwgZXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5GSU5JU0hFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9GSU5JU0hFRCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2lkID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcmVzb3VyY2UgPSBudWxsO1xuICAgICAgICB0aGlzLl9sb2dpbkRhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2dpblJlcXVlc3QoLi4ucGFyYW1zKTogUHJvbWlzZTxVPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9naW5TaWRSZXF1ZXN0KCk6IFByb21pc2U8Vj47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9nb3V0UmVxdWVzdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTYXZlZFNpZCgpOiBzdHJpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQYXJzZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHBhcnNlTG9naW5SZXNwb25zZShyZXNwb25zZTogVSk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXJyb3I6IEV4dGVuZGVkRXJyb3IpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5TaWRSZXNwb25zZShyZXNwb25zZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLl9sb2dpbkRhdGEgPSByZXNwb25zZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dpblNpZEVycm9yUmVzcG9uc2UoZXJyb3I6IEV4dGVuZGVkRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHJhbnNwb3J0VGltZW91dEVycm9yIHx8IGVycm9yIGluc3RhbmNlb2YgVHJhbnNwb3J0Tm9Db25uZWN0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgbG9naW4ocGFyYW06IGFueSk6IHZvaWQ7XG5cbiAgICAvLyBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0cmF0aW9uKHBhcmFtOiBhbnkpOiB2b2lkO1xuXG4gICAgcHVibGljIGFzeW5jIGxvZ2luQnlSZXNwb25zZShwYXJhbTogVSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0aGlzLnBhcnNlTG9naW5SZXNwb25zZShwYXJhbSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSA/IExvYWRhYmxlU3RhdHVzLkxPQURFRCA6IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5TG9naW5CeVNpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluICYmICF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMubG9naW5CeVNpZCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfU1RBUlRFRCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvZ291dFJlcXVlc3QoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLk5PVF9MT0FERUQ7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR09VVF9GSU5JU0hFRCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ2FuTG9naW5XaXRoU2lkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWQgIT0gbnVsbCB8fCB0aGlzLmdldFNhdmVkU2lkKCkgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBsb2dpbmVkKCk6IE9ic2VydmFibGU8Vj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0NPTVBMRVRFKSxcbiAgICAgICAgICAgIG1hcChpdGVtID0+IGl0ZW0uZGF0YSBhcyBWKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9nb3V0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HT1VUX0ZJTklTSEVEKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvdXJjZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2dpbkRhdGEoKTogViB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2dpbkRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2dnZWRJbjtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIExvZ2luQmFzZVNlcnZpY2VFdmVudCB7XG4gICAgTE9HSU5fRVJST1IgPSAnTE9HSU5fRVJST1InLFxuICAgIExPR0lOX1NUQVJURUQgPSAnTE9HSU5fU1RBUlRFRCcsXG4gICAgTE9HSU5fQ09NUExFVEUgPSAnTE9HSU5fQ09NUExFVEUnLFxuICAgIExPR0lOX0ZJTklTSEVEID0gJ0xPR0lOX0ZJTklTSEVEJyxcbiAgICBMT0dPVVRfU1RBUlRFRCA9ICdMT0dPVVRfU1RBUlRFRCcsXG4gICAgTE9HT1VUX0ZJTklTSEVEID0gJ0xPR09VVF9GSU5JU0hFRCcsXG5cbiAgICBSRUdJU1RSQVRJT05fRVJST1IgPSAnUkVHSVNUUkFUSU9OX0VSUk9SJyxcbiAgICBSRUdJU1RSQVRJT05fU1RBUlRFRCA9ICdSRUdJU1RSQVRJT05fU1RBUlRFRCcsXG4gICAgUkVHSVNUUkFUSU9OX0NPTVBMRVRFID0gJ1JFR0lTVFJBVElPTl9DT01QTEVURScsXG4gICAgUkVHSVNUUkFUSU9OX0ZJTklTSEVEID0gJ1JFR0lTVFJBVElPTl9GSU5JU0hFRCdcbn1cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5CYXNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkJhc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixnQkFBNEMsU0FBUSxRQUEwRDtJQWFoSSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFURixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RCxZQUFZLENBQVUsS0FBUzs7WUFDM0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0tBQUE7SUFFZSxlQUFlLENBQUMsaUJBQTRDOztZQUN4RSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkMsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELElBQUksUUFBVyxDQUFDO1lBQ2hCLElBQUksQ0FB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QWMsQ0FBQyxFQUNsRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBUyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsRUFDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQVlYO0FBWkQsV0FBWSxxQkFBcUI7SUFDN0Isb0RBQTJCLENBQUE7SUFDM0Isd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsNERBQW1DLENBQUE7SUFFbkMsa0VBQXlDLENBQUE7SUFDekMsc0VBQTZDLENBQUE7SUFDN0Msd0VBQStDLENBQUE7SUFDL0Msd0VBQStDLENBQUE7QUFDbkQsQ0FBQyxFQVpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFZaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZSwgTG9hZGFibGVTdGF0dXMgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRXh0ZW5kZWRFcnJvciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9lcnJvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBUcmFuc3BvcnROb0Nvbm5lY3Rpb25FcnJvciwgVHJhbnNwb3J0VGltZW91dEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL3RyYW5zcG9ydCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2luQmFzZVNlcnZpY2U8RSA9IGFueSwgVSA9IGFueSwgViA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZTxFIHwgTG9naW5CYXNlU2VydmljZUV2ZW50LCBVIHwgViB8IEV4dGVuZGVkRXJyb3I+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9zaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Jlc291cmNlOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2xvZ2luRGF0YTogVjtcbiAgICBwcm90ZWN0ZWQgX2lzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeVBhcmFtPFQgPSBhbnk+KHBhcmFtPzogVCk6IFByb21pc2U8VT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2dpbkJ5RnVuY3Rpb24oKCkgPT4gdGhpcy5sb2dpblJlcXVlc3QocGFyYW0pKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeUZ1bmN0aW9uKHNpZFJldHVybkZ1bmN0aW9uOiAoLi4ucGFyYW1zKSA9PiBQcm9taXNlPFU+KTogUHJvbWlzZTxVPiB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9nZ2VkSW4gfHwgdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBVO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBzaWRSZXR1cm5GdW5jdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5FUlJPUjtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0ZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5U2lkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLnNpZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZCA9IHRoaXMuZ2V0U2F2ZWRTaWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmxvZ2luU2lkUmVxdWVzdCgpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2UpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BREVEO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkNPTVBMRVRFLCByZXNwb25zZSkpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fQ09NUExFVEUsIHJlc3BvbnNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpblNpZEVycm9yUmVzcG9uc2UoZXJyb3IpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkVSUk9SO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkVSUk9SLCBudWxsLCBlcnJvcikpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRklOSVNIRUQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9naW5SZXF1ZXN0KC4uLnBhcmFtcyk6IFByb21pc2U8VT47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ2luU2lkUmVxdWVzdCgpOiBQcm9taXNlPFY+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ291dFJlcXVlc3QoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0U2F2ZWRTaWQoKTogc3RyaW5nO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UGFyc2UgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBwYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2U6IFUpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5FcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9nb3V0RXJyb3JSZXNwb25zZShlcnJvcjogRXh0ZW5kZWRFcnJvcik6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBwYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2U6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5TaWRFcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydFRpbWVvdXRFcnJvciB8fCBlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydE5vQ29ubmVjdGlvbkVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFic3RyYWN0IGxvZ2luKHBhcmFtOiBhbnkpOiB2b2lkO1xuXG4gICAgcHVibGljIGFzeW5jIGxvZ2luQnlSZXNwb25zZShwYXJhbTogVSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0aGlzLnBhcnNlTG9naW5SZXNwb25zZShwYXJhbSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSA/IExvYWRhYmxlU3RhdHVzLkxPQURFRCA6IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5TG9naW5CeVNpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluICYmICF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMubG9naW5CeVNpZCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfU1RBUlRFRCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvZ291dFJlcXVlc3QoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLk5PVF9MT0FERUQ7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR09VVF9GSU5JU0hFRCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ2FuTG9naW5XaXRoU2lkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWQgIT0gbnVsbCB8fCB0aGlzLmdldFNhdmVkU2lkKCkgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBsb2dpbmVkKCk6IE9ic2VydmFibGU8Vj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0NPTVBMRVRFKSxcbiAgICAgICAgICAgIG1hcChpdGVtID0+IGl0ZW0uZGF0YSBhcyBWKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9nb3V0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HT1VUX0ZJTklTSEVEKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvdXJjZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2dpbkRhdGEoKTogViB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2dpbkRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2dnZWRJbjtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIExvZ2luQmFzZVNlcnZpY2VFdmVudCB7XG4gICAgTE9HSU5fRVJST1IgPSAnTE9HSU5fRVJST1InLFxuICAgIExPR0lOX1NUQVJURUQgPSAnTE9HSU5fU1RBUlRFRCcsXG4gICAgTE9HSU5fQ09NUExFVEUgPSAnTE9HSU5fQ09NUExFVEUnLFxuICAgIExPR0lOX0ZJTklTSEVEID0gJ0xPR0lOX0ZJTklTSEVEJyxcbiAgICBMT0dPVVRfU1RBUlRFRCA9ICdMT0dPVVRfU1RBUlRFRCcsXG4gICAgTE9HT1VUX0ZJTklTSEVEID0gJ0xPR09VVF9GSU5JU0hFRCcsXG5cbiAgICBSRUdJU1RSQVRJT05fRVJST1IgPSAnUkVHSVNUUkFUSU9OX0VSUk9SJyxcbiAgICBSRUdJU1RSQVRJT05fU1RBUlRFRCA9ICdSRUdJU1RSQVRJT05fU1RBUlRFRCcsXG4gICAgUkVHSVNUUkFUSU9OX0NPTVBMRVRFID0gJ1JFR0lTVFJBVElPTl9DT01QTEVURScsXG4gICAgUkVHSVNUUkFUSU9OX0ZJTklTSEVEID0gJ1JFR0lTVFJBVElPTl9GSU5JU0hFRCdcbn1cbiJdfQ==
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { LoginBaseService } from './LoginBaseService';
|
|
3
|
+
import { LoginRequireResolver } from './LoginRequireResolver';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "./LoginBaseService";
|
|
5
|
-
export class LoginGuard {
|
|
6
|
+
export class LoginGuard extends LoginRequireResolver {
|
|
6
7
|
// --------------------------------------------------------------------------
|
|
7
8
|
//
|
|
8
9
|
// Constructor
|
|
9
10
|
//
|
|
10
11
|
// --------------------------------------------------------------------------
|
|
11
12
|
constructor(login) {
|
|
12
|
-
|
|
13
|
+
super(login);
|
|
13
14
|
}
|
|
14
15
|
// --------------------------------------------------------------------------
|
|
15
16
|
//
|
|
@@ -27,4 +28,4 @@ LoginGuard.decorators = [
|
|
|
27
28
|
LoginGuard.ctorParameters = () => [
|
|
28
29
|
{ type: LoginBaseService }
|
|
29
30
|
];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5HdWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUc5RCxNQUFNLE9BQU8sVUFBVyxTQUFRLG9CQUFvQjtJQUNoRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksS0FBdUI7UUFDL0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQzs7OztZQXBCSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFIekIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9naW5CYXNlU2VydmljZSB9IGZyb20gJy4vTG9naW5CYXNlU2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblJlcXVpcmVSZXNvbHZlciB9IGZyb20gJy4vTG9naW5SZXF1aXJlUmVzb2x2ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvZ2luR3VhcmQgZXh0ZW5kcyBMb2dpblJlcXVpcmVSZXNvbHZlciBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGxvZ2luOiBMb2dpbkJhc2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGxvZ2luKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9naW4uaXNMb2dnZWRJbjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7718,36 +7718,6 @@ class LoginBaseService extends Loadable {
|
|
|
7718
7718
|
// Protected Methods
|
|
7719
7719
|
//
|
|
7720
7720
|
// --------------------------------------------------------------------------
|
|
7721
|
-
/*
|
|
7722
|
-
protected async loginByParam(param?: any): Promise<void> {
|
|
7723
|
-
if (this.isLoggedIn || this.isLoading) {
|
|
7724
|
-
return;
|
|
7725
|
-
}
|
|
7726
|
-
|
|
7727
|
-
this.status = LoadableStatus.LOADING;
|
|
7728
|
-
this.observer.next(new ObservableData(LoadableEvent.STARTED));
|
|
7729
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
|
|
7730
|
-
|
|
7731
|
-
try {
|
|
7732
|
-
this.parseLoginResponse(await this.loginRequest(param));
|
|
7733
|
-
this.status = !this.isCanLoginWithSid() ? LoadableStatus.LOADED : LoadableStatus.LOADING;
|
|
7734
|
-
if (this.isLoading) {
|
|
7735
|
-
this.loginBySid();
|
|
7736
|
-
}
|
|
7737
|
-
} catch (error) {
|
|
7738
|
-
error = ExtendedError.create(error);
|
|
7739
|
-
|
|
7740
|
-
this.status = LoadableStatus.ERROR;
|
|
7741
|
-
this.parseLoginErrorResponse(error);
|
|
7742
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_ERROR, null, error));
|
|
7743
|
-
}
|
|
7744
|
-
|
|
7745
|
-
if (!this.isLoading) {
|
|
7746
|
-
this.observer.next(new ObservableData(LoadableEvent.FINISHED));
|
|
7747
|
-
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_FINISHED));
|
|
7748
|
-
}
|
|
7749
|
-
}
|
|
7750
|
-
*/
|
|
7751
7721
|
loginByParam(param) {
|
|
7752
7722
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7753
7723
|
return this.loginByFunction(() => this.loginRequest(param));
|
|
@@ -7826,7 +7796,6 @@ class LoginBaseService extends Loadable {
|
|
|
7826
7796
|
}
|
|
7827
7797
|
this.reset();
|
|
7828
7798
|
}
|
|
7829
|
-
// public abstract registration(param: any): void;
|
|
7830
7799
|
loginByResponse(param) {
|
|
7831
7800
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7832
7801
|
if (this.isLoggedIn || this.isLoading) {
|
|
@@ -7847,6 +7816,7 @@ class LoginBaseService extends Loadable {
|
|
|
7847
7816
|
return false;
|
|
7848
7817
|
}
|
|
7849
7818
|
if (!this.isLoggedIn && !this.isLoading) {
|
|
7819
|
+
this.status = LoadableStatus.LOADING;
|
|
7850
7820
|
this.observer.next(new ObservableData(LoadableEvent.STARTED));
|
|
7851
7821
|
this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
|
|
7852
7822
|
this.loginBySid();
|
|
@@ -7923,32 +7893,6 @@ var LoginBaseServiceEvent;
|
|
|
7923
7893
|
LoginBaseServiceEvent["REGISTRATION_FINISHED"] = "REGISTRATION_FINISHED";
|
|
7924
7894
|
})(LoginBaseServiceEvent || (LoginBaseServiceEvent = {}));
|
|
7925
7895
|
|
|
7926
|
-
class LoginGuard {
|
|
7927
|
-
// --------------------------------------------------------------------------
|
|
7928
|
-
//
|
|
7929
|
-
// Constructor
|
|
7930
|
-
//
|
|
7931
|
-
// --------------------------------------------------------------------------
|
|
7932
|
-
constructor(login) {
|
|
7933
|
-
this.login = login;
|
|
7934
|
-
}
|
|
7935
|
-
// --------------------------------------------------------------------------
|
|
7936
|
-
//
|
|
7937
|
-
// Public Methods
|
|
7938
|
-
//
|
|
7939
|
-
// --------------------------------------------------------------------------
|
|
7940
|
-
canActivate(route, state) {
|
|
7941
|
-
return this.login.isLoggedIn;
|
|
7942
|
-
}
|
|
7943
|
-
}
|
|
7944
|
-
LoginGuard.ɵprov = ɵɵdefineInjectable({ factory: function LoginGuard_Factory() { return new LoginGuard(ɵɵinject(LoginBaseService)); }, token: LoginGuard, providedIn: "root" });
|
|
7945
|
-
LoginGuard.decorators = [
|
|
7946
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7947
|
-
];
|
|
7948
|
-
LoginGuard.ctorParameters = () => [
|
|
7949
|
-
{ type: LoginBaseService }
|
|
7950
|
-
];
|
|
7951
|
-
|
|
7952
7896
|
class LoginRequireResolver {
|
|
7953
7897
|
// --------------------------------------------------------------------------
|
|
7954
7898
|
//
|
|
@@ -7983,6 +7927,32 @@ class LoginRequireResolver {
|
|
|
7983
7927
|
}
|
|
7984
7928
|
}
|
|
7985
7929
|
|
|
7930
|
+
class LoginGuard extends LoginRequireResolver {
|
|
7931
|
+
// --------------------------------------------------------------------------
|
|
7932
|
+
//
|
|
7933
|
+
// Constructor
|
|
7934
|
+
//
|
|
7935
|
+
// --------------------------------------------------------------------------
|
|
7936
|
+
constructor(login) {
|
|
7937
|
+
super(login);
|
|
7938
|
+
}
|
|
7939
|
+
// --------------------------------------------------------------------------
|
|
7940
|
+
//
|
|
7941
|
+
// Public Methods
|
|
7942
|
+
//
|
|
7943
|
+
// --------------------------------------------------------------------------
|
|
7944
|
+
canActivate(route, state) {
|
|
7945
|
+
return this.login.isLoggedIn;
|
|
7946
|
+
}
|
|
7947
|
+
}
|
|
7948
|
+
LoginGuard.ɵprov = ɵɵdefineInjectable({ factory: function LoginGuard_Factory() { return new LoginGuard(ɵɵinject(LoginBaseService)); }, token: LoginGuard, providedIn: "root" });
|
|
7949
|
+
LoginGuard.decorators = [
|
|
7950
|
+
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7951
|
+
];
|
|
7952
|
+
LoginGuard.ctorParameters = () => [
|
|
7953
|
+
{ type: LoginBaseService }
|
|
7954
|
+
];
|
|
7955
|
+
|
|
7986
7956
|
class LoginResolver extends LoginRequireResolver {
|
|
7987
7957
|
// --------------------------------------------------------------------------
|
|
7988
7958
|
//
|