zek 14.2.62 → 14.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/services/auth.service.mjs +20 -20
- package/fesm2015/zek.mjs +18 -18
- package/fesm2015/zek.mjs.map +1 -1
- package/fesm2020/zek.mjs +18 -18
- package/fesm2020/zek.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable, } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
-
import { Convert, DateHelper, StorageHelper } from '../utils';
|
|
3
|
+
import { Convert, DateHelper, ObjectHelper, StorageHelper } from '../utils';
|
|
4
4
|
import { BitwiseHelper } from '../utils/bitwise-helper';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class AuthService {
|
|
@@ -11,17 +11,16 @@ export class AuthService {
|
|
|
11
11
|
}
|
|
12
12
|
get user() {
|
|
13
13
|
if (!this._isInitialized) {
|
|
14
|
-
let
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
tmp.refreshTokenTime = DateHelper.parseDate(tmp.refreshTokenTime);
|
|
14
|
+
let user = StorageHelper.get('login');
|
|
15
|
+
if (user) {
|
|
16
|
+
user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
17
|
+
user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
18
|
+
user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
19
|
+
if (Array.isArray(user.roles)) {
|
|
20
|
+
user.roles = user.roles.map(function (e) { return e ? e.toUpperCase() : e; });
|
|
21
|
+
}
|
|
23
22
|
}
|
|
24
|
-
this._user =
|
|
23
|
+
this._user = user;
|
|
25
24
|
this._isInitialized = true;
|
|
26
25
|
this._starRefreshTokenTimer();
|
|
27
26
|
}
|
|
@@ -79,14 +78,15 @@ export class AuthService {
|
|
|
79
78
|
return this._onRefreshTokenObservable;
|
|
80
79
|
}
|
|
81
80
|
login(user) {
|
|
82
|
-
if (user) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
81
|
+
// if (user) {
|
|
82
|
+
// // I think we don't need this
|
|
83
|
+
// user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
84
|
+
// user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
85
|
+
// user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
86
|
+
// if (Array.isArray(user.roles)) {
|
|
87
|
+
// user.roles = user.roles.map(function (e) { return e.toUpperCase(); });
|
|
88
|
+
// }
|
|
89
|
+
// }
|
|
90
90
|
StorageHelper.set('login', user);
|
|
91
91
|
this._user = null;
|
|
92
92
|
this._isInitialized = false; //user get method will init user
|
|
@@ -184,4 +184,4 @@ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
184
184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AuthService, decorators: [{
|
|
185
185
|
type: Injectable
|
|
186
186
|
}] });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQWdCLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsNkJBQXdCLEdBQVksS0FBSyxDQUFDO1FBQzFDLFVBQUssR0FBcUIsSUFBSSxDQUFDO0tBOE4xQztJQTFORyxJQUFJLElBQUk7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLElBQUksR0FBRyxFQUFFO2dCQUNMLHlCQUF5QjtnQkFDekIsbUJBQW1CO2dCQUNuQixpREFBaUQ7Z0JBQ2pELElBQUk7Z0JBQ0osR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckMsR0FBRyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDaEQsR0FBRyxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDckU7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcs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SyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUssRUFBRTtvQkFDUCxJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxhQUFhO3dCQUNiLE9BQU8sSUFBSSxDQUFDO2lCQUNuQjthQUNKO1NBQ0o7YUFBTTtZQUNILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksS0FBSyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxLQUFLO29CQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ25CO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBR0QsaUJBQWlCLENBQUMsSUFBUztRQUN2Qix1REFBdUQ7UUFDdkQsbUNBQW1DO1FBQ25DLDhDQUE4QztRQUU5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRW5DLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsb0NBQW9DO1FBQ3BDLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7O3dHQWhPUSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBLZXlQYWlyLCBMb2dpblRva2VuLCBMb2dpblVzZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBEYXRlSGVscGVyLCBPYmplY3RIZWxwZXIsIFN0b3JhZ2VIZWxwZXIgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IEJpdHdpc2VIZWxwZXIgfSBmcm9tICcuLi91dGlscy9iaXR3aXNlLWhlbHBlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9pc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9vbGRWYWx1ZUlzQXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfdXNlcjogTG9naW5Vc2VyIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuXHJcbiAgICBnZXQgdXNlcigpOiBMb2dpblVzZXIgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgbGV0IHRtcCA9IFN0b3JhZ2VIZWxwZXIuZ2V0KCdsb2dpbicpO1xyXG4gICAgICAgICAgICBpZiAodG1wKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBsZXQgdXNlcjpMb2dpblVzZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgaWQ6ICt0bXAuaWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZXhwaXJlZDogRGF0ZUhlbHBlci5wYXJzZURhdGUodG1wLmV4cGlyZWQpXHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB0bXAuaWQgPSBDb252ZXJ0LnBhcnNlTnVtYmVyKHRtcC5pZCk7XHJcbiAgICAgICAgICAgICAgICB0bXAuZXhwaXJlZCA9IERhdGVIZWxwZXIucGFyc2VEYXRlKHRtcC5leHBpcmVkKTtcclxuICAgICAgICAgICAgICAgIHRtcC5yZWZyZXNoVG9rZW5UaW1lID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodG1wLnJlZnJlc2hUb2tlblRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX3VzZXIgPSB0bXA7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdGFyUmVmcmVzaFRva2VuVGltZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuVGltZW91dDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc3RhclJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIHRoaXMuX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG5cclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBpZiAodXNlciAmJiB1c2VyLnJlZnJlc2hUb2tlblRpbWUpIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZW91dCA9IHVzZXIucmVmcmVzaFRva2VuVGltZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpOy8vIC0gKDYwICogMTAwMCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZW91dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3JlZnJlc2hUb2tlblRpbWVvdXQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZWZyZXNoVG9rZW5UaW1lb3V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBleHBpcmVkID0gdGhpcy5nZXRFeHBpcmVkKCkgfHwgbmV3IERhdGUoMCk7XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gbmV3IERhdGUoKSA8IGV4cGlyZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuX29sZFZhbHVlSXNBdXRoZW50aWNhdGVkICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRWYWx1ZUlzQXV0aGVudGljYXRlZCA9IG5ld1ZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdC5uZXh0KG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9pZiB1c2VyIGlzIHNpZ25lZCBpbiBhbmQgZXhwaXJlZCB3ZSBuZWVkIHRvIGxvZ291dCAocmVtb3ZlIGZyb20gbG9jYWxTdG9yYWdlKVxyXG4gICAgICAgICAgICBpZiAoIW5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29uU2lnbmVkSW5TdWJqZWN0PzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Oy8vQmVoYXZpb3JTdWJqZWN0IGlzIGZvciBpbml0aWFsIGZpcnQgdmFsdWUgPSBmYWxzZVxyXG4gICAgcHJpdmF0ZSBfb25TaWduZWRJbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZ2V0IG9uU2lnbmVkSW4oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSA9IHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSlcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiX29uRXhlY3V0ZU9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25TaWduZWRJbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX29uUmVmcmVzaFRva2VuU3ViamVjdD86IFN1YmplY3Q8dm9pZD47XHJcbiAgICBwcml2YXRlIF9vblJlZnJlc2hUb2tlbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG4gICAgZ2V0IG9uUmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZSA9IHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvblJlZnJlc2hUb2tlbk9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbG9naW4odXNlcjogTG9naW5Ub2tlbiB8IExvZ2luVXNlciB8IG51bGwpIHtcclxuICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICB1c2VyLmlkID0gQ29udmVydC5wYXJzZU51bWJlcih1c2VyLmlkKTtcclxuICAgICAgICAgICAgdXNlci5leHBpcmVkID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5leHBpcmVkKTtcclxuICAgICAgICAgICAgdXNlci5yZWZyZXNoVG9rZW5UaW1lID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5yZWZyZXNoVG9rZW5UaW1lKTtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodXNlci5yb2xlcykpIHtcclxuICAgICAgICAgICAgICAgIHVzZXIucm9sZXMgPSB1c2VyLnJvbGVzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS50b1VwcGVyQ2FzZSgpOyB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIFN0b3JhZ2VIZWxwZXIuc2V0KCdsb2dpbicsIHVzZXIpO1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTsvL3VzZXIgZ2V0IG1ldGhvZCB3aWxsIGluaXQgdXNlclxyXG4gICAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkKCk7Ly90aGlzIG1ldGhvZCBuZWVkIHRvIGV4ZWN1dGUgc3ViamVjdC5uZXh0KCk7ICAgICAgICBcclxuICAgIH1cclxuICAgIGxvZ291dCgpIHtcclxuICAgICAgICB0aGlzLmxvZ2luKG51bGwpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEV4cGlyZWQoKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGxldCB1c2VyID0gdGhpcy51c2VyO1xyXG4gICAgICAgIGlmICh1c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1c2VyLmV4cGlyZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0UmVmcmVzaFRva2VuRXhwaXJlZCgpOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBpc0luUm9sZShhbGxvd2VkUm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgYWxsb3dlZFJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGNvbnN0IHRtcCA9IHRoaXMuZ2V0VXNlcigpO1xyXG4gICAgLy8gICAgIGNvbnN0IHJvbGVzID0gdG1wID8gdG1wLnJvbGVzIDogbnVsbDtcclxuICAgIC8vICAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICBsZXQgaXNJblJvbGUgPSBhbGxvd2VkUm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluZGV4T2Yocm9sZSkgIT09IC0xKTtcclxuICAgIC8vICAgICByZXR1cm4gaXNJblJvbGU7XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbj86IEtleVBhaXI8bnVtYmVyLCBudW1iZXI+IHwgbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghcGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSAwO1xyXG4gICAgICAgIGxldCB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdudW1iZXInIHx8IHR5cGVvZiBwZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBrZXkgPSArcGVybWlzc2lvbjtcclxuICAgICAgICB9Ly8gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgaWYgKCFwZXJtaXNzaW9uLmtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICAgICAga2V5ID0gcGVybWlzc2lvbi5rZXk7XHJcbiAgICAgICAgICAgIHZhbHVlID0gcGVybWlzc2lvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb25zKFtrZXldLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zPzogQXJyYXk8bnVtYmVyPiwgdmFsdWU/OiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9ucyB8fCBwZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyO1xyXG4gICAgICAgIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXIgPyB1c2VyLnBlcm1pc3Npb25zIDogbnVsbDtcclxuICAgICAgICBpZiAoIXVzZXJQZXJtaXNzaW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZXJtaXNzaW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IHBlcm1pc3Npb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvdW5kID0gdXNlclBlcm1pc3Npb25zW3BdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhhc1Blcm1pc3Npb24gPSBCaXR3aXNlSGVscGVyLmhhc0ZsYWcoZm91bmQsIHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUGVybWlzc2lvbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaGFzRGF0YVBlcm1pc3Npb24oZGF0YTogYW55KSB7XHJcbiAgICAgICAgLy9pZiAoZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEgPT09IG51bGwpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIC8vIGNvbnN0IGFsbG93ZWRSb2xlcyA9IGRhdGEucm9sZXM7XHJcbiAgICAgICAgLy8gbGV0IGlzSW5Sb2xlID0gdGhpcy5pc0luUm9sZShhbGxvd2VkUm9sZXMpO1xyXG5cclxuICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gZGF0YS5wZXJtaXNzaW9uO1xyXG5cclxuICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IHRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKTtcclxuXHJcbiAgICAgICAgLy8gcmV0dXJuIGlzSW5Sb2xlICYmIGhhc1Blcm1pc3Npb247XHJcbiAgICAgICAgcmV0dXJuIGhhc1Blcm1pc3Npb247XHJcbiAgICB9XHJcbn0iXX0=
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsNkJBQXdCLEdBQVksS0FBSyxDQUFDO1FBQzFDLFVBQUssR0FBcUIsSUFBSSxDQUFDO0tBK04xQztJQTNORyxJQUFJLElBQUk7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLElBQUksR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuRixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxD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USxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBLZXlQYWlyLCBMb2dpblRva2VuLCBMb2dpblVzZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBEYXRlSGVscGVyLCBPYmplY3RIZWxwZXIsIFN0b3JhZ2VIZWxwZXIgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IEJpdHdpc2VIZWxwZXIgfSBmcm9tICcuLi91dGlscy9iaXR3aXNlLWhlbHBlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9pc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9vbGRWYWx1ZUlzQXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfdXNlcjogTG9naW5Vc2VyIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuXHJcbiAgICBnZXQgdXNlcigpOiBMb2dpblVzZXIgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgbGV0IHVzZXIgPSBTdG9yYWdlSGVscGVyLmdldCgnbG9naW4nKTtcclxuICAgICAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgICAgIHVzZXIuaWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuaWQpID8gQ29udmVydC5wYXJzZU51bWJlcih1c2VyLmlkKSA6IHVzZXIuaWQ7XHJcbiAgICAgICAgICAgICAgICB1c2VyLmV4cGlyZWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuZXhwaXJlZCkgPyBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLmV4cGlyZWQpIDogdXNlci5leHBpcmVkO1xyXG4gICAgICAgICAgICAgICAgdXNlci5yZWZyZXNoVG9rZW5UaW1lID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLnJlZnJlc2hUb2tlblRpbWUpID8gRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5yZWZyZXNoVG9rZW5UaW1lKSA6IHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh1c2VyLnJvbGVzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHVzZXIucm9sZXMgPSB1c2VyLnJvbGVzLm1hcChmdW5jdGlvbiAoZTogYW55KSB7IHJldHVybiBlID8gZS50b1VwcGVyQ2FzZSgpIDogZTsgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fdXNlciA9IHVzZXI7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdGFyUmVmcmVzaFRva2VuVGltZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuVGltZW91dDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc3RhclJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIHRoaXMuX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG5cclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBpZiAodXNlciAmJiB1c2VyLnJlZnJlc2hUb2tlblRpbWUpIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZW91dCA9IHVzZXIucmVmcmVzaFRva2VuVGltZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpOy8vIC0gKDYwICogMTAwMCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZW91dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3JlZnJlc2hUb2tlblRpbWVvdXQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZWZyZXNoVG9rZW5UaW1lb3V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBleHBpcmVkID0gdGhpcy5nZXRFeHBpcmVkKCkgfHwgbmV3IERhdGUoMCk7XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gbmV3IERhdGUoKSA8IGV4cGlyZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuX29sZFZhbHVlSXNBdXRoZW50aWNhdGVkICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRWYWx1ZUlzQXV0aGVudGljYXRlZCA9IG5ld1ZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdC5uZXh0KG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9pZiB1c2VyIGlzIHNpZ25lZCBpbiBhbmQgZXhwaXJlZCB3ZSBuZWVkIHRvIGxvZ291dCAocmVtb3ZlIGZyb20gbG9jYWxTdG9yYWdlKVxyXG4gICAgICAgICAgICBpZiAoIW5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29uU2lnbmVkSW5TdWJqZWN0PzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Oy8vQmVoYXZpb3JTdWJqZWN0IGlzIGZvciBpbml0aWFsIGZpcnQgdmFsdWUgPSBmYWxzZVxyXG4gICAgcHJpdmF0ZSBfb25TaWduZWRJbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZ2V0IG9uU2lnbmVkSW4oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSA9IHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSlcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiX29uRXhlY3V0ZU9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25TaWduZWRJbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX29uUmVmcmVzaFRva2VuU3ViamVjdD86IFN1YmplY3Q8dm9pZD47XHJcbiAgICBwcml2YXRlIF9vblJlZnJlc2hUb2tlbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG4gICAgZ2V0IG9uUmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZSA9IHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvblJlZnJlc2hUb2tlbk9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbG9naW4odXNlcjogTG9naW5Ub2tlbiB8IExvZ2luVXNlciB8IG51bGwpIHtcclxuICAgICAgICAvLyBpZiAodXNlcikge1xyXG4gICAgICAgIC8vICAgICAvLyBJIHRoaW5rIHdlIGRvbid0IG5lZWQgdGhpc1xyXG4gICAgICAgIC8vICAgICB1c2VyLmlkID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLmlkKSA/IENvbnZlcnQucGFyc2VOdW1iZXIodXNlci5pZCkgOiB1c2VyLmlkO1xyXG4gICAgICAgIC8vICAgICB1c2VyLmV4cGlyZWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuZXhwaXJlZCkgPyAgRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5leHBpcmVkKSA6IHVzZXIuZXhwaXJlZDtcclxuICAgICAgICAvLyAgICAgdXNlci5yZWZyZXNoVG9rZW5UaW1lID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLnJlZnJlc2hUb2tlblRpbWUpID8gIERhdGVIZWxwZXIucGFyc2VEYXRlKHVzZXIucmVmcmVzaFRva2VuVGltZSkgOiB1c2VyLnJlZnJlc2hUb2tlblRpbWU7XHJcbiAgICAgICAgLy8gICAgIGlmIChBcnJheS5pc0FycmF5KHVzZXIucm9sZXMpKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB1c2VyLnJvbGVzID0gdXNlci5yb2xlcy5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUudG9VcHBlckNhc2UoKTsgfSk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG5cclxuICAgICAgICBTdG9yYWdlSGVscGVyLnNldCgnbG9naW4nLCB1c2VyKTtcclxuICAgICAgICB0aGlzLl91c2VyID0gbnVsbDtcclxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gZmFsc2U7Ly91c2VyIGdldCBtZXRob2Qgd2lsbCBpbml0IHVzZXJcclxuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCgpOy8vdGhpcyBtZXRob2QgbmVlZCB0byBleGVjdXRlIHN1YmplY3QubmV4dCgpOyAgICAgICAgXHJcbiAgICB9XHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2dpbihudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRFeHBpcmVkKCk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlci5leHBpcmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFJlZnJlc2hUb2tlbkV4cGlyZWQoKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGxldCB1c2VyID0gdGhpcy51c2VyO1xyXG4gICAgICAgIGlmICh1c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1c2VyLnJlZnJlc2hUb2tlblRpbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gaXNJblJvbGUoYWxsb3dlZFJvbGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgLy8gICAgIGlmICghYWxsb3dlZFJvbGVzIHx8IGFsbG93ZWRSb2xlcy5sZW5ndGggPT09IDApIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICBjb25zdCB0bXAgPSB0aGlzLmdldFVzZXIoKTtcclxuICAgIC8vICAgICBjb25zdCByb2xlcyA9IHRtcCA/IHRtcC5yb2xlcyA6IG51bGw7XHJcbiAgICAvLyAgICAgaWYgKCFyb2xlcyB8fCByb2xlcy5sZW5ndGggPT09IDApIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gICAgIH1cclxuXHJcbiAgICAvLyAgICAgbGV0IGlzSW5Sb2xlID0gYWxsb3dlZFJvbGVzLnNvbWUocm9sZSA9PiByb2xlcy5pbmRleE9mKHJvbGUpICE9PSAtMSk7XHJcbiAgICAvLyAgICAgcmV0dXJuIGlzSW5Sb2xlO1xyXG4gICAgLy8gfVxyXG5cclxuXHJcbiAgICBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24/OiBLZXlQYWlyPG51bWJlciwgbnVtYmVyPiB8IG51bWJlciB8IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXBlcm1pc3Npb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQga2V5ID0gMDtcclxuICAgICAgICBsZXQgdmFsdWU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBwZXJtaXNzaW9uID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAga2V5ID0gK3Blcm1pc3Npb247XHJcbiAgICAgICAgfS8vIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGVybWlzc2lvbikpIHtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIGlmICghcGVybWlzc2lvbi5rZXkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGtleSA9IHBlcm1pc3Npb24ua2V5O1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHBlcm1pc3Npb24udmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNQZXJtaXNzaW9ucyhba2V5XSwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYXNQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucz86IEFycmF5PG51bWJlcj4sIHZhbHVlPzogbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyID8gdXNlci5wZXJtaXNzaW9ucyA6IG51bGw7XHJcbiAgICAgICAgaWYgKCF1c2VyUGVybWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBwZXJtaXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgICAgIGxldCBmb3VuZCA9IHVzZXJQZXJtaXNzaW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBoYXNQZXJtaXNzaW9uID0gQml0d2lzZUhlbHBlci5oYXNGbGFnKGZvdW5kLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc1Blcm1pc3Npb24pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZXJtaXNzaW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IHBlcm1pc3Npb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvdW5kID0gdXNlclBlcm1pc3Npb25zW3BdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhc0RhdGFQZXJtaXNzaW9uKGRhdGE6IGFueSkge1xyXG4gICAgICAgIC8vaWYgKGRhdGEgPT09IHVuZGVmaW5lZCB8fCBkYXRhID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAvLyBjb25zdCBhbGxvd2VkUm9sZXMgPSBkYXRhLnJvbGVzO1xyXG4gICAgICAgIC8vIGxldCBpc0luUm9sZSA9IHRoaXMuaXNJblJvbGUoYWxsb3dlZFJvbGVzKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IGRhdGEucGVybWlzc2lvbjtcclxuXHJcbiAgICAgICAgbGV0IGhhc1Blcm1pc3Npb24gPSB0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbik7XHJcblxyXG4gICAgICAgIC8vIHJldHVybiBpc0luUm9sZSAmJiBoYXNQZXJtaXNzaW9uO1xyXG4gICAgICAgIHJldHVybiBoYXNQZXJtaXNzaW9uO1xyXG4gICAgfVxyXG59Il19
|
package/fesm2015/zek.mjs
CHANGED
|
@@ -1122,17 +1122,16 @@ class AuthService {
|
|
|
1122
1122
|
}
|
|
1123
1123
|
get user() {
|
|
1124
1124
|
if (!this._isInitialized) {
|
|
1125
|
-
let
|
|
1126
|
-
if (
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
tmp.refreshTokenTime = DateHelper.parseDate(tmp.refreshTokenTime);
|
|
1125
|
+
let user = StorageHelper.get('login');
|
|
1126
|
+
if (user) {
|
|
1127
|
+
user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
1128
|
+
user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
1129
|
+
user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
1130
|
+
if (Array.isArray(user.roles)) {
|
|
1131
|
+
user.roles = user.roles.map(function (e) { return e ? e.toUpperCase() : e; });
|
|
1132
|
+
}
|
|
1134
1133
|
}
|
|
1135
|
-
this._user =
|
|
1134
|
+
this._user = user;
|
|
1136
1135
|
this._isInitialized = true;
|
|
1137
1136
|
this._starRefreshTokenTimer();
|
|
1138
1137
|
}
|
|
@@ -1190,14 +1189,15 @@ class AuthService {
|
|
|
1190
1189
|
return this._onRefreshTokenObservable;
|
|
1191
1190
|
}
|
|
1192
1191
|
login(user) {
|
|
1193
|
-
if (user) {
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
}
|
|
1192
|
+
// if (user) {
|
|
1193
|
+
// // I think we don't need this
|
|
1194
|
+
// user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
1195
|
+
// user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
1196
|
+
// user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
1197
|
+
// if (Array.isArray(user.roles)) {
|
|
1198
|
+
// user.roles = user.roles.map(function (e) { return e.toUpperCase(); });
|
|
1199
|
+
// }
|
|
1200
|
+
// }
|
|
1201
1201
|
StorageHelper.set('login', user);
|
|
1202
1202
|
this._user = null;
|
|
1203
1203
|
this._isInitialized = false; //user get method will init user
|