@stemy/ngx-utils 11.0.8 → 11.1.0
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/README.md +27 -27
- package/bundles/stemy-ngx-utils.umd.js +22 -7
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/bundles/stemy-ngx-utils.umd.min.js +1 -1
- package/bundles/stemy-ngx-utils.umd.min.js.map +1 -1
- package/esm2015/ngx-utils/common-types.js +2 -1
- package/esm2015/ngx-utils/ngx-utils.module.js +6 -2
- package/esm2015/ngx-utils/services/config.service.js +8 -4
- package/esm2015/ngx-utils/services/promise.service.js +4 -1
- package/esm2015/ngx-utils/services/static-language.service.js +9 -7
- package/esm2015/ngx-utils/utils/unique.utils.js +1 -1
- package/esm2015/public_api.js +2 -2
- package/fesm2015/stemy-ngx-utils.js +22 -8
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/ngx-utils/common-types.d.ts +2 -0
- package/ngx-utils/services/config.service.d.ts +3 -1
- package/ngx-utils/services/promise.service.d.ts +5 -4
- package/ngx-utils/services/static-language.service.d.ts +3 -2
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
- package/esm5/ngx-utils/common-types.js +0 -553
- package/esm5/ngx-utils/components/dynamic-table/dynamic-table.component.js +0 -285
- package/esm5/ngx-utils/components/pagination-menu/pagination-menu.component.js +0 -198
- package/esm5/ngx-utils/components/unordered-list/unordered-list.component.js +0 -110
- package/esm5/ngx-utils/directives/async-method.directive.js +0 -105
- package/esm5/ngx-utils/directives/background.directive.js +0 -91
- package/esm5/ngx-utils/directives/dynamic-table-template.directive.js +0 -34
- package/esm5/ngx-utils/directives/icon.directive.js +0 -101
- package/esm5/ngx-utils/directives/ngx-template-outlet.directive.js +0 -182
- package/esm5/ngx-utils/directives/pagination-item.directive.js +0 -70
- package/esm5/ngx-utils/directives/pagination.directive.js +0 -148
- package/esm5/ngx-utils/directives/resource-if.directive.js +0 -97
- package/esm5/ngx-utils/directives/sticky.directive.js +0 -93
- package/esm5/ngx-utils/directives/unordered-list-item.directive.js +0 -143
- package/esm5/ngx-utils/directives/unordered-list-template.directive.js +0 -54
- package/esm5/ngx-utils/ngx-utils.module.js +0 -205
- package/esm5/ngx-utils/pipes/chunk.pipe.js +0 -41
- package/esm5/ngx-utils/pipes/entries.pipe.js +0 -54
- package/esm5/ngx-utils/pipes/extra-item-properties.pipe.js +0 -51
- package/esm5/ngx-utils/pipes/filter.pipe.js +0 -65
- package/esm5/ngx-utils/pipes/find.pipe.js +0 -51
- package/esm5/ngx-utils/pipes/format-number.pipe.js +0 -44
- package/esm5/ngx-utils/pipes/get-offset.pipe.js +0 -31
- package/esm5/ngx-utils/pipes/get-type.pipe.js +0 -28
- package/esm5/ngx-utils/pipes/group-by.pipe.js +0 -48
- package/esm5/ngx-utils/pipes/is-type.pipe.js +0 -30
- package/esm5/ngx-utils/pipes/join.pipe.js +0 -34
- package/esm5/ngx-utils/pipes/keys.pipe.js +0 -35
- package/esm5/ngx-utils/pipes/map.pipe.js +0 -52
- package/esm5/ngx-utils/pipes/max.pipe.js +0 -45
- package/esm5/ngx-utils/pipes/min.pipe.js +0 -45
- package/esm5/ngx-utils/pipes/reduce.pipe.js +0 -55
- package/esm5/ngx-utils/pipes/remap.pipe.js +0 -51
- package/esm5/ngx-utils/pipes/replace.pipe.js +0 -32
- package/esm5/ngx-utils/pipes/reverse.pipe.js +0 -38
- package/esm5/ngx-utils/pipes/round.pipe.js +0 -44
- package/esm5/ngx-utils/pipes/safe-html.pipe.js +0 -54
- package/esm5/ngx-utils/pipes/translate.pipe.js +0 -111
- package/esm5/ngx-utils/pipes/values.pipe.js +0 -35
- package/esm5/ngx-utils/plugins/resize-event.plugin.js +0 -122
- package/esm5/ngx-utils/plugins/scroll-event.plugin.js +0 -110
- package/esm5/ngx-utils/services/acl.service.js +0 -119
- package/esm5/ngx-utils/services/auth.service.js +0 -40
- package/esm5/ngx-utils/services/events.service.js +0 -33
- package/esm5/ngx-utils/services/formatter.service.js +0 -124
- package/esm5/ngx-utils/services/icon.service.js +0 -32
- package/esm5/ngx-utils/services/language.service.js +0 -199
- package/esm5/ngx-utils/services/promise.service.js +0 -123
- package/esm5/ngx-utils/services/state.service.js +0 -271
- package/esm5/ngx-utils/services/storage.service.js +0 -100
- package/esm5/ngx-utils/services/toaster.service.js +0 -100
- package/esm5/ngx-utils/services/universal.service.js +0 -153
- package/esm5/ngx-utils/utils/ajax-request-handler.js +0 -73
- package/esm5/ngx-utils/utils/array.utils.js +0 -182
- package/esm5/ngx-utils/utils/auth.guard.js +0 -205
- package/esm5/ngx-utils/utils/canvas.utils.js +0 -668
- package/esm5/ngx-utils/utils/date.utils.js +0 -91
- package/esm5/ngx-utils/utils/file.utils.js +0 -201
- package/esm5/ngx-utils/utils/loader.utils.js +0 -90
- package/esm5/ngx-utils/utils/math.utils.js +0 -62
- package/esm5/ngx-utils/utils/object.utils.js +0 -513
- package/esm5/ngx-utils/utils/observable.utils.js +0 -30
- package/esm5/ngx-utils/utils/reflect.utils.js +0 -95
- package/esm5/ngx-utils/utils/set.utils.js +0 -48
- package/esm5/ngx-utils/utils/string.utils.js +0 -94
- package/esm5/ngx-utils/utils/timer.utils.js +0 -100
- package/esm5/ngx-utils/utils/unique.utils.js +0 -54
- package/esm5/ngx-utils/utils/vector.js +0 -223
- package/esm5/public_api.js +0 -73
- package/esm5/stemy-ngx-utils.js +0 -11
- package/fesm5/stemy-ngx-utils.js +0 -6709
- package/fesm5/stemy-ngx-utils.js.map +0 -1
- package/typings.d.ts +0 -5
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Inject, Injectable, PLATFORM_ID } from "@angular/core";
|
|
6
|
-
import { isPlatformBrowser, isPlatformServer } from "@angular/common";
|
|
7
|
-
import { DeviceDetectorService } from "ngx-device-detector";
|
|
8
|
-
/**
|
|
9
|
-
* Use this service to determine which is the current environment
|
|
10
|
-
*/
|
|
11
|
-
var UniversalService = /** @class */ (function () {
|
|
12
|
-
function UniversalService(platformId, dds) {
|
|
13
|
-
this.platformId = platformId;
|
|
14
|
-
this.dds = dds;
|
|
15
|
-
}
|
|
16
|
-
Object.defineProperty(UniversalService.prototype, "isBrowser", {
|
|
17
|
-
get: /**
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
function () {
|
|
21
|
-
return isPlatformBrowser(this.platformId);
|
|
22
|
-
},
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true
|
|
25
|
-
});
|
|
26
|
-
Object.defineProperty(UniversalService.prototype, "isServer", {
|
|
27
|
-
get: /**
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
function () {
|
|
31
|
-
return isPlatformServer(this.platformId);
|
|
32
|
-
},
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(UniversalService.prototype, "browserName", {
|
|
37
|
-
get: /**
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function () {
|
|
41
|
-
return this.dds.browser;
|
|
42
|
-
},
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(UniversalService.prototype, "browserVersion", {
|
|
47
|
-
get: /**
|
|
48
|
-
* @return {?}
|
|
49
|
-
*/
|
|
50
|
-
function () {
|
|
51
|
-
return this.dds.browser_version;
|
|
52
|
-
},
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true
|
|
55
|
-
});
|
|
56
|
-
Object.defineProperty(UniversalService.prototype, "isExplorer", {
|
|
57
|
-
get: /**
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
function () {
|
|
61
|
-
return this.dds.browser == "ie";
|
|
62
|
-
},
|
|
63
|
-
enumerable: true,
|
|
64
|
-
configurable: true
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(UniversalService.prototype, "isEdge", {
|
|
67
|
-
get: /**
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
function () {
|
|
71
|
-
return this.dds.browser == "ms-edge";
|
|
72
|
-
},
|
|
73
|
-
enumerable: true,
|
|
74
|
-
configurable: true
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(UniversalService.prototype, "isChrome", {
|
|
77
|
-
get: /**
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
function () {
|
|
81
|
-
return this.dds.browser == "chrome";
|
|
82
|
-
},
|
|
83
|
-
enumerable: true,
|
|
84
|
-
configurable: true
|
|
85
|
-
});
|
|
86
|
-
Object.defineProperty(UniversalService.prototype, "isFirefox", {
|
|
87
|
-
get: /**
|
|
88
|
-
* @return {?}
|
|
89
|
-
*/
|
|
90
|
-
function () {
|
|
91
|
-
return this.dds.browser == "firefox";
|
|
92
|
-
},
|
|
93
|
-
enumerable: true,
|
|
94
|
-
configurable: true
|
|
95
|
-
});
|
|
96
|
-
Object.defineProperty(UniversalService.prototype, "isSafari", {
|
|
97
|
-
get: /**
|
|
98
|
-
* @return {?}
|
|
99
|
-
*/
|
|
100
|
-
function () {
|
|
101
|
-
return this.dds.browser == "safari";
|
|
102
|
-
},
|
|
103
|
-
enumerable: true,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(UniversalService.prototype, "isTablet", {
|
|
107
|
-
get: /**
|
|
108
|
-
* @return {?}
|
|
109
|
-
*/
|
|
110
|
-
function () {
|
|
111
|
-
return this.dds.isTablet();
|
|
112
|
-
},
|
|
113
|
-
enumerable: true,
|
|
114
|
-
configurable: true
|
|
115
|
-
});
|
|
116
|
-
Object.defineProperty(UniversalService.prototype, "isMobile", {
|
|
117
|
-
get: /**
|
|
118
|
-
* @return {?}
|
|
119
|
-
*/
|
|
120
|
-
function () {
|
|
121
|
-
return this.dds.isMobile();
|
|
122
|
-
},
|
|
123
|
-
enumerable: true,
|
|
124
|
-
configurable: true
|
|
125
|
-
});
|
|
126
|
-
Object.defineProperty(UniversalService.prototype, "isDesktop", {
|
|
127
|
-
get: /**
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
function () {
|
|
131
|
-
return this.dds.isDesktop();
|
|
132
|
-
},
|
|
133
|
-
enumerable: true,
|
|
134
|
-
configurable: true
|
|
135
|
-
});
|
|
136
|
-
UniversalService.decorators = [
|
|
137
|
-
{ type: Injectable }
|
|
138
|
-
];
|
|
139
|
-
/** @nocollapse */
|
|
140
|
-
UniversalService.ctorParameters = function () { return [
|
|
141
|
-
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
|
|
142
|
-
{ type: DeviceDetectorService }
|
|
143
|
-
]; };
|
|
144
|
-
return UniversalService;
|
|
145
|
-
}());
|
|
146
|
-
export { UniversalService };
|
|
147
|
-
if (false) {
|
|
148
|
-
/** @type {?} */
|
|
149
|
-
UniversalService.prototype.platformId;
|
|
150
|
-
/** @type {?} */
|
|
151
|
-
UniversalService.prototype.dds;
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2FsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFLMUQ7SUFtREksMEJBQXlDLFVBQWtCLEVBQVUsR0FBMEI7UUFBdEQsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQXVCO0lBQy9GLENBQUM7SUFqREQsc0JBQUksdUNBQVM7Ozs7UUFBYjtZQUNJLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7OztPQUFBO0lBRUQsc0JBQUksc0NBQVE7Ozs7UUFBWjtZQUNJLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7OztPQUFBO0lBRUQsc0JBQUkseUNBQVc7Ozs7UUFBZjtZQUNJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDNUIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw0Q0FBYzs7OztRQUFsQjtZQUNJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDcEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx3Q0FBVTs7OztRQUFkO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDcEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxvQ0FBTTs7OztRQUFWO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxzQ0FBUTs7OztRQUFaO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7UUFDeEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx1Q0FBUzs7OztRQUFiO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxzQ0FBUTs7OztRQUFaO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7UUFDeEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxzQ0FBUTs7OztRQUFaO1lBQ0ksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLENBQUM7OztPQUFBO0lBRUQsc0JBQUksc0NBQVE7Ozs7UUFBWjtZQUNJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHVDQUFTOzs7O1FBQWI7WUFDSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsQ0FBQzs7O09BQUE7O2dCQWpESixVQUFVOzs7OzZDQW1ETSxNQUFNLFNBQUMsV0FBVztnQkF4RDNCLHFCQUFxQjs7SUEwRDdCLHVCQUFDO0NBQUEsQUFyREQsSUFxREM7U0FwRFksZ0JBQWdCOzs7SUFrRGIsc0NBQStDOztJQUFFLCtCQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3NlciwgaXNQbGF0Zm9ybVNlcnZlcn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0RldmljZURldGVjdG9yU2VydmljZX0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcclxuXHJcbi8qKlxyXG4gKiBVc2UgdGhpcyBzZXJ2aWNlIHRvIGRldGVybWluZSB3aGljaCBpcyB0aGUgY3VycmVudCBlbnZpcm9ubWVudFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVW5pdmVyc2FsU2VydmljZSB7XHJcblxyXG4gICAgZ2V0IGlzQnJvd3NlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNTZXJ2ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYnJvd3Nlck5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZHMuYnJvd3NlcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYnJvd3NlclZlcnNpb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZHMuYnJvd3Nlcl92ZXJzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0V4cGxvcmVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5icm93c2VyID09IFwiaWVcIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNFZGdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5icm93c2VyID09IFwibXMtZWRnZVwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0Nocm9tZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZHMuYnJvd3NlciA9PSBcImNocm9tZVwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0ZpcmVmb3goKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRzLmJyb3dzZXIgPT0gXCJmaXJlZm94XCI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzU2FmYXJpKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5icm93c2VyID09IFwic2FmYXJpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzVGFibGV0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5pc1RhYmxldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZHMuaXNNb2JpbGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNEZXNrdG9wKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5pc0Rlc2t0b3AoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZywgcHJpdmF0ZSBkZHM6IERldmljZURldGVjdG9yU2VydmljZSkge1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
var AjaxRequestHandler = /** @class */ (function () {
|
|
6
|
-
function AjaxRequestHandler(pattern, callback) {
|
|
7
|
-
var _this = this;
|
|
8
|
-
this.pattern = pattern;
|
|
9
|
-
this.callback = callback;
|
|
10
|
-
this.listener = function (event) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
var details = event.detail;
|
|
13
|
-
if (_this.pattern.test(details.url))
|
|
14
|
-
_this.callback(details, _this.params);
|
|
15
|
-
};
|
|
16
|
-
this.params = {};
|
|
17
|
-
if (typeof XMLHttpRequest !== "undefined" && !AjaxRequestHandler.isOverridden) {
|
|
18
|
-
AjaxRequestHandler.isOverridden = true;
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
var originalOpen_1 = XMLHttpRequest.prototype.open;
|
|
21
|
-
XMLHttpRequest.prototype.open = function (method, url, async, user, password) {
|
|
22
|
-
originalOpen_1.apply(this, arguments);
|
|
23
|
-
window.dispatchEvent(new CustomEvent("ajaxRequest", {
|
|
24
|
-
detail: {
|
|
25
|
-
request: this,
|
|
26
|
-
method: method,
|
|
27
|
-
url: url
|
|
28
|
-
}
|
|
29
|
-
}));
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
AjaxRequestHandler.prototype.listen = /**
|
|
37
|
-
* @return {?}
|
|
38
|
-
*/
|
|
39
|
-
function () {
|
|
40
|
-
if (typeof window === "undefined")
|
|
41
|
-
return this;
|
|
42
|
-
window.addEventListener("ajaxRequest", this.listener);
|
|
43
|
-
return this;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
AjaxRequestHandler.prototype.forget = /**
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
51
|
-
function () {
|
|
52
|
-
if (typeof window === "undefined")
|
|
53
|
-
return;
|
|
54
|
-
window.removeEventListener("ajaxRequest", this.listener);
|
|
55
|
-
return this;
|
|
56
|
-
};
|
|
57
|
-
AjaxRequestHandler.isOverridden = false;
|
|
58
|
-
return AjaxRequestHandler;
|
|
59
|
-
}());
|
|
60
|
-
export { AjaxRequestHandler };
|
|
61
|
-
if (false) {
|
|
62
|
-
/** @type {?} */
|
|
63
|
-
AjaxRequestHandler.isOverridden;
|
|
64
|
-
/** @type {?} */
|
|
65
|
-
AjaxRequestHandler.prototype.params;
|
|
66
|
-
/** @type {?} */
|
|
67
|
-
AjaxRequestHandler.prototype.listener;
|
|
68
|
-
/** @type {?} */
|
|
69
|
-
AjaxRequestHandler.prototype.pattern;
|
|
70
|
-
/** @type {?} */
|
|
71
|
-
AjaxRequestHandler.prototype.callback;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWpheC1yZXF1ZXN0LWhhbmRsZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3V0aWxzL2FqYXgtcmVxdWVzdC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQU1JLDRCQUFvQixPQUFlLEVBQVUsUUFBNkI7UUFBMUUsaUJBZ0JDO1FBaEJtQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUE4QmxFLGFBQVEsR0FBRyxVQUFDLEtBQWtCOztnQkFDNUIsT0FBTyxHQUF3QixLQUFLLENBQUMsTUFBTTtZQUNqRCxJQUFJLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQztRQWhDRSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRTtZQUMzRSxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDOztnQkFDakMsY0FBWSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUNsRCxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxVQUFVLE1BQWMsRUFBRSxHQUFZLEVBQUUsS0FBZSxFQUFFLElBQWEsRUFBRSxRQUFpQjtnQkFDckgsY0FBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsYUFBYSxFQUFFO29CQUNoRCxNQUFNLEVBQUU7d0JBQ0osT0FBTyxFQUFFLElBQUk7d0JBQ2IsTUFBTSxFQUFFLE1BQU07d0JBQ2QsR0FBRyxFQUFFLEdBQUc7cUJBQ1g7aUJBQ0osQ0FBQyxDQUFDLENBQUE7WUFDUCxDQUFDLENBQUM7U0FDTDtJQUNMLENBQUM7Ozs7SUFFRCxtQ0FBTTs7O0lBQU47UUFDSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMvQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7O0lBRUQsbUNBQU07OztJQUFOO1FBQ0ksSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXO1lBQUUsT0FBTztRQUMxQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBaENjLCtCQUFZLEdBQVksS0FBSyxDQUFDO0lBc0NqRCx5QkFBQztDQUFBLEFBeENELElBd0NDO1NBeENZLGtCQUFrQjs7O0lBRTNCLGdDQUE2Qzs7SUFFN0Msb0NBQW1COztJQWdDbkIsc0NBR0U7O0lBakNVLHFDQUF1Qjs7SUFBRSxzQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FqYXhSZXF1ZXN0Q2FsbGJhY2ssIElBamF4UmVxdWVzdERldGFpbHN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBamF4UmVxdWVzdEhhbmRsZXIge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzT3ZlcnJpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBwYXJhbXM6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhdHRlcm46IFJlZ0V4cCwgcHJpdmF0ZSBjYWxsYmFjazogQWpheFJlcXVlc3RDYWxsYmFjaykge1xyXG4gICAgICAgIHRoaXMucGFyYW1zID0ge307XHJcbiAgICAgICAgaWYgKHR5cGVvZiBYTUxIdHRwUmVxdWVzdCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhQWpheFJlcXVlc3RIYW5kbGVyLmlzT3ZlcnJpZGRlbikge1xyXG4gICAgICAgICAgICBBamF4UmVxdWVzdEhhbmRsZXIuaXNPdmVycmlkZGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxPcGVuID0gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW47XHJcbiAgICAgICAgICAgIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24gKG1ldGhvZDogc3RyaW5nLCB1cmw/OiBzdHJpbmcsIGFzeW5jPzogYm9vbGVhbiwgdXNlcj86IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsT3Blbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFwiYWpheFJlcXVlc3RcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IG1ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGlzdGVuKCk6IEFqYXhSZXF1ZXN0SGFuZGxlciB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB0aGlzO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiYWpheFJlcXVlc3RcIiwgdGhpcy5saXN0ZW5lcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yZ2V0KCk6IEFqYXhSZXF1ZXN0SGFuZGxlciB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFqYXhSZXF1ZXN0XCIsIHRoaXMubGlzdGVuZXIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbGlzdGVuZXIgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICAgICAgY29uc3QgZGV0YWlsczogSUFqYXhSZXF1ZXN0RGV0YWlscyA9IGV2ZW50LmRldGFpbDtcclxuICAgICAgICBpZiAodGhpcy5wYXR0ZXJuLnRlc3QoZGV0YWlscy51cmwpKSB0aGlzLmNhbGxiYWNrKGRldGFpbHMsIHRoaXMucGFyYW1zKTtcclxuICAgIH07XHJcbn1cclxuIl19
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { ObjectUtils } from "./object.utils";
|
|
6
|
-
var ArrayUtils = /** @class */ (function () {
|
|
7
|
-
function ArrayUtils() {
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @param {?} arr
|
|
11
|
-
* @param {...?} items
|
|
12
|
-
* @return {?}
|
|
13
|
-
*/
|
|
14
|
-
ArrayUtils.has = /**
|
|
15
|
-
* @param {?} arr
|
|
16
|
-
* @param {...?} items
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
function (arr) {
|
|
20
|
-
var items = [];
|
|
21
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
22
|
-
items[_i - 1] = arguments[_i];
|
|
23
|
-
}
|
|
24
|
-
if (!ObjectUtils.isArray(arr) || !ObjectUtils.isArray(items))
|
|
25
|
-
return false;
|
|
26
|
-
for (var i = 0; i < items.length; i++) {
|
|
27
|
-
if (arr.indexOf(items[i]) >= 0)
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
return false;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* @param {?} arr
|
|
34
|
-
* @param {?} str
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
ArrayUtils.match = /**
|
|
38
|
-
* @param {?} arr
|
|
39
|
-
* @param {?} str
|
|
40
|
-
* @return {?}
|
|
41
|
-
*/
|
|
42
|
-
function (arr, str) {
|
|
43
|
-
if (!ObjectUtils.isArray(arr) || !ObjectUtils.isString(str))
|
|
44
|
-
return false;
|
|
45
|
-
for (var i = 0; i < arr.length; i++) {
|
|
46
|
-
if (arr[i] instanceof RegExp) {
|
|
47
|
-
/** @type {?} */
|
|
48
|
-
var regex = (/** @type {?} */ (arr[i]));
|
|
49
|
-
if (regex.test(str))
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return false;
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* @param {?} arr
|
|
57
|
-
* @param {?} cb
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
ArrayUtils.any = /**
|
|
61
|
-
* @param {?} arr
|
|
62
|
-
* @param {?} cb
|
|
63
|
-
* @return {?}
|
|
64
|
-
*/
|
|
65
|
-
function (arr, cb) {
|
|
66
|
-
if (!ObjectUtils.isArray(arr) || !ObjectUtils.isFunction(cb))
|
|
67
|
-
return false;
|
|
68
|
-
for (var i = 0; i < arr.length; i++) {
|
|
69
|
-
if (cb(arr[i]))
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
return false;
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* @param {?} arr
|
|
76
|
-
* @param {?} oldIndex
|
|
77
|
-
* @param {?} newIndex
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
ArrayUtils.move = /**
|
|
81
|
-
* @param {?} arr
|
|
82
|
-
* @param {?} oldIndex
|
|
83
|
-
* @param {?} newIndex
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
function (arr, oldIndex, newIndex) {
|
|
87
|
-
if (!ObjectUtils.isArray(arr))
|
|
88
|
-
return [];
|
|
89
|
-
/** @type {?} */
|
|
90
|
-
var length = arr.length;
|
|
91
|
-
while (oldIndex < 0) {
|
|
92
|
-
oldIndex += length;
|
|
93
|
-
}
|
|
94
|
-
while (newIndex < 0) {
|
|
95
|
-
newIndex += length;
|
|
96
|
-
}
|
|
97
|
-
if (newIndex >= length) {
|
|
98
|
-
/** @type {?} */
|
|
99
|
-
var k = newIndex - length + 1;
|
|
100
|
-
while (k--) {
|
|
101
|
-
arr.push(undefined);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
arr.splice(newIndex, 0, arr.splice(oldIndex, 1)[0]);
|
|
105
|
-
return arr;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* @param {?} arr
|
|
109
|
-
* @return {?}
|
|
110
|
-
*/
|
|
111
|
-
ArrayUtils.reversed = /**
|
|
112
|
-
* @param {?} arr
|
|
113
|
-
* @return {?}
|
|
114
|
-
*/
|
|
115
|
-
function (arr) {
|
|
116
|
-
/** @type {?} */
|
|
117
|
-
var result = [];
|
|
118
|
-
if (!ObjectUtils.isArray(arr))
|
|
119
|
-
return result;
|
|
120
|
-
for (var i = arr.length - 1; i >= 0; i--) {
|
|
121
|
-
result.push(arr[i]);
|
|
122
|
-
}
|
|
123
|
-
return result;
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* @param {?} arr
|
|
127
|
-
* @param {?} cb
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
ArrayUtils.min = /**
|
|
131
|
-
* @param {?} arr
|
|
132
|
-
* @param {?} cb
|
|
133
|
-
* @return {?}
|
|
134
|
-
*/
|
|
135
|
-
function (arr, cb) {
|
|
136
|
-
if (!ObjectUtils.isArray(arr))
|
|
137
|
-
return 0;
|
|
138
|
-
/** @type {?} */
|
|
139
|
-
var min = Number.MAX_SAFE_INTEGER;
|
|
140
|
-
/** @type {?} */
|
|
141
|
-
var result = null;
|
|
142
|
-
for (var i = 0; i < arr.length; i++) {
|
|
143
|
-
/** @type {?} */
|
|
144
|
-
var current = cb(arr[i], i);
|
|
145
|
-
if (current < min || result === null) {
|
|
146
|
-
min = current;
|
|
147
|
-
result = arr[i];
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return result;
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* @param {?} arr
|
|
154
|
-
* @param {?} cb
|
|
155
|
-
* @return {?}
|
|
156
|
-
*/
|
|
157
|
-
ArrayUtils.max = /**
|
|
158
|
-
* @param {?} arr
|
|
159
|
-
* @param {?} cb
|
|
160
|
-
* @return {?}
|
|
161
|
-
*/
|
|
162
|
-
function (arr, cb) {
|
|
163
|
-
if (!ObjectUtils.isArray(arr))
|
|
164
|
-
return 0;
|
|
165
|
-
/** @type {?} */
|
|
166
|
-
var max = Number.MIN_SAFE_INTEGER;
|
|
167
|
-
/** @type {?} */
|
|
168
|
-
var result = null;
|
|
169
|
-
for (var i = 0; i < arr.length; i++) {
|
|
170
|
-
/** @type {?} */
|
|
171
|
-
var current = cb(arr[i], i);
|
|
172
|
-
if (current > max || result === null) {
|
|
173
|
-
max = current;
|
|
174
|
-
result = arr[i];
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return result;
|
|
178
|
-
};
|
|
179
|
-
return ArrayUtils;
|
|
180
|
-
}());
|
|
181
|
-
export { ArrayUtils };
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkudXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3V0aWxzL2FycmF5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7SUFBQTtJQW9GQSxDQUFDOzs7Ozs7SUFsRlUsY0FBRzs7Ozs7SUFBVixVQUFXLEdBQVU7UUFBRSxlQUFlO2FBQWYsVUFBZSxFQUFmLHFCQUFlLEVBQWYsSUFBZTtZQUFmLDhCQUFlOztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0UsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7U0FDL0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7Ozs7SUFFTSxnQkFBSzs7Ozs7SUFBWixVQUFhLEdBQVUsRUFBRSxHQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMxRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLEVBQUU7O29CQUNwQixLQUFL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Q0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7Ozs7O0lBRU0sY0FBRzs7Ozs7SUFBVixVQUFXLEdBQVUsRUFBRSxFQUF5QztRQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQzs7WUFDcEMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0I7O1lBQzdCLE1BQU0sR0FBRyxJQUFJO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFOztnQkFDM0IsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLElBQUksT0FBTyxHQUFHLEdBQUcsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUNsQyxHQUFHLEdBQUcsT0FBTyxDQUFDO2dCQUNkLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkI7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDTCxpQkFBQztBQUFELENBQUMsQUFwRkQsSUFvRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBcnJheVV0aWxzIHtcclxuXHJcbiAgICBzdGF0aWMgaGFzKGFycjogYW55W10sIC4uLml0ZW1zOiBhbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNBcnJheShhcnIpIHx8ICFPYmplY3RVdGlscy5pc0FycmF5KGl0ZW1zKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGFyci5pbmRleE9mKGl0ZW1zW2ldKSA+PSAwKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBtYXRjaChhcnI6IGFueVtdLCBzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNBcnJheShhcnIpIHx8ICFPYmplY3RVdGlscy5pc1N0cmluZyhzdHIpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGFycltpXSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVnZXggPSA8UmVnRXhwPmFycltpXTtcclxuICAgICAgICAgICAgICAgIGlmIChyZWdleC50ZXN0KHN0cikpIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYW55KGFycjogYW55W10sIGNiOiAoaXRlbTogYW55KSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc0FycmF5KGFycikgfHwgIU9iamVjdFV0aWxzLmlzRnVuY3Rpb24oY2IpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGNiKGFycltpXSkpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG1vdmUoYXJyOiBhbnlbXSwgb2xkSW5kZXg6IG51bWJlciwgbmV3SW5kZXg6IG51bWJlcik6IGFueVtdIHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkoYXJyKSkgcmV0dXJuIFtdO1xyXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGFyci5sZW5ndGg7XHJcbiAgICAgICAgd2hpbGUgKG9sZEluZGV4IDwgMCkge1xyXG4gICAgICAgICAgICBvbGRJbmRleCArPSBsZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdoaWxlIChuZXdJbmRleCA8IDApIHtcclxuICAgICAgICAgICAgbmV3SW5kZXggKz0gbGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobmV3SW5kZXggPj0gbGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGxldCBrID0gbmV3SW5kZXggLSBsZW5ndGggKyAxO1xyXG4gICAgICAgICAgICB3aGlsZSAoay0tKSB7XHJcbiAgICAgICAgICAgICAgICBhcnIucHVzaCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFyci5zcGxpY2UobmV3SW5kZXgsIDAsIGFyci5zcGxpY2Uob2xkSW5kZXgsIDEpWzBdKTtcclxuICAgICAgICByZXR1cm4gYXJyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyByZXZlcnNlZChhcnI6IGFueVtdKTogYW55W10ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNBcnJheShhcnIpKSByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBhcnIubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2goYXJyW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbWluKGFycjogYW55W10sIGNiOiAoaXRlbTogYW55LCBpbmRleD86IG51bWJlcikgPT4gbnVtYmVyKTogYW55IHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkoYXJyKSkgcmV0dXJuIDA7XHJcbiAgICAgICAgbGV0IG1pbiA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjYihhcnJbaV0sIGkpO1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudCA8IG1pbiB8fCByZXN1bHQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIG1pbiA9IGN1cnJlbnQ7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhcnJbaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbWF4KGFycjogYW55W10sIGNiOiAoaXRlbTogYW55LCBpbmRleD86IG51bWJlcikgPT4gbnVtYmVyKTogYW55IHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkoYXJyKSkgcmV0dXJuIDA7XHJcbiAgICAgICAgbGV0IG1heCA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjYihhcnJbaV0sIGkpO1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudCA+IG1heCB8fCByZXN1bHQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIG1heCA9IGN1cnJlbnQ7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhcnJbaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Inject, Injectable, Injector } from "@angular/core";
|
|
7
|
-
import { Router } from "@angular/router";
|
|
8
|
-
import { AUTH_SERVICE } from "../common-types";
|
|
9
|
-
import { ReflectUtils } from "./reflect.utils";
|
|
10
|
-
import { ObjectUtils } from "./object.utils";
|
|
11
|
-
var AuthGuard = /** @class */ (function () {
|
|
12
|
-
function AuthGuard(injector, router, auth) {
|
|
13
|
-
this.injector = injector;
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.auth = auth;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @param {?} route
|
|
19
|
-
* @return {?}
|
|
20
|
-
*/
|
|
21
|
-
AuthGuard.prototype.checkRouteMenu = /**
|
|
22
|
-
* @param {?} route
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
function (route) {
|
|
26
|
-
if (!route.data || !route.data.name)
|
|
27
|
-
return Promise.resolve(false);
|
|
28
|
-
return this.checkRoute(route);
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* @param {?} route
|
|
32
|
-
* @param {?=} next
|
|
33
|
-
* @return {?}
|
|
34
|
-
*/
|
|
35
|
-
AuthGuard.prototype.checkRoute = /**
|
|
36
|
-
* @param {?} route
|
|
37
|
-
* @param {?=} next
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function (route, next) {
|
|
41
|
-
var _this = this;
|
|
42
|
-
/** @type {?} */
|
|
43
|
-
var routeData = route.data || {};
|
|
44
|
-
if (!routeData.guards)
|
|
45
|
-
return Promise.resolve(!route.canActivate || this.auth.isAuthenticated);
|
|
46
|
-
return new Promise(function (resolve) {
|
|
47
|
-
/** @type {?} */
|
|
48
|
-
var guards = routeData.guards.map(function (g) {
|
|
49
|
-
/** @type {?} */
|
|
50
|
-
var guard = ReflectUtils.resolve(g, _this.injector);
|
|
51
|
-
return guard(_this.auth, route, next);
|
|
52
|
-
});
|
|
53
|
-
Promise.all(guards).then(function (results) {
|
|
54
|
-
resolve(results.indexOf(false) < 0);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* @param {?} next
|
|
60
|
-
* @param {?} state
|
|
61
|
-
* @return {?}
|
|
62
|
-
*/
|
|
63
|
-
AuthGuard.prototype.canActivate = /**
|
|
64
|
-
* @param {?} next
|
|
65
|
-
* @param {?} state
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
function (next, state) {
|
|
69
|
-
var _this = this;
|
|
70
|
-
/** @type {?} */
|
|
71
|
-
var route = (/** @type {?} */ (next.routeConfig));
|
|
72
|
-
return new Promise(function (resolve) {
|
|
73
|
-
_this.auth.checkAuthenticated().then(function () {
|
|
74
|
-
_this.checkRoute(route, next).then(function (hasRights) {
|
|
75
|
-
resolve(hasRights);
|
|
76
|
-
if (!hasRights) {
|
|
77
|
-
_this.getReturnState(route).then(function (returnState) {
|
|
78
|
-
if (!returnState)
|
|
79
|
-
return;
|
|
80
|
-
_this.router.navigate(returnState);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* @param {?} route
|
|
89
|
-
* @return {?}
|
|
90
|
-
*/
|
|
91
|
-
AuthGuard.prototype.getReturnState = /**
|
|
92
|
-
* @param {?} route
|
|
93
|
-
* @return {?}
|
|
94
|
-
*/
|
|
95
|
-
function (route) {
|
|
96
|
-
var _this = this;
|
|
97
|
-
if (!route)
|
|
98
|
-
return Promise.resolve(null);
|
|
99
|
-
if (ObjectUtils.isObject(route.data) && ObjectUtils.isArray(route.data.returnState)) {
|
|
100
|
-
return Promise.resolve(route.data.returnState);
|
|
101
|
-
}
|
|
102
|
-
/** @type {?} */
|
|
103
|
-
var path = [];
|
|
104
|
-
/** @type {?} */
|
|
105
|
-
var config = this.getConfig(route, this.router.config, path);
|
|
106
|
-
return new Promise(function (resolve) {
|
|
107
|
-
_this.getReturnStateRecursive(config).then(function (rs) {
|
|
108
|
-
if (!ObjectUtils.isArray(rs)) {
|
|
109
|
-
resolve(rs);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
resolve(path.concat(rs));
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* @param {?} config
|
|
118
|
-
* @param {?=} c
|
|
119
|
-
* @return {?}
|
|
120
|
-
*/
|
|
121
|
-
AuthGuard.prototype.getReturnStateRecursive = /**
|
|
122
|
-
* @param {?} config
|
|
123
|
-
* @param {?=} c
|
|
124
|
-
* @return {?}
|
|
125
|
-
*/
|
|
126
|
-
function (config, c) {
|
|
127
|
-
var _this = this;
|
|
128
|
-
if (c === void 0) { c = 0; }
|
|
129
|
-
if (!config || c >= config.length)
|
|
130
|
-
return Promise.resolve(null);
|
|
131
|
-
return new Promise(function (resolve) {
|
|
132
|
-
/** @type {?} */
|
|
133
|
-
var route = config[c];
|
|
134
|
-
/** @type {?} */
|
|
135
|
-
var check = !route.component ? Promise.resolve(false) : _this.checkRoute(route);
|
|
136
|
-
check.then(function (res) {
|
|
137
|
-
if (res) {
|
|
138
|
-
resolve([route.path]);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
_this.getReturnStateRecursive(config, c + 1).then(resolve);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
/**
|
|
146
|
-
* @param {?} route
|
|
147
|
-
* @param {?} config
|
|
148
|
-
* @param {?} path
|
|
149
|
-
* @return {?}
|
|
150
|
-
*/
|
|
151
|
-
AuthGuard.prototype.getConfig = /**
|
|
152
|
-
* @param {?} route
|
|
153
|
-
* @param {?} config
|
|
154
|
-
* @param {?} path
|
|
155
|
-
* @return {?}
|
|
156
|
-
*/
|
|
157
|
-
function (route, config, path) {
|
|
158
|
-
var e_1, _a;
|
|
159
|
-
if (!config)
|
|
160
|
-
return null;
|
|
161
|
-
/** @type {?} */
|
|
162
|
-
var match = config.findIndex(function (t) { return t == route; });
|
|
163
|
-
if (match >= 0)
|
|
164
|
-
return config;
|
|
165
|
-
try {
|
|
166
|
-
for (var config_1 = tslib_1.__values(config), config_1_1 = config_1.next(); !config_1_1.done; config_1_1 = config_1.next()) {
|
|
167
|
-
var subConfig = config_1_1.value;
|
|
168
|
-
path.push(subConfig.path);
|
|
169
|
-
/** @type {?} */
|
|
170
|
-
var match_1 = this.getConfig(route, subConfig.children, path);
|
|
171
|
-
if (!!match_1)
|
|
172
|
-
return match_1;
|
|
173
|
-
path.length -= 1;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
177
|
-
finally {
|
|
178
|
-
try {
|
|
179
|
-
if (config_1_1 && !config_1_1.done && (_a = config_1.return)) _a.call(config_1);
|
|
180
|
-
}
|
|
181
|
-
finally { if (e_1) throw e_1.error; }
|
|
182
|
-
}
|
|
183
|
-
return null;
|
|
184
|
-
};
|
|
185
|
-
AuthGuard.decorators = [
|
|
186
|
-
{ type: Injectable }
|
|
187
|
-
];
|
|
188
|
-
/** @nocollapse */
|
|
189
|
-
AuthGuard.ctorParameters = function () { return [
|
|
190
|
-
{ type: Injector, decorators: [{ type: Inject, args: [Injector,] }] },
|
|
191
|
-
{ type: Router, decorators: [{ type: Inject, args: [Router,] }] },
|
|
192
|
-
{ type: undefined, decorators: [{ type: Inject, args: [AUTH_SERVICE,] }] }
|
|
193
|
-
]; };
|
|
194
|
-
return AuthGuard;
|
|
195
|
-
}());
|
|
196
|
-
export { AuthGuard };
|
|
197
|
-
if (false) {
|
|
198
|
-
/** @type {?} */
|
|
199
|
-
AuthGuard.prototype.injector;
|
|
200
|
-
/** @type {?} */
|
|
201
|
-
AuthGuard.prototype.router;
|
|
202
|
-
/** @type {?} */
|
|
203
|
-
AuthGuard.prototype.auth;
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdGVteS9uZ3gtdXRpbHMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvdXRpbHMvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQXNDLE1BQU0sRUFBc0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRyxPQUFPLEVBQUMsWUFBWSxFQUF1QyxNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7SUFHSSxtQkFBd0MsUUFBa0IsRUFBNEIsTUFBYyxFQUFrQyxJQUFrQjtRQUFoSCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQTRCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBYztJQUV4SixDQUFDOzs7OztJQUVELGtDQUFjOzs7O0lBQWQsVUFBZSxLQUFhO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7Ozs7SUFFRCw4QkFBVTs7Ozs7SUFBVixVQUFXLEtBQWEsRUFBRSxJQUE2QjtRQUF2RCxpQkFhQzs7WUFaUyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxJ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QUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDOztvQkFDcEIsT0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO2dCQUM3RCxJQUFJLENBQUMsQ0FBQyxPQUFLO29CQUFFLE9BQU8sT0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQzthQUNwQjs7Ozs7Ozs7O1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7Z0JBeEZKLFVBQVU7Ozs7Z0JBTmlCLFFBQVEsdUJBU25CLE1BQU0sU0FBQyxRQUFRO2dCQVJhLE1BQU0sdUJBUWMsTUFBTSxTQUFDLE1BQU07Z0RBQTZCLE1BQU0sU0FBQyxZQUFZOztJQXNGOUgsZ0JBQUM7Q0FBQSxBQXpGRCxJQXlGQztTQXhGWSxTQUFTOzs7SUFFTiw2QkFBOEM7O0lBQUUsMkJBQXdDOztJQUFFLHlCQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rvcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90fSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QVVUSF9TRVJWSUNFLCBJQXV0aFNlcnZpY2UsIElSb3V0ZSwgUm91dGVWYWxpZGF0b3J9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtSZWZsZWN0VXRpbHN9IGZyb20gXCIuL3JlZmxlY3QudXRpbHNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJbmplY3RvcikgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvciwgQEluamVjdChSb3V0ZXIpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlciwgQEluamVjdChBVVRIX1NFUlZJQ0UpIHByb3RlY3RlZCBhdXRoOiBJQXV0aFNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tSb3V0ZU1lbnUocm91dGU6IElSb3V0ZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghcm91dGUuZGF0YSB8fCAhcm91dGUuZGF0YS5uYW1lKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1JvdXRlKHJvdXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja1JvdXRlKHJvdXRlOiBJUm91dGUsIG5leHQ/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgY29uc3Qgcm91dGVEYXRhID0gcm91dGUuZGF0YSB8fCB7fTtcclxuICAgICAgICBpZiAoIXJvdXRlRGF0YS5ndWFyZHMpXHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIXJvdXRlLmNhbkFjdGl2YXRlIHx8IHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZ3VhcmRzID0gcm91dGVEYXRhLmd1YXJkcy5tYXAoZyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBndWFyZCA9IFJlZmxlY3RVdGlscy5yZXNvbHZlPFJvdXRlVmFsaWRhdG9yPihnLCB0aGlzLmluamVjdG9yKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBndWFyZCh0aGlzLmF1dGgsIHJvdXRlLCBuZXh0KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIFByb21pc2UuYWxsKGd1YXJkcykudGhlbihyZXN1bHRzID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0cy5pbmRleE9mKGZhbHNlKSA8IDApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5BY3RpdmF0ZShuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlID0gPElSb3V0ZT5uZXh0LnJvdXRlQ29uZmlnO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoLmNoZWNrQXV0aGVudGljYXRlZCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja1JvdXRlKHJvdXRlLCBuZXh0KS50aGVuKGhhc1JpZ2h0cyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShoYXNSaWdodHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghaGFzUmlnaHRzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmV0dXJuU3RhdGUocm91dGUpLnRoZW4ocmV0dXJuU3RhdGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXR1cm5TdGF0ZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocmV0dXJuU3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmV0dXJuU3RhdGUocm91dGU6IElSb3V0ZSk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgICAgICBpZiAoIXJvdXRlKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc09iamVjdChyb3V0ZS5kYXRhKSAmJiBPYmplY3RVdGlscy5pc0FycmF5KHJvdXRlLmRhdGEucmV0dXJuU3RhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocm91dGUuZGF0YS5yZXR1cm5TdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBbXTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZyhyb3V0ZSwgdGhpcy5yb3V0ZXIuY29uZmlnLCBwYXRoKTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nW10+KHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldFJldHVyblN0YXRlUmVjdXJzaXZlKGNvbmZpZykudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkocnMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShwYXRoLmNvbmNhdChycykpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFJldHVyblN0YXRlUmVjdXJzaXZlKGNvbmZpZzogSVJvdXRlW10sIGM6IG51bWJlciA9IDApOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICAgICAgaWYgKCFjb25maWcgfHwgYyA+PSBjb25maWcubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmdbXT4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gY29uZmlnW2NdO1xyXG4gICAgICAgICAgICBjb25zdCBjaGVjayA9ICFyb3V0ZS5jb21wb25lbnQgPyBQcm9taXNlLnJlc29sdmUoZmFsc2UpIDogdGhpcy5jaGVja1JvdXRlKHJvdXRlKTtcclxuICAgICAgICAgICAgY2hlY2sudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoW3JvdXRlLnBhdGhdKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJldHVyblN0YXRlUmVjdXJzaXZlKGNvbmZpZywgYyArIDEpLnRoZW4ocmVzb2x2ZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q29uZmlnKHJvdXRlOiBJUm91dGUsIGNvbmZpZzogSVJvdXRlW10sIHBhdGg6IHN0cmluZ1tdKTogSVJvdXRlW10ge1xyXG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBjb25zdCBtYXRjaCA9IGNvbmZpZy5maW5kSW5kZXgodCA9PiB0ID09IHJvdXRlKTtcclxuICAgICAgICBpZiAobWF0Y2ggPj0gMCkgcmV0dXJuIGNvbmZpZztcclxuICAgICAgICBmb3IgKGxldCBzdWJDb25maWcgb2YgY29uZmlnKSB7XHJcbiAgICAgICAgICAgIHBhdGgucHVzaChzdWJDb25maWcucGF0aCk7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5nZXRDb25maWcocm91dGUsIHN1YkNvbmZpZy5jaGlsZHJlbiwgcGF0aCk7XHJcbiAgICAgICAgICAgIGlmICghIW1hdGNoKSByZXR1cm4gbWF0Y2g7XHJcbiAgICAgICAgICAgIHBhdGgubGVuZ3RoIC09IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|