@ng-util/lazy 11.2.0 → 12.1.2
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/ng-util-lazy.umd.js +88 -193
- package/bundles/ng-util-lazy.umd.js.map +1 -1
- package/esm2015/lazy.service.js +35 -174
- package/esm2015/ng-util-lazy.js +2 -7
- package/esm2015/public-api.js +2 -7
- package/fesm2015/ng-util-lazy.js +38 -183
- package/fesm2015/ng-util-lazy.js.map +1 -1
- package/package.json +3 -3
- package/bundles/ng-util-lazy.umd.min.js +0 -21
- package/bundles/ng-util-lazy.umd.min.js.map +0 -1
package/esm2015/lazy.service.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lazy.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
1
|
import { __awaiter } from "tslib";
|
|
7
2
|
import { DOCUMENT } from '@angular/common';
|
|
8
3
|
import { Inject, Injectable } from '@angular/core';
|
|
@@ -10,104 +5,39 @@ import { BehaviorSubject, pipe } from 'rxjs';
|
|
|
10
5
|
import { filter, share } from 'rxjs/operators';
|
|
11
6
|
import * as i0 from "@angular/core";
|
|
12
7
|
import * as i1 from "@angular/common";
|
|
13
|
-
/**
|
|
14
|
-
* @record
|
|
15
|
-
*/
|
|
16
|
-
export function NuLazyResources() { }
|
|
17
|
-
if (false) {
|
|
18
|
-
/** @type {?} */
|
|
19
|
-
NuLazyResources.prototype.path;
|
|
20
|
-
/** @type {?} */
|
|
21
|
-
NuLazyResources.prototype.type;
|
|
22
|
-
/**
|
|
23
|
-
* 回调名称
|
|
24
|
-
* @type {?|undefined}
|
|
25
|
-
*/
|
|
26
|
-
NuLazyResources.prototype.callback;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @record
|
|
30
|
-
*/
|
|
31
|
-
export function NuLazyResult() { }
|
|
32
|
-
if (false) {
|
|
33
|
-
/** @type {?} */
|
|
34
|
-
NuLazyResult.prototype.path;
|
|
35
|
-
/** @type {?} */
|
|
36
|
-
NuLazyResult.prototype.status;
|
|
37
|
-
/** @type {?|undefined} */
|
|
38
|
-
NuLazyResult.prototype.type;
|
|
39
|
-
/** @type {?|undefined} */
|
|
40
|
-
NuLazyResult.prototype.error;
|
|
41
|
-
}
|
|
42
8
|
export class NuLazyService {
|
|
43
|
-
/**
|
|
44
|
-
* @param {?} doc
|
|
45
|
-
*/
|
|
46
9
|
constructor(doc) {
|
|
47
10
|
this.doc = doc;
|
|
48
11
|
this.list = {};
|
|
49
12
|
this.cached = {};
|
|
50
13
|
this._notify = new BehaviorSubject([]);
|
|
51
14
|
}
|
|
52
|
-
/**
|
|
53
|
-
* @private
|
|
54
|
-
* @param {?=} paths
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
15
|
fixPaths(paths) {
|
|
58
16
|
paths = paths || [];
|
|
59
17
|
if (!Array.isArray(paths)) {
|
|
60
18
|
paths = [paths];
|
|
61
19
|
}
|
|
62
|
-
return paths.map((
|
|
63
|
-
|
|
64
|
-
* @return {?}
|
|
65
|
-
*/
|
|
66
|
-
(p) => {
|
|
67
|
-
/** @type {?} */
|
|
68
|
-
const res = (/** @type {?} */ ((typeof p === 'string' ? { path: p } : p)));
|
|
20
|
+
return paths.map((p) => {
|
|
21
|
+
const res = (typeof p === 'string' ? { path: p } : p);
|
|
69
22
|
if (!res.type) {
|
|
70
23
|
res.type = res.path.endsWith('.js') || res.callback ? 'script' : 'style';
|
|
71
24
|
}
|
|
72
25
|
return res;
|
|
73
|
-
})
|
|
26
|
+
});
|
|
74
27
|
}
|
|
75
28
|
/**
|
|
76
29
|
* Monitor for the finished of `paths`
|
|
77
30
|
*
|
|
78
31
|
* - It's recommended to pass the value in accordance with the `load()` method
|
|
79
|
-
* @param {?=} paths
|
|
80
|
-
* @return {?}
|
|
81
32
|
*/
|
|
82
33
|
monitor(paths) {
|
|
83
|
-
/** @type {?} */
|
|
84
34
|
const libs = this.fixPaths(paths);
|
|
85
|
-
|
|
86
|
-
const pipes = [share(), filter((/**
|
|
87
|
-
* @param {?} ls
|
|
88
|
-
* @return {?}
|
|
89
|
-
*/
|
|
90
|
-
(ls) => ls.length !== 0))];
|
|
35
|
+
const pipes = [share(), filter((ls) => ls.length !== 0)];
|
|
91
36
|
if (libs.length > 0) {
|
|
92
|
-
pipes.push(filter((
|
|
93
|
-
* @param {?} ls
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
(ls) => ls.length === libs.length && ls.every((/**
|
|
97
|
-
* @param {?} v
|
|
98
|
-
* @return {?}
|
|
99
|
-
*/
|
|
100
|
-
v => v.status === 'ok' && libs.find((/**
|
|
101
|
-
* @param {?} lw
|
|
102
|
-
* @return {?}
|
|
103
|
-
*/
|
|
104
|
-
lw => lw.path === v.path)))))));
|
|
37
|
+
pipes.push(filter((ls) => ls.length === libs.length && ls.every(v => v.status === 'ok' && libs.find(lw => lw.path === v.path))));
|
|
105
38
|
}
|
|
106
39
|
return this._notify.asObservable().pipe(pipe.apply(this, pipes));
|
|
107
40
|
}
|
|
108
|
-
/**
|
|
109
|
-
* @return {?}
|
|
110
|
-
*/
|
|
111
41
|
clear() {
|
|
112
42
|
this.list = {};
|
|
113
43
|
this.cached = {};
|
|
@@ -117,74 +47,41 @@ export class NuLazyService {
|
|
|
117
47
|
*
|
|
118
48
|
* - The returned Promise does not mean that it was successfully loaded
|
|
119
49
|
* - You can monitor load is success via `monitor()`
|
|
120
|
-
* @param {?} paths
|
|
121
|
-
* @return {?}
|
|
122
50
|
*/
|
|
123
51
|
load(paths) {
|
|
124
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
53
|
paths = this.fixPaths(paths);
|
|
126
|
-
return Promise.all((
|
|
127
|
-
* @param {?} p
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
p => p.type === 'script' ? this.loadScript(p.path, { callback: p.callback }) : this.loadStyle(p.path)))).then((/**
|
|
131
|
-
* @param {?} res
|
|
132
|
-
* @return {?}
|
|
133
|
-
*/
|
|
134
|
-
res => {
|
|
54
|
+
return Promise.all(paths.map(p => p.type === 'script' ? this.loadScript(p.path, { callback: p.callback }) : this.loadStyle(p.path))).then(res => {
|
|
135
55
|
this._notify.next(res);
|
|
136
56
|
return Promise.resolve(res);
|
|
137
|
-
})
|
|
57
|
+
});
|
|
138
58
|
});
|
|
139
59
|
}
|
|
140
|
-
/**
|
|
141
|
-
* @param {?} path
|
|
142
|
-
* @param {?=} options
|
|
143
|
-
* @return {?}
|
|
144
|
-
*/
|
|
145
60
|
loadScript(path, options) {
|
|
146
61
|
const { innerContent } = Object.assign({}, options);
|
|
147
|
-
return new Promise(
|
|
148
|
-
* @param {?} resolve
|
|
149
|
-
* @return {?}
|
|
150
|
-
*/
|
|
151
|
-
resolve => {
|
|
62
|
+
return new Promise(resolve => {
|
|
152
63
|
if (this.list[path] === true) {
|
|
153
64
|
resolve(Object.assign(Object.assign({}, this.cached[path]), { status: 'loading' }));
|
|
154
65
|
return;
|
|
155
66
|
}
|
|
156
67
|
this.list[path] = true;
|
|
157
|
-
|
|
158
|
-
const onSuccess = (/**
|
|
159
|
-
* @param {?} item
|
|
160
|
-
* @return {?}
|
|
161
|
-
*/
|
|
162
|
-
(item) => {
|
|
68
|
+
const onSuccess = (item) => {
|
|
163
69
|
if (item.status === 'ok' && (options === null || options === void 0 ? void 0 : options.callback)) {
|
|
164
|
-
|
|
165
|
-
* @return {?}
|
|
166
|
-
*/
|
|
167
|
-
() => {
|
|
70
|
+
window[options === null || options === void 0 ? void 0 : options.callback] = () => {
|
|
168
71
|
onSuccessTruth(item);
|
|
169
|
-
}
|
|
72
|
+
};
|
|
170
73
|
}
|
|
171
74
|
else {
|
|
172
75
|
onSuccessTruth(item);
|
|
173
76
|
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const onSuccessTruth = (/**
|
|
177
|
-
* @param {?} item
|
|
178
|
-
* @return {?}
|
|
179
|
-
*/
|
|
180
|
-
(item) => {
|
|
77
|
+
};
|
|
78
|
+
const onSuccessTruth = (item) => {
|
|
181
79
|
item.type = 'script';
|
|
182
80
|
this.cached[path] = item;
|
|
183
81
|
resolve(item);
|
|
184
82
|
this._notify.next([item]);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const node = (/** @type {?} */ (this.doc.createElement('script')));
|
|
83
|
+
};
|
|
84
|
+
const node = this.doc.createElement('script');
|
|
188
85
|
node.type = 'text/javascript';
|
|
189
86
|
node.src = path;
|
|
190
87
|
node.charset = 'utf-8';
|
|
@@ -193,10 +90,7 @@ export class NuLazyService {
|
|
|
193
90
|
}
|
|
194
91
|
if (node.readyState) {
|
|
195
92
|
// IE
|
|
196
|
-
node.onreadystatechange = (
|
|
197
|
-
* @return {?}
|
|
198
|
-
*/
|
|
199
|
-
() => {
|
|
93
|
+
node.onreadystatechange = () => {
|
|
200
94
|
if (node.readyState === 'loaded' || node.readyState === 'complete') {
|
|
201
95
|
node.onreadystatechange = null;
|
|
202
96
|
onSuccess({
|
|
@@ -204,48 +98,31 @@ export class NuLazyService {
|
|
|
204
98
|
status: 'ok',
|
|
205
99
|
});
|
|
206
100
|
}
|
|
207
|
-
}
|
|
101
|
+
};
|
|
208
102
|
}
|
|
209
103
|
else {
|
|
210
|
-
node.onload = (
|
|
211
|
-
* @return {?}
|
|
212
|
-
*/
|
|
213
|
-
() => onSuccess({
|
|
104
|
+
node.onload = () => onSuccess({
|
|
214
105
|
path,
|
|
215
106
|
status: 'ok',
|
|
216
|
-
})
|
|
107
|
+
});
|
|
217
108
|
}
|
|
218
|
-
node.onerror = (
|
|
219
|
-
* @param {?} error
|
|
220
|
-
* @return {?}
|
|
221
|
-
*/
|
|
222
|
-
(error) => onSuccess({
|
|
109
|
+
node.onerror = (error) => onSuccess({
|
|
223
110
|
path,
|
|
224
111
|
status: 'error',
|
|
225
112
|
error,
|
|
226
|
-
})
|
|
113
|
+
});
|
|
227
114
|
this.doc.getElementsByTagName('head')[0].appendChild(node);
|
|
228
|
-
})
|
|
115
|
+
});
|
|
229
116
|
}
|
|
230
|
-
/**
|
|
231
|
-
* @param {?} path
|
|
232
|
-
* @param {?=} options
|
|
233
|
-
* @return {?}
|
|
234
|
-
*/
|
|
235
117
|
loadStyle(path, options) {
|
|
236
118
|
const { rel, innerContent } = Object.assign({ rel: 'stylesheet' }, options);
|
|
237
|
-
return new Promise(
|
|
238
|
-
* @param {?} resolve
|
|
239
|
-
* @return {?}
|
|
240
|
-
*/
|
|
241
|
-
resolve => {
|
|
119
|
+
return new Promise(resolve => {
|
|
242
120
|
if (this.list[path] === true) {
|
|
243
121
|
resolve(this.cached[path]);
|
|
244
122
|
return;
|
|
245
123
|
}
|
|
246
124
|
this.list[path] = true;
|
|
247
|
-
|
|
248
|
-
const node = (/** @type {?} */ (this.doc.createElement('link')));
|
|
125
|
+
const node = this.doc.createElement('link');
|
|
249
126
|
node.rel = rel;
|
|
250
127
|
node.type = 'text/css';
|
|
251
128
|
node.href = path;
|
|
@@ -253,7 +130,6 @@ export class NuLazyService {
|
|
|
253
130
|
node.innerHTML = innerContent;
|
|
254
131
|
}
|
|
255
132
|
this.doc.getElementsByTagName('head')[0].appendChild(node);
|
|
256
|
-
/** @type {?} */
|
|
257
133
|
const item = {
|
|
258
134
|
path,
|
|
259
135
|
status: 'ok',
|
|
@@ -261,37 +137,22 @@ export class NuLazyService {
|
|
|
261
137
|
};
|
|
262
138
|
this.cached[path] = item;
|
|
263
139
|
resolve(item);
|
|
264
|
-
})
|
|
140
|
+
});
|
|
265
141
|
}
|
|
266
142
|
}
|
|
143
|
+
/** @nocollapse */ NuLazyService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NuLazyService_Factory() { return new NuLazyService(i0.ɵɵinject(i1.DOCUMENT)); }, token: NuLazyService, providedIn: "root" });
|
|
144
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
267
145
|
NuLazyService.decorators = [
|
|
268
146
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
269
147
|
];
|
|
270
|
-
/**
|
|
148
|
+
/**
|
|
149
|
+
* @type {function(): !Array<(null|{
|
|
150
|
+
* type: ?,
|
|
151
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
152
|
+
* })>}
|
|
153
|
+
* @nocollapse
|
|
154
|
+
*/
|
|
271
155
|
NuLazyService.ctorParameters = () => [
|
|
272
156
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
273
157
|
];
|
|
274
|
-
/** @nocollapse */ NuLazyService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NuLazyService_Factory() { return new NuLazyService(i0.ɵɵinject(i1.DOCUMENT)); }, token: NuLazyService, providedIn: "root" });
|
|
275
|
-
if (false) {
|
|
276
|
-
/**
|
|
277
|
-
* @type {?}
|
|
278
|
-
* @private
|
|
279
|
-
*/
|
|
280
|
-
NuLazyService.prototype.list;
|
|
281
|
-
/**
|
|
282
|
-
* @type {?}
|
|
283
|
-
* @private
|
|
284
|
-
*/
|
|
285
|
-
NuLazyService.prototype.cached;
|
|
286
|
-
/**
|
|
287
|
-
* @type {?}
|
|
288
|
-
* @private
|
|
289
|
-
*/
|
|
290
|
-
NuLazyService.prototype._notify;
|
|
291
|
-
/**
|
|
292
|
-
* @type {?}
|
|
293
|
-
* @private
|
|
294
|
-
*/
|
|
295
|
-
NuLazyService.prototype.doc;
|
|
296
|
-
}
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xhenkvIiwic291cmNlcyI6WyJsYXp5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUkvQyxxQ0FPQzs7O0lBTkMsK0JBQWE7O0lBQ2IsK0JBQTBCOzs7OztJQUkxQixtQ0FBa0I7Ozs7O0FBR3BCLGtDQUtDOzs7SUFKQyw0QkFBYTs7SUFDYiw4QkFBbUM7O0lBQ25DLDRCQUEyQjs7SUFDM0IsNkJBQVc7O0FBSWIsTUFBTSxPQUFPLGFBQWE7Ozs7SUFLeEIsWUFBc0MsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFKdEMsU0FBSSxHQUErQixFQUFFLENBQUM7UUFDdEMsV0FBTSxHQUFvQyxFQUFFLENBQUM7UUFDN0MsWUFBTyxHQUFvQyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxDQUFDLENBQUM7SUFFMUMsQ0FBQzs7Ozs7O0lBRTFDLFFBQVEsQ0FBQyxLQUFnRDtRQUMvRCxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQjtRQUNELE9BQU8sS0FBSyxDQUFDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQTJCLEVBQUUsRUFBRTs7a0JBQ3pDLEdBQUcsR0FBRyxtQkFBQSxDQUFDLE9BQU8sQ0FBQyxLQUFL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LElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDOztrQkFFakIsSUFBSSxHQUFHLG1CQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFtQjtZQUM5RCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksWUFBWSxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQzthQUMvQjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDOztrQkFDckQsSUFBSSxHQUFpQjtnQkFDekIsSUFBSTtnQkFDSixNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsT0FBTzthQUNkO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBekpGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7NENBTW5CLE1BQU0sU0FBQyxRQUFROzs7Ozs7OztJQUo1Qiw2QkFBOEM7Ozs7O0lBQzlDLCtCQUFxRDs7Ozs7SUFDckQsZ0NBQTJGOzs7OztJQUUvRSw0QkFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IHR5cGUgTnVMYXp5UmVzb3VyY2VzVHlwZSA9ICdzY3JpcHQnIHwgJ3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBOdUxhenlSZXNvdXJjZXMge1xuICBwYXRoOiBzdHJpbmc7XG4gIHR5cGU6IE51TGF6eVJlc291cmNlc1R5cGU7XG4gIC8qKlxuICAgKiDlm57osIPlkI3np7BcbiAgICovXG4gIGNhbGxiYWNrPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51TGF6eVJlc3VsdCB7XG4gIHBhdGg6IHN0cmluZztcbiAgc3RhdHVzOiAnb2snIHwgJ2Vycm9yJyB8ICdsb2FkaW5nJztcbiAgdHlwZT86IE51TGF6eVJlc291cmNlc1R5cGU7XG4gIGVycm9yPzoge307XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTnVMYXp5U2VydmljZSB7XG4gIHByaXZhdGUgbGlzdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgcHJpdmF0ZSBjYWNoZWQ6IHsgW2tleTogc3RyaW5nXTogTnVMYXp5UmVzdWx0IH0gPSB7fTtcbiAgcHJpdmF0ZSBfbm90aWZ5OiBCZWhhdmlvclN1YmplY3Q8TnVMYXp5UmVzdWx0W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOdUxhenlSZXN1bHRbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBhbnkpIHt9XG5cbiAgcHJpdmF0ZSBmaXhQYXRocyhwYXRocz86IHN0cmluZyB8IEFycmF5PHN0cmluZyB8IE51TGF6eVJlc291cmNlcz4pOiBOdUxhenlSZXNvdXJjZXNbXSB7XG4gICAgcGF0aHMgPSBwYXRocyB8fCBbXTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aHMpKSB7XG4gICAgICBwYXRocyA9IFtwYXRoc107XG4gICAgfVxuICAgIHJldHVybiBwYXRocy5tYXAoKHA6IHN0cmluZyB8IE51TGF6eVJlc291cmNlcykgPT4ge1xuICAgICAgY29uc3QgcmVzID0gKHR5cGVvZiBwID09PSAnc3RyaW5nJyA/IHsgcGF0aDogcCB9IDogcCkgYXMgTnVMYXp5UmVzb3VyY2VzO1xuICAgICAgaWYgKCFyZXMudHlwZSkge1xuICAgICAgICByZXMudHlwZSA9IHJlcy5wYXRoLmVuZHNXaXRoKCcuanMnKSB8fCByZXMuY2FsbGJhY2sgPyAnc2NyaXB0JyA6ICdzdHlsZSc7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vbml0b3IgZm9yIHRoZSBmaW5pc2hlZCBvZiBgcGF0aHNgXG4gICAqXG4gICAqIC0gSXQncyByZWNvbW1lbmRlZCB0byBwYXNzIHRoZSB2YWx1ZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGBsb2FkKClgIG1ldGhvZFxuICAgKi9cbiAgbW9uaXRvcihwYXRocz86IHN0cmluZyB8IEFycmF5PHN0cmluZyB8IE51TGF6eVJlc291cmNlcz4pOiBPYnNlcnZhYmxlPE51TGF6eVJlc3VsdFtdPiB7XG4gICAgY29uc3QgbGlicyA9IHRoaXMuZml4UGF0aHMocGF0aHMpO1xuXG4gICAgY29uc3QgcGlwZXMgPSBbc2hhcmUoKSwgZmlsdGVyKChsczogTnVMYXp5UmVzdWx0W10pID0+IGxzLmxlbmd0aCAhPT0gMCldO1xuXG4gICAgaWYgKGxpYnMubGVuZ3RoID4gMCkge1xuICAgICAgcGlwZXMucHVzaChcbiAgICAgICAgZmlsdGVyKFxuICAgICAgICAgIChsczogTnVMYXp5UmVzdWx0W10pID0+IGxzLmxlbmd0aCA9PT0gbGlicy5sZW5ndGggJiYgbHMuZXZlcnkodiA9PiB2LnN0YXR1cyA9PT0gJ29rJyAmJiBsaWJzLmZpbmQobHcgPT4gbHcucGF0aCA9PT0gdi5wYXRoKSksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9ub3RpZnkuYXNPYnNlcnZhYmxlKCkucGlwZShwaXBlLmFwcGx5KHRoaXMsIHBpcGVzKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3QgPSB7fTtcbiAgICB0aGlzLmNhY2hlZCA9IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHNwZWNpZmllZCByZXNvdXJjZXMsIGluY2x1ZGVzIGAuanNgLCBgLmNzc2BcbiAgICpcbiAgICogLSBUaGUgcmV0dXJuZWQgUHJvbWlzZSBkb2VzIG5vdCBtZWFuIHRoYXQgaXQgd2FzIHN1Y2Nlc3NmdWxseSBsb2FkZWRcbiAgICogLSBZb3UgY2FuIG1vbml0b3IgbG9hZCBpcyBzdWNjZXNzIHZpYSBgbW9uaXRvcigpYFxuICAgKi9cbiAgYXN5bmMgbG9hZChwYXRoczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nIHwgTnVMYXp5UmVzb3VyY2VzPik6IFByb21pc2U8TnVMYXp5UmVzdWx0W10+IHtcbiAgICBwYXRocyA9IHRoaXMuZml4UGF0aHMocGF0aHMpO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgKHBhdGhzIGFzIE51TGF6eVJlc291cmNlc1tdKS5tYXAocCA9PlxuICAgICAgICBwLnR5cGUgPT09ICdzY3JpcHQnID8gdGhpcy5sb2FkU2NyaXB0KHAucGF0aCwgeyBjYWxsYmFjazogcC5jYWxsYmFjayB9KSA6IHRoaXMubG9hZFN0eWxlKHAucGF0aCksXG4gICAgICApLFxuICAgICkudGhlbihyZXMgPT4ge1xuICAgICAgdGhpcy5fbm90aWZ5Lm5leHQocmVzKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRTY3JpcHQocGF0aDogc3RyaW5nLCBvcHRpb25zPzogeyBpbm5lckNvbnRlbnQ/OiBzdHJpbmc7IGNhbGxiYWNrPzogc3RyaW5nIH0pOiBQcm9taXNlPE51TGF6eVJlc3VsdD4ge1xuICAgIGNvbnN0IHsgaW5uZXJDb250ZW50IH0gPSB7IC4uLm9wdGlvbnMgfTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpZiAodGhpcy5saXN0W3BhdGhdID09PSB0cnVlKSB7XG4gICAgICAgIHJlc29sdmUoeyAuLi50aGlzLmNhY2hlZFtwYXRoXSwgc3RhdHVzOiAnbG9hZGluZycgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5saXN0W3BhdGhdID0gdHJ1ZTtcbiAgICAgIGNvbnN0IG9uU3VjY2VzcyA9IChpdGVtOiBOdUxhenlSZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uc3RhdHVzID09PSAnb2snICYmIG9wdGlvbnM/LmNhbGxiYWNrKSB7XG4gICAgICAgICAgKHdpbmRvdyBhcyBhbnkpW29wdGlvbnM/LmNhbGxiYWNrXSA9ICgpID0+IHtcbiAgICAgICAgICAgIG9uU3VjY2Vzc1RydXRoKGl0ZW0pO1xuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25TdWNjZXNzVHJ1dGgoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBvblN1Y2Nlc3NUcnV0aCA9IChpdGVtOiBOdUxhenlSZXN1bHQpID0+IHtcbiAgICAgICAgaXRlbS50eXBlID0gJ3NjcmlwdCc7XG4gICAgICAgIHRoaXMuY2FjaGVkW3BhdGhdID0gaXRlbTtcbiAgICAgICAgcmVzb2x2ZShpdGVtKTtcbiAgICAgICAgdGhpcy5fbm90aWZ5Lm5leHQoW2l0ZW1dKTtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSBhcyBhbnk7XG4gICAgICBub2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgIG5vZGUuc3JjID0gcGF0aDtcbiAgICAgIG5vZGUuY2hhcnNldCA9ICd1dGYtOCc7XG4gICAgICBpZiAoaW5uZXJDb250ZW50KSB7XG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaW5uZXJDb250ZW50O1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUucmVhZHlTdGF0ZSkge1xuICAgICAgICAvLyBJRVxuICAgICAgICBub2RlLm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICBpZiAobm9kZS5yZWFkeVN0YXRlID09PSAnbG9hZGVkJyB8fCBub2RlLnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgICAgIG5vZGUub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcbiAgICAgICAgICAgIG9uU3VjY2Vzcyh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHN0YXR1czogJ29rJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUub25sb2FkID0gKCkgPT5cbiAgICAgICAgICBvblN1Y2Nlc3Moe1xuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHN0YXR1czogJ29rJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIG5vZGUub25lcnJvciA9IChlcnJvcjoge30pID0+XG4gICAgICAgIG9uU3VjY2Vzcyh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRTdHlsZShwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiB7IHJlbD86IHN0cmluZzsgaW5uZXJDb250ZW50Pzogc3RyaW5nIH0pOiBQcm9taXNlPE51TGF6eVJlc3VsdD4ge1xuICAgIGNvbnN0IHsgcmVsLCBpbm5lckNvbnRlbnQgfSA9IHsgcmVsOiAnc3R5bGVzaGVldCcsIC4uLm9wdGlvbnMgfTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpZiAodGhpcy5saXN0W3BhdGhdID09PSB0cnVlKSB7XG4gICAgICAgIHJlc29sdmUodGhpcy5jYWNoZWRbcGF0aF0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGlzdFtwYXRoXSA9IHRydWU7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdsaW5rJykgYXMgSFRNTExpbmtFbGVtZW50O1xuICAgICAgbm9kZS5yZWwgPSByZWw7XG4gICAgICBub2RlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgbm9kZS5ocmVmID0gcGF0aDtcbiAgICAgIGlmIChpbm5lckNvbnRlbnQpIHtcbiAgICAgICAgbm9kZS5pbm5lckhUTUwgPSBpbm5lckNvbnRlbnQ7XG4gICAgICB9XG4gICAgICB0aGlzLmRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgICAgY29uc3QgaXRlbTogTnVMYXp5UmVzdWx0ID0ge1xuICAgICAgICBwYXRoLFxuICAgICAgICBzdGF0dXM6ICdvaycsXG4gICAgICAgIHR5cGU6ICdzdHlsZScsXG4gICAgICB9O1xuICAgICAgdGhpcy5jYWNoZWRbcGF0aF0gPSBpdGVtO1xuICAgICAgcmVzb2x2ZShpdGVtKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbGF6eS9sYXp5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFxQi9DLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQXNDLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBSnRDLFNBQUksR0FBK0IsRUFBRSxDQUFDO1FBQ3RDLFdBQU0sR0FBb0MsRUFBRSxDQUFDO1FBQzdDLFlBQU8sR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLENBQUM7SUFFMUMsUUFBUSxDQUFDLEtBQWdEO1FBQy9ELEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBMkIsRUFBRSxFQUFFO1lBQy9DLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFvQixDQUFDO1lBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFD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QUcsVUFBVSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksWUFBWSxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQzthQUMvQjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELE1BQU0sSUFBSSxHQUFpQjtnQkFDekIsSUFBSTtnQkFDSixNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsT0FBTzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7OztZQXpKRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7Ozs7Ozs7OzRDQU1uQixNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBOdUxhenlSZXNvdXJjZXNUeXBlID0gJ3NjcmlwdCcgfCAnc3R5bGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE51TGF6eVJlc291cmNlcyB7XG4gIHBhdGg6IHN0cmluZztcbiAgdHlwZTogTnVMYXp5UmVzb3VyY2VzVHlwZTtcbiAgLyoqXG4gICAqIOWbnuiwg+WQjeensFxuICAgKi9cbiAgY2FsbGJhY2s/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVMYXp5UmVzdWx0IHtcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6ICdvaycgfCAnZXJyb3InIHwgJ2xvYWRpbmcnO1xuICB0eXBlPzogTnVMYXp5UmVzb3VyY2VzVHlwZTtcbiAgZXJyb3I/OiB7fTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOdUxhenlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsaXN0OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBwcml2YXRlIGNhY2hlZDogeyBba2V5OiBzdHJpbmddOiBOdUxhenlSZXN1bHQgfSA9IHt9O1xuICBwcml2YXRlIF9ub3RpZnk6IEJlaGF2aW9yU3ViamVjdDxOdUxhenlSZXN1bHRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE51TGF6eVJlc3VsdFtdPihbXSk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IGFueSkge31cblxuICBwcml2YXRlIGZpeFBhdGhzKHBhdGhzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nIHwgTnVMYXp5UmVzb3VyY2VzPik6IE51TGF6eVJlc291cmNlc1tdIHtcbiAgICBwYXRocyA9IHBhdGhzIHx8IFtdO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXRocykpIHtcbiAgICAgIHBhdGhzID0gW3BhdGhzXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGhzLm1hcCgocDogc3RyaW5nIHwgTnVMYXp5UmVzb3VyY2VzKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSAodHlwZW9mIHAgPT09ICdzdHJpbmcnID8geyBwYXRoOiBwIH0gOiBwKSBhcyBOdUxhenlSZXNvdXJjZXM7XG4gICAgICBpZiAoIXJlcy50eXBlKSB7XG4gICAgICAgIHJlcy50eXBlID0gcmVzLnBhdGguZW5kc1dpdGgoJy5qcycpIHx8IHJlcy5jYWxsYmFjayA/ICdzY3JpcHQnIDogJ3N0eWxlJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvciBmb3IgdGhlIGZpbmlzaGVkIG9mIGBwYXRoc2BcbiAgICpcbiAgICogLSBJdCdzIHJlY29tbWVuZGVkIHRvIHBhc3MgdGhlIHZhbHVlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgYGxvYWQoKWAgbWV0aG9kXG4gICAqL1xuICBtb25pdG9yKHBhdGhzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nIHwgTnVMYXp5UmVzb3VyY2VzPik6IE9ic2VydmFibGU8TnVMYXp5UmVzdWx0W10+IHtcbiAgICBjb25zdCBsaWJzID0gdGhpcy5maXhQYXRocyhwYXRocyk7XG5cbiAgICBjb25zdCBwaXBlcyA9IFtzaGFyZSgpLCBmaWx0ZXIoKGxzOiBOdUxhenlSZXN1bHRbXSkgPT4gbHMubGVuZ3RoICE9PSAwKV07XG5cbiAgICBpZiAobGlicy5sZW5ndGggPiAwKSB7XG4gICAgICBwaXBlcy5wdXNoKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKGxzOiBOdUxhenlSZXN1bHRbXSkgPT4gbHMubGVuZ3RoID09PSBsaWJzLmxlbmd0aCAmJiBscy5ldmVyeSh2ID0+IHYuc3RhdHVzID09PSAnb2snICYmIGxpYnMuZmluZChsdyA9PiBsdy5wYXRoID09PSB2LnBhdGgpKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX25vdGlmeS5hc09ic2VydmFibGUoKS5waXBlKHBpcGUuYXBwbHkodGhpcywgcGlwZXMgYXMgYW55KSBhcyBhbnkpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ID0ge307XG4gICAgdGhpcy5jYWNoZWQgPSB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2VzLCBpbmNsdWRlcyBgLmpzYCwgYC5jc3NgXG4gICAqXG4gICAqIC0gVGhlIHJldHVybmVkIFByb21pc2UgZG9lcyBub3QgbWVhbiB0aGF0IGl0IHdhcyBzdWNjZXNzZnVsbHkgbG9hZGVkXG4gICAqIC0gWW91IGNhbiBtb25pdG9yIGxvYWQgaXMgc3VjY2VzcyB2aWEgYG1vbml0b3IoKWBcbiAgICovXG4gIGFzeW5jIGxvYWQocGF0aHM6IHN0cmluZyB8IEFycmF5PHN0cmluZyB8IE51TGF6eVJlc291cmNlcz4pOiBQcm9taXNlPE51TGF6eVJlc3VsdFtdPiB7XG4gICAgcGF0aHMgPSB0aGlzLmZpeFBhdGhzKHBhdGhzKTtcblxuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIChwYXRocyBhcyBOdUxhenlSZXNvdXJjZXNbXSkubWFwKHAgPT5cbiAgICAgICAgcC50eXBlID09PSAnc2NyaXB0JyA/IHRoaXMubG9hZFNjcmlwdChwLnBhdGgsIHsgY2FsbGJhY2s6IHAuY2FsbGJhY2sgfSkgOiB0aGlzLmxvYWRTdHlsZShwLnBhdGgpLFxuICAgICAgKSxcbiAgICApLnRoZW4ocmVzID0+IHtcbiAgICAgIHRoaXMuX25vdGlmeS5uZXh0KHJlcyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkU2NyaXB0KHBhdGg6IHN0cmluZywgb3B0aW9ucz86IHsgaW5uZXJDb250ZW50Pzogc3RyaW5nOyBjYWxsYmFjaz86IHN0cmluZyB9KTogUHJvbWlzZTxOdUxhenlSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGlubmVyQ29udGVudCB9ID0geyAuLi5vcHRpb25zIH07XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaWYgKHRoaXMubGlzdFtwYXRoXSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHsgLi4udGhpcy5jYWNoZWRbcGF0aF0sIHN0YXR1czogJ2xvYWRpbmcnIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGlzdFtwYXRoXSA9IHRydWU7XG4gICAgICBjb25zdCBvblN1Y2Nlc3MgPSAoaXRlbTogTnVMYXp5UmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChpdGVtLnN0YXR1cyA9PT0gJ29rJyAmJiBvcHRpb25zPy5jYWxsYmFjaykge1xuICAgICAgICAgICh3aW5kb3cgYXMgYW55KVtvcHRpb25zPy5jYWxsYmFja10gPSAoKSA9PiB7XG4gICAgICAgICAgICBvblN1Y2Nlc3NUcnV0aChpdGVtKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9uU3VjY2Vzc1RydXRoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3Qgb25TdWNjZXNzVHJ1dGggPSAoaXRlbTogTnVMYXp5UmVzdWx0KSA9PiB7XG4gICAgICAgIGl0ZW0udHlwZSA9ICdzY3JpcHQnO1xuICAgICAgICB0aGlzLmNhY2hlZFtwYXRoXSA9IGl0ZW07XG4gICAgICAgIHJlc29sdmUoaXRlbSk7XG4gICAgICAgIHRoaXMuX25vdGlmeS5uZXh0KFtpdGVtXSk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBub2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykgYXMgYW55O1xuICAgICAgbm9kZS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICBub2RlLnNyYyA9IHBhdGg7XG4gICAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnO1xuICAgICAgaWYgKGlubmVyQ29udGVudCkge1xuICAgICAgICBub2RlLmlubmVySFRNTCA9IGlubmVyQ29udGVudDtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnJlYWR5U3RhdGUpIHtcbiAgICAgICAgLy8gSUVcbiAgICAgICAgbm9kZS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKG5vZGUucmVhZHlTdGF0ZSA9PT0gJ2xvYWRlZCcgfHwgbm9kZS5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgICAgICBub2RlLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgICAgICBvblN1Y2Nlc3Moe1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBzdGF0dXM6ICdvaycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLm9ubG9hZCA9ICgpID0+XG4gICAgICAgICAgb25TdWNjZXNzKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBzdGF0dXM6ICdvaycsXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBub2RlLm9uZXJyb3IgPSAoZXJyb3I6IHt9KSA9PlxuICAgICAgICBvblN1Y2Nlc3Moe1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAgIGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIHRoaXMuZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkU3R5bGUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogeyByZWw/OiBzdHJpbmc7IGlubmVyQ29udGVudD86IHN0cmluZyB9KTogUHJvbWlzZTxOdUxhenlSZXN1bHQ+IHtcbiAgICBjb25zdCB7IHJlbCwgaW5uZXJDb250ZW50IH0gPSB7IHJlbDogJ3N0eWxlc2hlZXQnLCAuLi5vcHRpb25zIH07XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaWYgKHRoaXMubGlzdFtwYXRoXSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHRoaXMuY2FjaGVkW3BhdGhdKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxpc3RbcGF0aF0gPSB0cnVlO1xuXG4gICAgICBjb25zdCBub2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnbGluaycpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICAgIG5vZGUucmVsID0gcmVsO1xuICAgICAgbm9kZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgIG5vZGUuaHJlZiA9IHBhdGg7XG4gICAgICBpZiAoaW5uZXJDb250ZW50KSB7XG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaW5uZXJDb250ZW50O1xuICAgICAgfVxuICAgICAgdGhpcy5kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgICAgIGNvbnN0IGl0ZW06IE51TGF6eVJlc3VsdCA9IHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhdHVzOiAnb2snLFxuICAgICAgICB0eXBlOiAnc3R5bGUnLFxuICAgICAgfTtcbiAgICAgIHRoaXMuY2FjaGVkW3BhdGhdID0gaXRlbTtcbiAgICAgIHJlc29sdmUoaXRlbSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/ng-util-lazy.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: ng-util-lazy.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
1
|
/**
|
|
7
2
|
* Generated bundle index. Do not edit.
|
|
8
3
|
*/
|
|
9
|
-
export
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdXRpbC1sYXp5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbGF6eS9uZy11dGlsLWxhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2015/public-api.js
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Generated from: public-api.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
export { NuLazyService } from './lazy.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXp5LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhCQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXp5LnNlcnZpY2UnO1xuIl19
|
|
1
|
+
export * from './lazy.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xhenkvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXp5LnNlcnZpY2UnO1xuIl19
|