@coolon/angular-ui-powerups 0.0.44 → 0.0.46
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/coolon-angular-ui-powerups.umd.js +545 -218
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +2 -2
- package/esm2015/index.js +2 -2
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +17 -12
- package/esm2015/lib/place/guards/place-route.guard.js +4 -4
- package/esm2015/lib/place/index.js +1 -2
- package/esm2015/lib/place/place-component.js +2 -2
- package/esm2015/lib/place/place-history.js +29 -6
- package/esm2015/lib/place/place-router.js +38 -23
- package/esm2015/lib/place/route/parameter-decorators.js +1 -1
- package/esm2015/lib/place/route/parameter-definition.class.js +92 -9
- package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
- package/esm2015/lib/place/route/parameter-snapshot.js +221 -23
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +2 -2
- package/esm2015/lib/place/visit.js +3 -3
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +2 -2
- package/esm5/index.js +2 -2
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +17 -12
- package/esm5/lib/place/guards/place-route.guard.js +4 -4
- package/esm5/lib/place/index.js +1 -2
- package/esm5/lib/place/place-component.js +2 -2
- package/esm5/lib/place/place-history.js +39 -6
- package/esm5/lib/place/place-router.js +45 -28
- package/esm5/lib/place/route/parameter-decorators.js +1 -1
- package/esm5/lib/place/route/parameter-definition.class.js +104 -9
- package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
- package/esm5/lib/place/route/parameter-snapshot.js +276 -23
- package/esm5/lib/place/route/route-parameter-sanitiser.js +2 -2
- package/esm5/lib/place/visit.js +3 -3
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +453 -198
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +547 -219
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +0 -1
- package/lib/place/index.d.ts +0 -1
- package/lib/place/place-history.d.ts +3 -0
- package/lib/place/place-router.d.ts +4 -3
- package/lib/place/route/parameter-definition.class.d.ts +12 -2
- package/lib/place/route/parameter-sanitiser.d.ts +3 -2
- package/lib/place/route/parameter-snapshot.d.ts +11 -8
- package/lib/place/visit.d.ts +2 -2
- package/package.json +1 -1
- package/esm2015/lib/place/route/default-parameter-sanitiser.js +0 -66
- package/esm5/lib/place/route/default-parameter-sanitiser.js +0 -73
- package/lib/place/route/default-parameter-sanitiser.d.ts +0 -11
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Injector } from '@angular/core';
|
|
7
|
+
import { Trace } from '@coolon/pectin';
|
|
6
8
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
7
9
|
import _ from 'lodash';
|
|
8
10
|
import { ParameterDefinition } from './parameter-definition.class';
|
|
@@ -13,24 +15,31 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* @param {?} other
|
|
18
|
+
* @param {?=} debug
|
|
16
19
|
* @return {?}
|
|
17
20
|
*/
|
|
18
21
|
ParameterSnapshot.prototype.hasChanged = /**
|
|
19
22
|
* @param {?} other
|
|
23
|
+
* @param {?=} debug
|
|
20
24
|
* @return {?}
|
|
21
25
|
*/
|
|
22
|
-
function (other) {
|
|
26
|
+
function (other, debug) {
|
|
27
|
+
if (debug === void 0) { debug = false; }
|
|
23
28
|
/** @type {?} */
|
|
24
29
|
var changed = this.resolved.find((/**
|
|
25
30
|
* @param {?} r
|
|
26
31
|
* @return {?}
|
|
27
32
|
*/
|
|
28
33
|
function (r) {
|
|
29
|
-
return !r.isSame(other.
|
|
34
|
+
return !r.isSame(other.getValueOf(r.parameterDef));
|
|
30
35
|
}));
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
if (changed && debug) {
|
|
37
|
+
console.log({
|
|
38
|
+
name: changed.parameterDef.name,
|
|
39
|
+
mine: changed.value,
|
|
40
|
+
theirs: other.getValueOf(changed.parameterDef)
|
|
41
|
+
});
|
|
42
|
+
}
|
|
34
43
|
return !!changed;
|
|
35
44
|
};
|
|
36
45
|
/**
|
|
@@ -38,7 +47,7 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
38
47
|
* @param {?} parameterDef
|
|
39
48
|
* @return {?}
|
|
40
49
|
*/
|
|
41
|
-
ParameterSnapshot.prototype.
|
|
50
|
+
ParameterSnapshot.prototype.getParameter = /**
|
|
42
51
|
* @template T, S
|
|
43
52
|
* @param {?} parameterDef
|
|
44
53
|
* @return {?}
|
|
@@ -55,30 +64,30 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
55
64
|
* @param {?} parameterDef
|
|
56
65
|
* @return {?}
|
|
57
66
|
*/
|
|
58
|
-
ParameterSnapshot.prototype.
|
|
67
|
+
ParameterSnapshot.prototype.getValueOf = /**
|
|
59
68
|
* @template T, S
|
|
60
69
|
* @param {?} parameterDef
|
|
61
70
|
* @return {?}
|
|
62
71
|
*/
|
|
63
72
|
function (parameterDef) {
|
|
64
73
|
/** @type {?} */
|
|
65
|
-
var resolvedParameter = this.
|
|
74
|
+
var resolvedParameter = this.getParameter(parameterDef);
|
|
66
75
|
return resolvedParameter ? resolvedParameter.value : null;
|
|
67
76
|
};
|
|
68
77
|
/**
|
|
69
78
|
* @return {?}
|
|
70
79
|
*/
|
|
71
|
-
ParameterSnapshot.prototype.
|
|
80
|
+
ParameterSnapshot.prototype.getRouteIdValue = /**
|
|
72
81
|
* @return {?}
|
|
73
82
|
*/
|
|
74
83
|
function () {
|
|
75
|
-
return this.
|
|
84
|
+
return this.getRouteIdParameter() ? this.getRouteIdParameter().value : null;
|
|
76
85
|
};
|
|
77
86
|
/**
|
|
78
87
|
* @param {?} name
|
|
79
88
|
* @return {?}
|
|
80
89
|
*/
|
|
81
|
-
ParameterSnapshot.prototype.
|
|
90
|
+
ParameterSnapshot.prototype.getParameterValue = /**
|
|
82
91
|
* @param {?} name
|
|
83
92
|
* @return {?}
|
|
84
93
|
*/
|
|
@@ -95,7 +104,7 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
95
104
|
* @private
|
|
96
105
|
* @return {?}
|
|
97
106
|
*/
|
|
98
|
-
ParameterSnapshot.prototype.
|
|
107
|
+
ParameterSnapshot.prototype.getRouteIdParameter = /**
|
|
99
108
|
* @private
|
|
100
109
|
* @return {?}
|
|
101
110
|
*/
|
|
@@ -108,6 +117,21 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
108
117
|
*/
|
|
109
118
|
function (p) { return p.parameterDef.isRouteId; }))));
|
|
110
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* @private
|
|
122
|
+
* @return {?}
|
|
123
|
+
*/
|
|
124
|
+
ParameterSnapshot.prototype.getRouteParameters = /**
|
|
125
|
+
* @private
|
|
126
|
+
* @return {?}
|
|
127
|
+
*/
|
|
128
|
+
function () {
|
|
129
|
+
return this.resolved.filter((/**
|
|
130
|
+
* @param {?} r
|
|
131
|
+
* @return {?}
|
|
132
|
+
*/
|
|
133
|
+
function (r) { return !r.parameterDef.isRouteId; }));
|
|
134
|
+
};
|
|
111
135
|
/**
|
|
112
136
|
* @return {?}
|
|
113
137
|
*/
|
|
@@ -115,7 +139,7 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
115
139
|
* @return {?}
|
|
116
140
|
*/
|
|
117
141
|
function () {
|
|
118
|
-
return !!this.
|
|
142
|
+
return !!this.getRouteIdParameter();
|
|
119
143
|
};
|
|
120
144
|
/**
|
|
121
145
|
* @return {?}
|
|
@@ -125,7 +149,7 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
125
149
|
*/
|
|
126
150
|
function () {
|
|
127
151
|
/** @type {?} */
|
|
128
|
-
var routeIdParam = this.
|
|
152
|
+
var routeIdParam = this.getRouteIdParameter();
|
|
129
153
|
return routeIdParam ? routeIdParam.formattedValue() : null;
|
|
130
154
|
};
|
|
131
155
|
/**
|
|
@@ -151,6 +175,25 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
151
175
|
}));
|
|
152
176
|
return params;
|
|
153
177
|
};
|
|
178
|
+
/**
|
|
179
|
+
* @return {?}
|
|
180
|
+
*/
|
|
181
|
+
ParameterSnapshot.prototype.getAllFormattedParameters = /**
|
|
182
|
+
* @return {?}
|
|
183
|
+
*/
|
|
184
|
+
function () {
|
|
185
|
+
/** @type {?} */
|
|
186
|
+
var params = {};
|
|
187
|
+
/** @type {?} */
|
|
188
|
+
var routeIdParam = this.resolved.forEach((/**
|
|
189
|
+
* @param {?} p
|
|
190
|
+
* @return {?}
|
|
191
|
+
*/
|
|
192
|
+
function (p) {
|
|
193
|
+
params[p.parameterDef.name] = p.formattedValue();
|
|
194
|
+
}));
|
|
195
|
+
return params;
|
|
196
|
+
};
|
|
154
197
|
/**
|
|
155
198
|
* @template T, S
|
|
156
199
|
* @param {?} parameter
|
|
@@ -182,8 +225,40 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
182
225
|
*/
|
|
183
226
|
function (injector) {
|
|
184
227
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
228
|
+
var routeId, sanitisedValue, result, routeParameters, i, sanitisedValue;
|
|
185
229
|
return tslib_1.__generator(this, function (_a) {
|
|
186
|
-
|
|
230
|
+
switch (_a.label) {
|
|
231
|
+
case 0:
|
|
232
|
+
if (!this.hasRouteId()) return [3 /*break*/, 2];
|
|
233
|
+
routeId = this.getRouteIdParameter();
|
|
234
|
+
return [4 /*yield*/, routeId.sanitise(this, injector)];
|
|
235
|
+
case 1:
|
|
236
|
+
sanitisedValue = _a.sent();
|
|
237
|
+
if (!routeId.isSame(sanitisedValue)) {
|
|
238
|
+
// if the route id has changed we redirect immediately as other
|
|
239
|
+
// parameter sanitisers might use it.
|
|
240
|
+
return [2 /*return*/, this.replace(routeId.parameterDef, sanitisedValue)];
|
|
241
|
+
}
|
|
242
|
+
_a.label = 2;
|
|
243
|
+
case 2:
|
|
244
|
+
result = this;
|
|
245
|
+
routeParameters = this.getRouteParameters();
|
|
246
|
+
i = 0;
|
|
247
|
+
_a.label = 3;
|
|
248
|
+
case 3:
|
|
249
|
+
if (!(i < routeParameters.length)) return [3 /*break*/, 6];
|
|
250
|
+
return [4 /*yield*/, routeParameters[i].sanitise(this, injector)];
|
|
251
|
+
case 4:
|
|
252
|
+
sanitisedValue = _a.sent();
|
|
253
|
+
if (!routeParameters[i].isSame(sanitisedValue)) {
|
|
254
|
+
result = this.replace(routeParameters[i].parameterDef, sanitisedValue);
|
|
255
|
+
}
|
|
256
|
+
_a.label = 5;
|
|
257
|
+
case 5:
|
|
258
|
+
i++;
|
|
259
|
+
return [3 /*break*/, 3];
|
|
260
|
+
case 6: return [2 /*return*/, result];
|
|
261
|
+
}
|
|
187
262
|
});
|
|
188
263
|
});
|
|
189
264
|
};
|
|
@@ -193,25 +268,37 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
193
268
|
tslib_1.__metadata("design:type", Function),
|
|
194
269
|
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
195
270
|
tslib_1.__metadata("design:returntype", ParameterSnapshot.ResolvedParameter)
|
|
196
|
-
], ParameterSnapshot.prototype, "
|
|
271
|
+
], ParameterSnapshot.prototype, "getParameter", null);
|
|
197
272
|
tslib_1.__decorate([
|
|
198
273
|
Memoize(),
|
|
199
274
|
tslib_1.__metadata("design:type", Function),
|
|
200
275
|
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
201
276
|
tslib_1.__metadata("design:returntype", typeof (_a = typeof S !== "undefined" && S) === "function" ? _a : Object)
|
|
202
|
-
], ParameterSnapshot.prototype, "
|
|
277
|
+
], ParameterSnapshot.prototype, "getValueOf", null);
|
|
203
278
|
tslib_1.__decorate([
|
|
204
279
|
Memoize(),
|
|
205
280
|
tslib_1.__metadata("design:type", Function),
|
|
206
281
|
tslib_1.__metadata("design:paramtypes", [String]),
|
|
207
282
|
tslib_1.__metadata("design:returntype", Object)
|
|
208
|
-
], ParameterSnapshot.prototype, "
|
|
283
|
+
], ParameterSnapshot.prototype, "getParameterValue", null);
|
|
209
284
|
tslib_1.__decorate([
|
|
210
285
|
Memoize(),
|
|
211
286
|
tslib_1.__metadata("design:type", Function),
|
|
212
287
|
tslib_1.__metadata("design:paramtypes", []),
|
|
213
288
|
tslib_1.__metadata("design:returntype", ParameterSnapshot.ResolvedValueParameter)
|
|
214
|
-
], ParameterSnapshot.prototype, "
|
|
289
|
+
], ParameterSnapshot.prototype, "getRouteIdParameter", null);
|
|
290
|
+
tslib_1.__decorate([
|
|
291
|
+
Memoize(),
|
|
292
|
+
tslib_1.__metadata("design:type", Function),
|
|
293
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
294
|
+
tslib_1.__metadata("design:returntype", Array)
|
|
295
|
+
], ParameterSnapshot.prototype, "getRouteParameters", null);
|
|
296
|
+
tslib_1.__decorate([
|
|
297
|
+
Trace(),
|
|
298
|
+
tslib_1.__metadata("design:type", Function),
|
|
299
|
+
tslib_1.__metadata("design:paramtypes", [Injector]),
|
|
300
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
301
|
+
], ParameterSnapshot.prototype, "sanitise", null);
|
|
215
302
|
return ParameterSnapshot;
|
|
216
303
|
}());
|
|
217
304
|
export { ParameterSnapshot };
|
|
@@ -227,10 +314,13 @@ if (false) {
|
|
|
227
314
|
(function (ParameterSnapshot) {
|
|
228
315
|
/**
|
|
229
316
|
* @param {?} placeDef
|
|
230
|
-
* @param {?}
|
|
317
|
+
* @param {?} params
|
|
318
|
+
* @param {?} urlSegments
|
|
231
319
|
* @return {?}
|
|
232
320
|
*/
|
|
233
|
-
function create(placeDef,
|
|
321
|
+
function create(placeDef, params, urlSegments) {
|
|
322
|
+
/** @type {?} */
|
|
323
|
+
var paramMap = new ConsolidatedParameterMap(params, urlSegments);
|
|
234
324
|
/** @type {?} */
|
|
235
325
|
var resolvedParameters = placeDef.getRouteParameters()
|
|
236
326
|
.map((/**
|
|
@@ -240,7 +330,11 @@ if (false) {
|
|
|
240
330
|
function (def) {
|
|
241
331
|
if (def.isArray) {
|
|
242
332
|
/** @type {?} */
|
|
243
|
-
var value = paramMap.has(def.name) ? paramMap.getAll(def.name).
|
|
333
|
+
var value = paramMap.has(def.name) ? paramMap.getAll(def.name).filter((/**
|
|
334
|
+
* @param {?} s
|
|
335
|
+
* @return {?}
|
|
336
|
+
*/
|
|
337
|
+
function (s) { return !_.isEmpty(s); })).map((/**
|
|
244
338
|
* @param {?} raw
|
|
245
339
|
* @return {?}
|
|
246
340
|
*/
|
|
@@ -256,6 +350,140 @@ if (false) {
|
|
|
256
350
|
return new ParameterSnapshot(placeDef, resolvedParameters);
|
|
257
351
|
}
|
|
258
352
|
ParameterSnapshot.create = create;
|
|
353
|
+
/**
|
|
354
|
+
* This a work around for the fact that an activated route with multiple segments doesn't
|
|
355
|
+
* include the segment params in the paramMap as well as each segment returns an empty
|
|
356
|
+
* param map even when `parameter`s has content.
|
|
357
|
+
*/
|
|
358
|
+
var /**
|
|
359
|
+
* This a work around for the fact that an activated route with multiple segments doesn't
|
|
360
|
+
* include the segment params in the paramMap as well as each segment returns an empty
|
|
361
|
+
* param map even when `parameter`s has content.
|
|
362
|
+
*/
|
|
363
|
+
ConsolidatedParameterMap = /** @class */ (function () {
|
|
364
|
+
function ConsolidatedParameterMap(paramMap, urlSegments) {
|
|
365
|
+
this.paramMaps = [paramMap].concat((urlSegments || []).map((/**
|
|
366
|
+
* @param {?} s
|
|
367
|
+
* @return {?}
|
|
368
|
+
*/
|
|
369
|
+
function (s) { return new ParamMapAdapter(s.parameters); }))).filter((/**
|
|
370
|
+
* @param {?} m
|
|
371
|
+
* @return {?}
|
|
372
|
+
*/
|
|
373
|
+
function (m) { return !!m; })); // the activated route param map can be null
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* @param {?} name
|
|
377
|
+
* @return {?}
|
|
378
|
+
*/
|
|
379
|
+
ConsolidatedParameterMap.prototype.get = /**
|
|
380
|
+
* @param {?} name
|
|
381
|
+
* @return {?}
|
|
382
|
+
*/
|
|
383
|
+
function (name) {
|
|
384
|
+
return this.paramMaps.find((/**
|
|
385
|
+
* @param {?} m
|
|
386
|
+
* @return {?}
|
|
387
|
+
*/
|
|
388
|
+
function (m) { return m.has(name); })).get(name);
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* @param {?} name
|
|
392
|
+
* @return {?}
|
|
393
|
+
*/
|
|
394
|
+
ConsolidatedParameterMap.prototype.getAll = /**
|
|
395
|
+
* @param {?} name
|
|
396
|
+
* @return {?}
|
|
397
|
+
*/
|
|
398
|
+
function (name) {
|
|
399
|
+
return this.paramMaps.find((/**
|
|
400
|
+
* @param {?} m
|
|
401
|
+
* @return {?}
|
|
402
|
+
*/
|
|
403
|
+
function (m) { return m.has(name); })).getAll(name);
|
|
404
|
+
};
|
|
405
|
+
/**
|
|
406
|
+
* @param {?} name
|
|
407
|
+
* @return {?}
|
|
408
|
+
*/
|
|
409
|
+
ConsolidatedParameterMap.prototype.has = /**
|
|
410
|
+
* @param {?} name
|
|
411
|
+
* @return {?}
|
|
412
|
+
*/
|
|
413
|
+
function (name) {
|
|
414
|
+
return !!this.paramMaps.find((/**
|
|
415
|
+
* @param {?} m
|
|
416
|
+
* @return {?}
|
|
417
|
+
*/
|
|
418
|
+
function (m) { return m.has(name); }));
|
|
419
|
+
};
|
|
420
|
+
return ConsolidatedParameterMap;
|
|
421
|
+
}());
|
|
422
|
+
if (false) {
|
|
423
|
+
/**
|
|
424
|
+
* @type {?}
|
|
425
|
+
* @private
|
|
426
|
+
*/
|
|
427
|
+
ConsolidatedParameterMap.prototype.paramMaps;
|
|
428
|
+
}
|
|
429
|
+
var ParamMapAdapter = /** @class */ (function () {
|
|
430
|
+
function ParamMapAdapter(params) {
|
|
431
|
+
this.params = params;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* @param {?} name
|
|
435
|
+
* @return {?}
|
|
436
|
+
*/
|
|
437
|
+
ParamMapAdapter.prototype.get = /**
|
|
438
|
+
* @param {?} name
|
|
439
|
+
* @return {?}
|
|
440
|
+
*/
|
|
441
|
+
function (name) {
|
|
442
|
+
return this.params[name];
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* @param {?} name
|
|
446
|
+
* @return {?}
|
|
447
|
+
*/
|
|
448
|
+
ParamMapAdapter.prototype.getAll = /**
|
|
449
|
+
* @param {?} name
|
|
450
|
+
* @return {?}
|
|
451
|
+
*/
|
|
452
|
+
function (name) {
|
|
453
|
+
/** @type {?} */
|
|
454
|
+
var value = this.get(name);
|
|
455
|
+
return Array.isArray(value) ? value : [value];
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* @param {?} name
|
|
459
|
+
* @return {?}
|
|
460
|
+
*/
|
|
461
|
+
ParamMapAdapter.prototype.has = /**
|
|
462
|
+
* @param {?} name
|
|
463
|
+
* @return {?}
|
|
464
|
+
*/
|
|
465
|
+
function (name) {
|
|
466
|
+
return this.keys.includes(name);
|
|
467
|
+
};
|
|
468
|
+
Object.defineProperty(ParamMapAdapter.prototype, "keys", {
|
|
469
|
+
get: /**
|
|
470
|
+
* @return {?}
|
|
471
|
+
*/
|
|
472
|
+
function () {
|
|
473
|
+
return Object.keys(this.params);
|
|
474
|
+
},
|
|
475
|
+
enumerable: true,
|
|
476
|
+
configurable: true
|
|
477
|
+
});
|
|
478
|
+
return ParamMapAdapter;
|
|
479
|
+
}());
|
|
480
|
+
if (false) {
|
|
481
|
+
/**
|
|
482
|
+
* @type {?}
|
|
483
|
+
* @private
|
|
484
|
+
*/
|
|
485
|
+
ParamMapAdapter.prototype.params;
|
|
486
|
+
}
|
|
259
487
|
/**
|
|
260
488
|
* @abstract
|
|
261
489
|
* @template T, S
|
|
@@ -278,6 +506,31 @@ if (false) {
|
|
|
278
506
|
function () {
|
|
279
507
|
return this.parameterDef.isRouteId;
|
|
280
508
|
};
|
|
509
|
+
/**
|
|
510
|
+
* @param {?} visit
|
|
511
|
+
* @param {?} injector
|
|
512
|
+
* @return {?}
|
|
513
|
+
*/
|
|
514
|
+
ResolvedParameter.prototype.sanitise = /**
|
|
515
|
+
* @param {?} visit
|
|
516
|
+
* @param {?} injector
|
|
517
|
+
* @return {?}
|
|
518
|
+
*/
|
|
519
|
+
function (visit, injector) {
|
|
520
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
521
|
+
var sanitiser;
|
|
522
|
+
return tslib_1.__generator(this, function (_a) {
|
|
523
|
+
sanitiser = this.parameterDef.getSanitiser(injector);
|
|
524
|
+
if (sanitiser) {
|
|
525
|
+
return [2 /*return*/, sanitiser.sanitise(this.parameterDef, this.value, visit)];
|
|
526
|
+
}
|
|
527
|
+
else {
|
|
528
|
+
return [2 /*return*/, this.value];
|
|
529
|
+
}
|
|
530
|
+
return [2 /*return*/];
|
|
531
|
+
});
|
|
532
|
+
});
|
|
533
|
+
};
|
|
281
534
|
return ResolvedParameter;
|
|
282
535
|
}());
|
|
283
536
|
ParameterSnapshot.ResolvedParameter = ResolvedParameter;
|
|
@@ -433,4 +686,4 @@ if (false) {
|
|
|
433
686
|
}(ResolvedParameter));
|
|
434
687
|
ParameterSnapshot.ResolvedArrayParameter = ResolvedArrayParameter;
|
|
435
688
|
})(ParameterSnapshot || (ParameterSnapshot = {}));
|
|
436
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkU7SUFFRSwyQkFBcUIsZUFBZ0MsRUFBbUIsUUFBeUQ7UUFBNUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQWlEO0lBQ2pJLENBQUM7Ozs7O0lBRUQsc0NBQVU7Ozs7SUFBVixVQUFXLEtBQXdCOztZQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLEVBQUM7UUFDRixpQkFBaUI7UUFDakIsOEZBQThGO1FBQzlGLElBQUk7UUFDSixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkIsQ0FBQzs7Ozs7O0lBR0QsZ0RBQW9COzs7OztJQUFwQixVQUEyQixZQUF1QztRQUNoRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFlBQVksS0FBSyxZQUFZLEVBQS9CLENBQStCLEVBQUMsQ0FBQztJQUNsRSxDQUFDOzs7Ozs7SUFHRCxxREFBeUI7Ozs7O0lBQXpCLFVBQWdDLFlBQXVDOztZQUMvRCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JB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IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbU1hcCwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhc3NlcnQsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvci9kaXN0L3NyYyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlclNuYXBzaG90IGltcGxlbWVudHMgVmlzaXQge1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLCBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxhbnksIGFueT5bXSkge1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvdGhlcjogUGFyYW1ldGVyU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5yZXNvbHZlZC5maW5kKChyKSA9PiB7XG4gICAgICByZXR1cm4gIXIuaXNTYW1lKG90aGVyLmdldFJlc29sdmVkUGFyYW1ldGVyVmFsdWUoci5wYXJhbWV0ZXJEZWYpKTtcbiAgICB9KTtcbiAgICAvLyBpZiAoY2hhbmdlZCkge1xuICAgIC8vICAgY29uc29sZS5sb2coeyBtaW5lOiBjaGFuZ2VkLCB0aGVpcnM6IG90aGVyLmdldFJlc29sdmVkUGFyYW1ldGVyKGNoYW5nZWQucGFyYW1ldGVyRGVmKSB9KTtcbiAgICAvLyB9XG4gICAgcmV0dXJuICEhY2hhbmdlZDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0UmVzb2x2ZWRQYXJhbWV0ZXI8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgUz4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkLmZpbmQociA9PiByLnBhcmFtZXRlckRlZiA9PT0gcGFyYW1ldGVyRGVmKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0UmVzb2x2ZWRQYXJhbWV0ZXJWYWx1ZTxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBTIHtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlciA9IHRoaXMuZ2V0UmVzb2x2ZWRQYXJhbWV0ZXIocGFyYW1ldGVyRGVmKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXJhbWV0ZXIgPyByZXNvbHZlZFBhcmFtZXRlci52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBnZXRSb3V0ZUlkKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb2x2ZWRSb3V0ZUlkKCkgPyB0aGlzLmdldFJlc29sdmVkUm91dGVJZCgpLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0Um91dGVQYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlciA9IHRoaXMucmVzb2x2ZWQuZmluZChyID0+IHIucGFyYW1ldGVyRGVmLm5hbWUgPT09IG5hbWUpO1xuICAgIHJldHVybiByZXNvbHZlZFBhcmFtZXRlciA/IHJlc29sdmVkUGFyYW1ldGVyLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRSZXNvbHZlZFJvdXRlSWQoKTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRWYWx1ZVBhcmFtZXRlcjxhbnk+IHtcbiAgICAvLyBSb3V0ZUlkJ3MgYXJlIG5ldmVyIGFycmF5czogc2VlIHBhcmFtZXRlci1kZWNvcmF0b3JzLnRzIGNyZWF0ZURlZmluaXRpb24gbWV0aG9kcy4gSXQgd291bGQgYmUgbmljZSB0b1xuICAgIC8vIGNhcHR1cmUgdGhpcyBpbiB0aGUgdHlwZSBzeXN0ZW0gdGhvdWdoXG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuZmluZChwID0+IHAucGFyYW1ldGVyRGVmLmlzUm91dGVJZCkgYXMgUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRWYWx1ZVBhcmFtZXRlcjxhbnk+O1xuICB9XG5cbiAgaGFzUm91dGVJZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFJlc29sdmVkUm91dGVJZCgpO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkUm91dGVJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMuZ2V0UmVzb2x2ZWRSb3V0ZUlkKCk7XG4gICAgcmV0dXJuIHJvdXRlSWRQYXJhbSA/IHJvdXRlSWRQYXJhbS5mb3JtYXR0ZWRWYWx1ZSgpIDogbnVsbDtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5yZXNvbHZlZC5maWx0ZXIocCA9PiAhcC5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkKS5mb3JFYWNoKHAgPT4ge1xuICAgICAgcGFyYW1zW3AucGFyYW1ldGVyRGVmLm5hbWVdID0gcC5mb3JtYXR0ZWRWYWx1ZSgpO1xuICAgIH0pO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICByZXBsYWNlPFQsIFM+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgdmFsdWU6IFMpOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTbmFwc2hvdCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgdGhpcy5yZXNvbHZlZC5tYXAocCA9PiB7XG4gICAgICByZXR1cm4gcC5wYXJhbWV0ZXJEZWYgPT09IHBhcmFtZXRlciA/IHAucmVwbGFjZSh2YWx1ZSkgOiBwO1xuICAgIH0pKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXNlKGluamVjdG9yOiBJbmplY3Rvcik6UHJvbWlzZTxQYXJhbWV0ZXJTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyU25hcHNob3Qge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGUocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbiwgcGFyYW1NYXA6IFBhcmFtTWFwKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyczogUmVzb2x2ZWRQYXJhbWV0ZXI8YW55LCBhbnk+W10gPSBwbGFjZURlZi5nZXRSb3V0ZVBhcmFtZXRlcnMoKVxuICAgICAgLm1hcChkZWYgPT4ge1xuICAgICAgICBpZiAoZGVmLmlzQXJyYXkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtTWFwLmhhcyhkZWYubmFtZSkgPyBwYXJhbU1hcC5nZXRBbGwoZGVmLm5hbWUpLm1hcChyYXcgPT4gZGVmLnR5cGUucGFyc2UocmF3KSkgOiBudWxsO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzb2x2ZWRBcnJheVBhcmFtZXRlcihkZWYsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtTWFwLmhhcyhkZWYubmFtZSkgPyBkZWYudHlwZS5wYXJzZShwYXJhbU1hcC5nZXQoZGVmLm5hbWUpKSA6IG51bGw7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNvbHZlZFZhbHVlUGFyYW1ldGVyKGRlZiwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHBsYWNlRGVmLCByZXNvbHZlZFBhcmFtZXRlcnMpO1xuICB9XG5cblxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgUyA9IFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHJlYWRvbmx5IHZhbHVlOiBTKSB7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgaW5qZWN0Um91dGVQYXJhbShkZXN0OiB7fSk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBpc1NhbWUob3RoZXJWYWx1ZTogUyk6IGJvb2xlYW47XG5cbiAgICBpc1JvdXRlSWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkO1xuICAgIH1cblxuICAgIGFic3RyYWN0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgYWJzdHJhY3QgcmVwbGFjZSh2YWx1ZTogUyk6IFJlc29sdmVkUGFyYW1ldGVyPFQsIFM+O1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFJlc29sdmVkVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBSZXNvbHZlZFBhcmFtZXRlcjxULCBUPiB7XG5cbiAgICBpc1NhbWUob3RoZXJWYWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG90aGVyVmFsdWU7XG4gICAgfVxuXG4gICAgaW5qZWN0Um91dGVQYXJhbShkZXN0OiB7fSk6IHZvaWQge1xuICAgICAgZGVzdFt0aGlzLnBhcmFtZXRlckRlZi5uYW1lXSA9IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHJlcGxhY2UodmFsdWU6IFQpOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxULCBUPiB7XG4gICAgICByZXR1cm4gbmV3IFJlc29sdmVkVmFsdWVQYXJhbWV0ZXI8VD4odGhpcy5wYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMudmFsdWUpID8gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodGhpcy52YWx1ZSkgOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBSZXNvbHZlZEFycmF5UGFyYW1ldGVyPFQ+IGV4dGVuZHMgUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgVFtdPiB7XG5cbiAgICBpc1NhbWUob3RoZXJWYWx1ZTogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gXy5pc0VxdWFsKHRoaXMudmFsdWUsIG90aGVyVmFsdWUpO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pOiB2b2lkIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnZhbHVlLm1hcCh2ID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHYpKTtcbiAgICB9XG5cbiAgICByZXBsYWNlKHZhbHVlOiBUW10pOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxULCBUW10+IHtcbiAgICAgIHJldHVybiBuZXcgUmVzb2x2ZWRBcnJheVBhcmFtZXRlcjxUPih0aGlzLnBhcmFtZXRlckRlZiwgdmFsdWUpO1xuICAgIH1cblxuICAgIGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5tYXAodiA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLmZvcm1hdCh2KSkgOiBbXTtcbiAgICB9XG5cbiAgfVxuXG59XG4iXX0=
|
|
689
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkU7SUFFRSwyQkFBcUIsZUFBZ0MsRUFBbUIsUUFBeUQ7UUFBNUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQWlEO0lBQ2pJLENBQUM7Ozs7OztJQUVELHNDQUFVOzs7OztJQUFWLFVBQVcsS0FBd0IsRUFBRSxLQUFhO1FBQWIsc0JBQUEsRUFBQSxhQUFhOztZQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxFQUFDO1FBQ0YsSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSTtnQkFDL0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQy9DLENB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QXpCLGlCQUVDO1lBREMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWhDLENBQWdDLEVBQUMsQ0FBQztRQUN2RixDQUFDOzs7OztRQUVELHdDQUFPOzs7O1FBQVAsVUFBUSxLQUFVO1lBQ2hCLE9BQU8sSUFBSSxzQkFBc0IsQ0FBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7Ozs7UUFFRCwrQ0FBYzs7O1FBQWQ7WUFBQSxpQkFFQztZQURDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWhDLENBQWdDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLENBQUM7UUFFSCw2QkFBQztJQUFELENBQUMsQUFsQkQsQ0FBK0MsaUJBQWlCLEdBa0IvRDtJQWxCWSx3Q0FBc0IseUJBa0JsQyxDQUFBO0FBRUgsQ0FBQyxFQXRJZ0IsaUJBQWlCLEtBQWpCLGlCQUFpQixRQXNJakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUGFyYW1NYXAsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yL2Rpc3Qvc3JjJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyU25hcHNob3QgaW1wbGVtZW50cyBWaXNpdCB7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZWQ6IFBhcmFtZXRlclNuYXBzaG90LlJlc29sdmVkUGFyYW1ldGVyPGFueSwgYW55PltdKSB7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG90aGVyOiBQYXJhbWV0ZXJTbmFwc2hvdCwgZGVidWcgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLnJlc29sdmVkLmZpbmQoKHIpID0+IHtcbiAgICAgIHJldHVybiAhci5pc1NhbWUob3RoZXIuZ2V0VmFsdWVPZihyLnBhcmFtZXRlckRlZikpO1xuICAgIH0pO1xuICAgIGlmIChjaGFuZ2VkICYmIGRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyh7XG4gICAgICAgIG5hbWU6IGNoYW5nZWQucGFyYW1ldGVyRGVmLm5hbWUsXG4gICAgICAgIG1pbmU6IGNoYW5nZWQudmFsdWUsXG4gICAgICAgIHRoZWlyczogb3RoZXIuZ2V0VmFsdWVPZihjaGFuZ2VkLnBhcmFtZXRlckRlZilcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gISFjaGFuZ2VkO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRQYXJhbWV0ZXI8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgUz4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkLmZpbmQociA9PiByLnBhcmFtZXRlckRlZiA9PT0gcGFyYW1ldGVyRGVmKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0VmFsdWVPZjxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBTIHtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlciA9IHRoaXMuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZik7XG4gICAgcmV0dXJuIHJlc29sdmVkUGFyYW1ldGVyID8gcmVzb2x2ZWRQYXJhbWV0ZXIudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgZ2V0Um91dGVJZFZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpID8gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCkudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRQYXJhbWV0ZXJWYWx1ZShuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5yZXNvbHZlZC5maW5kKHIgPT4gci5wYXJhbWV0ZXJEZWYubmFtZSA9PT0gbmFtZSk7XG4gICAgcmV0dXJuIHJlc29sdmVkUGFyYW1ldGVyID8gcmVzb2x2ZWRQYXJhbWV0ZXIudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFJvdXRlSWRQYXJhbWV0ZXIoKTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRWYWx1ZVBhcmFtZXRlcjxhbnk+IHtcbiAgICAvLyBSb3V0ZUlkJ3MgYXJlIG5ldmVyIGFycmF5czogc2VlIHBhcmFtZXRlci1kZWNvcmF0b3JzLnRzIGNyZWF0ZURlZmluaXRpb24gbWV0aG9kcy4gSXQgd291bGQgYmUgbmljZSB0b1xuICAgIC8vIGNhcHR1cmUgdGhpcyBpbiB0aGUgdHlwZSBzeXN0ZW0gdGhvdWdoXG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuZmluZChwID0+IHAucGFyYW1ldGVyRGVmLmlzUm91dGVJZCkgYXMgUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRWYWx1ZVBhcmFtZXRlcjxhbnk+O1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFJvdXRlUGFyYW1ldGVycygpOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxhbnksIGFueT5bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuZmlsdGVyKHIgPT4gIXIucGFyYW1ldGVyRGVmLmlzUm91dGVJZCk7XG4gIH1cblxuXG4gIGhhc1JvdXRlSWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgcmV0dXJuIHJvdXRlSWRQYXJhbSA/IHJvdXRlSWRQYXJhbS5mb3JtYXR0ZWRWYWx1ZSgpIDogbnVsbDtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5yZXNvbHZlZC5maWx0ZXIocCA9PiAhcC5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkKS5mb3JFYWNoKHAgPT4ge1xuICAgICAgcGFyYW1zW3AucGFyYW1ldGVyRGVmLm5hbWVdID0gcC5mb3JtYXR0ZWRWYWx1ZSgpO1xuICAgIH0pO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBnZXRBbGxGb3JtYXR0ZWRQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMucmVzb2x2ZWQuZm9yRWFjaChwID0+IHtcbiAgICAgIHBhcmFtc1twLnBhcmFtZXRlckRlZi5uYW1lXSA9IHAuZm9ybWF0dGVkVmFsdWUoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmVwbGFjZTxULCBTPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHZhbHVlOiBTKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU25hcHNob3QodGhpcy5wbGFjZURlZmluaXRpb24sIHRoaXMucmVzb2x2ZWQubWFwKHAgPT4ge1xuICAgICAgcmV0dXJuIHAucGFyYW1ldGVyRGVmID09PSBwYXJhbWV0ZXIgPyBwLnJlcGxhY2UodmFsdWUpIDogcDtcbiAgICB9KSk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBhc3luYyBzYW5pdGlzZShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPFBhcmFtZXRlclNuYXBzaG90PiB7XG4gICAgaWYgKHRoaXMuaGFzUm91dGVJZCgpKSB7XG4gICAgICBjb25zdCByb3V0ZUlkID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgICBjb25zdCBzYW5pdGlzZWRWYWx1ZSA9IGF3YWl0IHJvdXRlSWQuc2FuaXRpc2UodGhpcywgaW5qZWN0b3IpO1xuICAgICAgaWYgKCFyb3V0ZUlkLmlzU2FtZShzYW5pdGlzZWRWYWx1ZSkpIHtcbiAgICAgICAgLy8gaWYgdGhlIHJvdXRlIGlkIGhhcyBjaGFuZ2VkIHdlIHJlZGlyZWN0IGltbWVkaWF0ZWx5IGFzIG90aGVyXG4gICAgICAgIC8vIHBhcmFtZXRlciBzYW5pdGlzZXJzIG1pZ2h0IHVzZSBpdC5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVwbGFjZShyb3V0ZUlkLnBhcmFtZXRlckRlZiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBQYXJhbWV0ZXJTbmFwc2hvdCA9IHRoaXM7XG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJzID0gdGhpcy5nZXRSb3V0ZVBhcmFtZXRlcnMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlUGFyYW1ldGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZVBhcmFtZXRlcnNbaV0uc2FuaXRpc2UodGhpcywgaW5qZWN0b3IpO1xuICAgICAgaWYgKCFyb3V0ZVBhcmFtZXRlcnNbaV0uaXNTYW1lKHNhbml0aXNlZFZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSB0aGlzLnJlcGxhY2Uocm91dGVQYXJhbWV0ZXJzW2ldLnBhcmFtZXRlckRlZiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTbmFwc2hvdCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uLCBwYXJhbXM6IFBhcmFtTWFwLCB1cmxTZWdtZW50czpVcmxTZWdtZW50W10pOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgY29uc3QgcGFyYW1NYXAgPSBuZXcgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwKHBhcmFtcywgdXJsU2VnbWVudHMpO1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyczogUmVzb2x2ZWRQYXJhbWV0ZXI8YW55LCBhbnk+W10gPSBwbGFjZURlZi5nZXRSb3V0ZVBhcmFtZXRlcnMoKVxuICAgICAgLm1hcChkZWYgPT4ge1xuICAgICAgICBpZiAoZGVmLmlzQXJyYXkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtTWFwLmhhcyhkZWYubmFtZSkgPyBwYXJhbU1hcC5nZXRBbGwoZGVmLm5hbWUpLmZpbHRlcihzID0+ICFfLmlzRW1wdHkocykpLm1hcChyYXcgPT4gZGVmLnR5cGUucGFyc2UocmF3KSkgOiBudWxsO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzb2x2ZWRBcnJheVBhcmFtZXRlcihkZWYsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtTWFwLmhhcyhkZWYubmFtZSkgPyBkZWYudHlwZS5wYXJzZShwYXJhbU1hcC5nZXQoZGVmLm5hbWUpKSA6IG51bGw7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNvbHZlZFZhbHVlUGFyYW1ldGVyKGRlZiwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHBsYWNlRGVmLCByZXNvbHZlZFBhcmFtZXRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgYSB3b3JrIGFyb3VuZCBmb3IgdGhlIGZhY3QgdGhhdCBhbiBhY3RpdmF0ZWQgcm91dGUgd2l0aCBtdWx0aXBsZSBzZWdtZW50cyBkb2Vzbid0XG4gICAqIGluY2x1ZGUgdGhlIHNlZ21lbnQgcGFyYW1zIGluIHRoZSBwYXJhbU1hcCBhcyB3ZWxsIGFzIGVhY2ggc2VnbWVudCByZXR1cm5zIGFuIGVtcHR5XG4gICAqIHBhcmFtIG1hcCBldmVuIHdoZW4gYHBhcmFtZXRlcmBzIGhhcyBjb250ZW50LlxuICAgKi9cbiAgY2xhc3MgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIHtcblxuICAgIHByaXZhdGUgcGFyYW1NYXBzOiBQYXJhbU1hcFtdO1xuXG4gICAgY29uc3RydWN0b3IocGFyYW1NYXA6UGFyYW1NYXAsIHVybFNlZ21lbnRzOlVybFNlZ21lbnRbXSkge1xuICAgICAgdGhpcy5wYXJhbU1hcHMgPSBbcGFyYW1NYXBdLmNvbmNhdChcbiAgICAgICAgKHVybFNlZ21lbnRzIHx8IFtdKS5tYXAocyA9PiBuZXcgUGFyYW1NYXBBZGFwdGVyKHMucGFyYW1ldGVycykpXG4gICAgICApLmZpbHRlcihtID0+ICEhbSk7IC8vIHRoZSBhY3RpdmF0ZWQgcm91dGUgcGFyYW0gbWFwIGNhbiBiZSBudWxsXG4gICAgfVxuXG4gICAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSkuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIGdldEFsbChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKS5nZXRBbGwobmFtZSk7XG4gICAgfVxuXG4gICAgaGFzKG5hbWU6c3RyaW5nKTpib29sZWFuIHtcbiAgICAgIHJldHVybiAhIXRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSk7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgUGFyYW1NYXBBZGFwdGVyIGltcGxlbWVudHMgUGFyYW1NYXAge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIH1cblxuICAgIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtc1tuYW1lXTtcbiAgICB9XG5cbiAgICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChuYW1lKTtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICB9XG5cbiAgICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5rZXlzLmluY2x1ZGVzKG5hbWUpO1xuICAgIH1cblxuICAgIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBhcmFtcyk7XG4gICAgfVxuXG4gIH1cblxuXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNvbHZlZFBhcmFtZXRlcjxULCBTID0gVD4ge1xuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgcmVhZG9ubHkgdmFsdWU6IFMpIHtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KTogdm9pZDtcblxuICAgIGFic3RyYWN0IGlzU2FtZShvdGhlclZhbHVlOiBTKTogYm9vbGVhbjtcblxuICAgIGlzUm91dGVJZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckRlZi5pc1JvdXRlSWQ7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICBhYnN0cmFjdCByZXBsYWNlKHZhbHVlOiBTKTogUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgUz47XG5cbiAgICBhc3luYyBzYW5pdGlzZSh2aXNpdDogVmlzaXQsIGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8Uz4ge1xuICAgICAgY29uc3Qgc2FuaXRpc2VyID0gdGhpcy5wYXJhbWV0ZXJEZWYuZ2V0U2FuaXRpc2VyKGluamVjdG9yKTtcbiAgICAgIGlmIChzYW5pdGlzZXIpIHtcbiAgICAgICAgcmV0dXJuIHNhbml0aXNlci5zYW5pdGlzZSh0aGlzLnBhcmFtZXRlckRlZiwgdGhpcy52YWx1ZSwgdmlzaXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFJlc29sdmVkVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBSZXNvbHZlZFBhcmFtZXRlcjxULCBUPiB7XG5cbiAgICBpc1NhbWUob3RoZXJWYWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG90aGVyVmFsdWU7XG4gICAgfVxuXG4gICAgaW5qZWN0Um91dGVQYXJhbShkZXN0OiB7fSk6IHZvaWQge1xuICAgICAgZGVzdFt0aGlzLnBhcmFtZXRlckRlZi5uYW1lXSA9IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHJlcGxhY2UodmFsdWU6IFQpOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxULCBUPiB7XG4gICAgICByZXR1cm4gbmV3IFJlc29sdmVkVmFsdWVQYXJhbWV0ZXI8VD4odGhpcy5wYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMudmFsdWUpID8gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodGhpcy52YWx1ZSkgOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBSZXNvbHZlZEFycmF5UGFyYW1ldGVyPFQ+IGV4dGVuZHMgUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgVFtdPiB7XG5cbiAgICBpc1NhbWUob3RoZXJWYWx1ZTogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gXy5pc0VxdWFsKHRoaXMudmFsdWUsIG90aGVyVmFsdWUpO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pOiB2b2lkIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnZhbHVlLm1hcCh2ID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHYpKTtcbiAgICB9XG5cbiAgICByZXBsYWNlKHZhbHVlOiBUW10pOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxULCBUW10+IHtcbiAgICAgIHJldHVybiBuZXcgUmVzb2x2ZWRBcnJheVBhcmFtZXRlcjxUPih0aGlzLnBhcmFtZXRlckRlZiwgdmFsdWUpO1xuICAgIH1cblxuICAgIGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5tYXAodiA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLmZvcm1hdCh2KSkgOiBbXTtcbiAgICB9XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -102,7 +102,7 @@ Sanitiser = /** @class */ (function () {
|
|
|
102
102
|
if (!this.sanitiser) return [3 /*break*/, 2];
|
|
103
103
|
this.initialValue = this.readFrom(this.snapshot);
|
|
104
104
|
_a = this;
|
|
105
|
-
return [4 /*yield*/, this.sanitiser.sanitise(this.initialValue)];
|
|
105
|
+
return [4 /*yield*/, this.sanitiser.sanitise(null, this.initialValue)];
|
|
106
106
|
case 1:
|
|
107
107
|
_a._sanitisedValue = _b.sent();
|
|
108
108
|
if (this.initialValue !== this._sanitisedValue) {
|
|
@@ -434,4 +434,4 @@ if (false) {
|
|
|
434
434
|
}(Sanitiser));
|
|
435
435
|
Sanitiser.Array = Array;
|
|
436
436
|
})(Sanitiser || (Sanitiser = {}));
|
|
437
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFHbkU7Ozs7SUFLRSxtQkFBcUIsWUFBdUMsRUFBVyxRQUFnQyxFQUFXLFNBQWdDO1FBQTdILGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQXdCO1FBQVcsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFDbEosQ0FBQzs7OztJQUVELDZCQUFTOzs7SUFBVDtRQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFJLG1DQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDOzs7T0FBQTs7Ozs7O0lBRVMsNEJBQVE7Ozs7O0lBQWxCLFVBQW1CLFFBQWdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJ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LE9BQU8sU0FBUyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBbkMsQ0FBbUMsRUFBQyxDQUFDO1FBQ3JFLENBQUM7Ozs7Ozs7UUFFUywwQkFBVTs7Ozs7O1FBQXBCLFVBQXFCLFlBQWlCLEVBQUUsY0FBbUI7WUFDekQsT0FBTyxZQUFZLEtBQUssY0FBYyxDQUFDO1FBQ3pDLENBQUM7Ozs7O1FBRUQsZ0NBQWdCOzs7O1FBQWhCLFVBQWlCLElBQVE7WUFBekIsaUJBRUM7WUFEQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBaEMsQ0FBZ0MsRUFBQyxDQUFDO1FBQ2hHLENBQUM7UUFHSCxZQUFDO0lBQUQsQ0FBQyxBQWhCRCxDQUE4QixTQUFTLEdBZ0J0QztJQWhCWSxlQUFLLFFBZ0JqQixDQUFBO0FBRUgsQ0FBQyxFQXJDZ0IsU0FBUyxLQUFULFNBQVMsUUFxQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5leHBvcnQgY2xhc3MgU2FuaXRpc2VyPFQsIFM+IHtcblxuICBwcml2YXRlIGluaXRpYWxWYWx1ZTogUztcbiAgcHJpdmF0ZSBfc2FuaXRpc2VkVmFsdWU6IFM7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCByZWFkb25seSBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcmVhZG9ubHkgc2FuaXRpc2VyOiBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4pIHtcbiAgfVxuXG4gIGlzUm91dGVJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5pbml0aWFsVmFsdWUpICYmIHRoaXMuaGFzQ2hhbmdlZCh0aGlzLmluaXRpYWxWYWx1ZSwgdGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gIH1cblxuICBnZXQgc2FuaXRpc2VkVmFsdWUoKTogUyB7XG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXNlZFZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUyB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFMsIHNhbml0aXNlZFZhbHVlOiBTKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXplKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNhbml0aXNlcikge1xuICAgICAgdGhpcy5pbml0aWFsVmFsdWUgPSB0aGlzLnJlYWRGcm9tKHRoaXMuc25hcHNob3QpO1xuICAgICAgdGhpcy5fc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCB0aGlzLnNhbml0aXNlci5zYW5pdGlzZSh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgIT09IHRoaXMuX3Nhbml0aXNlZFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgUm91dGVQYXJhbWV0ZXJTYW5pdGlzZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVJZFNhbml0aXNlcjogU2FuaXRpc2VyPGFueSwgYW55PjtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJTYW5pdGlzZXJzOiBTYW5pdGlzZXI8YW55LCBhbnk+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwYXJhbWV0ZXJEZWZzOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IHNhbml0aXNlcnMgPSBwYXJhbWV0ZXJEZWZzLm1hcChkZWYgPT4ge1xuICAgICAgcmV0dXJuIGRlZi5pc0FycmF5ID9cbiAgICAgICAgbmV3IFNhbml0aXNlci5BcnJheShkZWYsIHNuYXBzaG90LCB0aGlzLmdldFNhbml0aXNlcihkZWYpKSA6XG4gICAgICAgIG5ldyBTYW5pdGlzZXIuVmFsdWUoZGVmLCBzbmFwc2hvdCwgdGhpcy5nZXRTYW5pdGlzZXIoZGVmKSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZUlkU2FuaXRpc2VyID0gc2FuaXRpc2Vycy5maW5kKHAgPT4gcC5pc1JvdXRlSWQoKSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzID0gc2FuaXRpc2Vycy5maWx0ZXIocCA9PiAhcC5pc1JvdXRlSWQoKSk7XG4gIH1cblxuICBhc3luYyBzYW5pdGlzZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZUlkU2FuaXRpc2VyKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICAgIGlmICh0aGlzLnJvdXRlSWRTYW5pdGlzZXIudmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpc24ndCBvayB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyB0aGUgcXVlcnkgcGFyYW1zIG1heSBuZWVkIHRvIGJlIHNhbml0aXNlZCBpbiB0aGVcbiAgICAgICAgLy8gY29udGV4dCBvZiB0aGUgcm91dGUgaWQuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBzYW5pdGlzZXIgb2YgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzKSB7XG4gICAgICBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMuZmluZChzID0+IHMudmFsdWVDaGFuZ2VkKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRTYW5pdGlzZXI8VCwgUz4oZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgICByZXR1cm4gZGVmLmdldFNhbml0aXNlcih0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIHJvdXRlSWRIYXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMubGVuZ3RoICE9PSAwKTtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUlkU2FuaXRpc2VyICYmIHRoaXMucm91dGVJZFNhbml0aXNlci52YWx1ZUNoYW5nZWQ7XG4gIH1cblxuICBAVHJhY2UoKVxuICBnZXRSZWRpcmVjdFBhcmFtcygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMucm91dGVJZEhhc0NoYW5nZWQoKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpc2VkVmFsdWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHt9O1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzLmZvckVhY2gocyA9PiBzLmluamVjdFJvdXRlUGFyYW0ocm91dGVQYXJhbXMpKTtcbiAgICAgIHJldHVybiBbcm91dGVQYXJhbXNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNTYW5pdGlzZXJDb250cnVjdG9yPFM+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUeXBlPFBhcmFtZXRlclNhbml0aXNlcjxTPj4ge1xuICAgIHJldHVybiBfLmlzRnVuY3Rpb24odmFsdWUpICYmIGxhbmcuY29uc3RydWN0b3JDaGFpbih2YWx1ZSBhcyB1bmtub3duIGFzIENvbnN0cnVjdGFibGU8YW55PikuaW5jbHVkZXMoU2FuaXRpc2VyKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhbml0aXNlciB7XG5cbiAgZXhwb3J0IGNsYXNzIFZhbHVlPFQ+IGV4dGVuZHMgU2FuaXRpc2VyPFQsIFQ+IHtcblxuICAgIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogVCB7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHNuYXBzaG90LnBhcmFtTWFwLmdldCh0aGlzLnBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHJhd1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFQsIHNhbml0aXNlZFZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5pdGlhbFZhbHVlICE9PSBzYW5pdGlzZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgICBkZXN0W3RoaXMucGFyYW1ldGVyRGVmLm5hbWVdID0gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXk8VD4gZXh0ZW5kcyBTYW5pdGlzZXI8VCwgVFtdPiB7XG5cbiAgICByZWFkRnJvbShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFRbXSB7XG4gICAgICBjb25zdCByYXdWYWx1ZXMgPSBzbmFwc2hvdC5wYXJhbU1hcC5nZXRBbGwodGhpcy5wYXJhbWV0ZXJEZWYubmFtZSk7XG4gICAgICByZXR1cm4gcmF3VmFsdWVzLm1hcCh2YWx1ZSA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhc0NoYW5nZWQoaW5pdGlhbFZhbHVlOiBUW10sIHNhbml0aXNlZFZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgIT09IHNhbml0aXNlZFZhbHVlO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnNhbml0aXNlZFZhbHVlLm1hcCh2ID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHYpKTtcbiAgICB9XG5cblxuICB9XG5cbn1cbiJdfQ==
|
|
437
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFHbkU7Ozs7SUFLRSxtQkFBcUIsWUFBdUMsRUFBVyxRQUFnQyxFQUFXLFNBQWdDO1FBQTdILGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQXdCO1FBQVcsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFDbEosQ0FBQzs7OztJQUVELDZCQUFTOzs7SUFBVDtRQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFJLG1DQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDOzs7T0FBQTs7Ozs7O0lBRVMsNEJBQVE7Ozs7O0lBQWxCLFVBQW1CLFFBQWdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJ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Q0FBQztZQUNsRSxPQUFPLFNBQVMsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQW5DLENBQW1DLEVBQUMsQ0FBQztRQUNyRSxDQUFDOzs7Ozs7O1FBRVMsMEJBQVU7Ozs7OztRQUFwQixVQUFxQixZQUFpQixFQUFFLGNBQW1CO1lBQ3pELE9BQU8sWUFBWSxLQUFLLGNBQWMsQ0FBQztRQUN6QyxDQUFDOzs7OztRQUVELGdDQUFnQjs7OztRQUFoQixVQUFpQixJQUFRO1lBQXpCLGlCQUVDO1lBREMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWhDLENBQWdDLEVBQUMsQ0FBQztRQUNoRyxDQUFDO1FBR0gsWUFBQztJQUFELENBQUMsQUFoQkQsQ0FBOEIsU0FBUyxHQWdCdEM7SUFoQlksZUFBSyxRQWdCakIsQ0FBQTtBQUVILENBQUMsRUFyQ2dCLFNBQVMsS0FBVCxTQUFTLFFBcUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yL2Rpc3Qvc3JjJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5leHBvcnQgY2xhc3MgU2FuaXRpc2VyPFQsIFM+IHtcblxuICBwcml2YXRlIGluaXRpYWxWYWx1ZTogUztcbiAgcHJpdmF0ZSBfc2FuaXRpc2VkVmFsdWU6IFM7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCByZWFkb25seSBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcmVhZG9ubHkgc2FuaXRpc2VyOiBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4pIHtcbiAgfVxuXG4gIGlzUm91dGVJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5pbml0aWFsVmFsdWUpICYmIHRoaXMuaGFzQ2hhbmdlZCh0aGlzLmluaXRpYWxWYWx1ZSwgdGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gIH1cblxuICBnZXQgc2FuaXRpc2VkVmFsdWUoKTogUyB7XG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXNlZFZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUyB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFMsIHNhbml0aXNlZFZhbHVlOiBTKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXplKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNhbml0aXNlcikge1xuICAgICAgdGhpcy5pbml0aWFsVmFsdWUgPSB0aGlzLnJlYWRGcm9tKHRoaXMuc25hcHNob3QpO1xuICAgICAgdGhpcy5fc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCB0aGlzLnNhbml0aXNlci5zYW5pdGlzZShudWxsLCB0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgIT09IHRoaXMuX3Nhbml0aXNlZFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgUm91dGVQYXJhbWV0ZXJTYW5pdGlzZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVJZFNhbml0aXNlcjogU2FuaXRpc2VyPGFueSwgYW55PjtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJTYW5pdGlzZXJzOiBTYW5pdGlzZXI8YW55LCBhbnk+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwYXJhbWV0ZXJEZWZzOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IHNhbml0aXNlcnMgPSBwYXJhbWV0ZXJEZWZzLm1hcChkZWYgPT4ge1xuICAgICAgcmV0dXJuIGRlZi5pc0FycmF5ID9cbiAgICAgICAgbmV3IFNhbml0aXNlci5BcnJheShkZWYsIHNuYXBzaG90LCB0aGlzLmdldFNhbml0aXNlcihkZWYpKSA6XG4gICAgICAgIG5ldyBTYW5pdGlzZXIuVmFsdWUoZGVmLCBzbmFwc2hvdCwgdGhpcy5nZXRTYW5pdGlzZXIoZGVmKSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZUlkU2FuaXRpc2VyID0gc2FuaXRpc2Vycy5maW5kKHAgPT4gcC5pc1JvdXRlSWQoKSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzID0gc2FuaXRpc2Vycy5maWx0ZXIocCA9PiAhcC5pc1JvdXRlSWQoKSk7XG4gIH1cblxuICBhc3luYyBzYW5pdGlzZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZUlkU2FuaXRpc2VyKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICAgIGlmICh0aGlzLnJvdXRlSWRTYW5pdGlzZXIudmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpc24ndCBvayB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyB0aGUgcXVlcnkgcGFyYW1zIG1heSBuZWVkIHRvIGJlIHNhbml0aXNlZCBpbiB0aGVcbiAgICAgICAgLy8gY29udGV4dCBvZiB0aGUgcm91dGUgaWQuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBzYW5pdGlzZXIgb2YgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzKSB7XG4gICAgICBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMuZmluZChzID0+IHMudmFsdWVDaGFuZ2VkKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRTYW5pdGlzZXI8VCwgUz4oZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgICByZXR1cm4gZGVmLmdldFNhbml0aXNlcih0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIHJvdXRlSWRIYXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMubGVuZ3RoICE9PSAwKTtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUlkU2FuaXRpc2VyICYmIHRoaXMucm91dGVJZFNhbml0aXNlci52YWx1ZUNoYW5nZWQ7XG4gIH1cblxuICBAVHJhY2UoKVxuICBnZXRSZWRpcmVjdFBhcmFtcygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMucm91dGVJZEhhc0NoYW5nZWQoKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpc2VkVmFsdWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHt9O1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzLmZvckVhY2gocyA9PiBzLmluamVjdFJvdXRlUGFyYW0ocm91dGVQYXJhbXMpKTtcbiAgICAgIHJldHVybiBbcm91dGVQYXJhbXNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNTYW5pdGlzZXJDb250cnVjdG9yPFM+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUeXBlPFBhcmFtZXRlclNhbml0aXNlcjxTPj4ge1xuICAgIHJldHVybiBfLmlzRnVuY3Rpb24odmFsdWUpICYmIGxhbmcuY29uc3RydWN0b3JDaGFpbih2YWx1ZSBhcyB1bmtub3duIGFzIENvbnN0cnVjdGFibGU8YW55PikuaW5jbHVkZXMoU2FuaXRpc2VyKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhbml0aXNlciB7XG5cbiAgZXhwb3J0IGNsYXNzIFZhbHVlPFQ+IGV4dGVuZHMgU2FuaXRpc2VyPFQsIFQ+IHtcblxuICAgIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogVCB7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHNuYXBzaG90LnBhcmFtTWFwLmdldCh0aGlzLnBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHJhd1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFQsIHNhbml0aXNlZFZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5pdGlhbFZhbHVlICE9PSBzYW5pdGlzZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgICBkZXN0W3RoaXMucGFyYW1ldGVyRGVmLm5hbWVdID0gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXk8VD4gZXh0ZW5kcyBTYW5pdGlzZXI8VCwgVFtdPiB7XG5cbiAgICByZWFkRnJvbShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFRbXSB7XG4gICAgICBjb25zdCByYXdWYWx1ZXMgPSBzbmFwc2hvdC5wYXJhbU1hcC5nZXRBbGwodGhpcy5wYXJhbWV0ZXJEZWYubmFtZSk7XG4gICAgICByZXR1cm4gcmF3VmFsdWVzLm1hcCh2YWx1ZSA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhc0NoYW5nZWQoaW5pdGlhbFZhbHVlOiBUW10sIHNhbml0aXNlZFZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgIT09IHNhbml0aXNlZFZhbHVlO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnNhbml0aXNlZFZhbHVlLm1hcCh2ID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHYpKTtcbiAgICB9XG5cblxuICB9XG5cbn1cbiJdfQ==
|
package/esm5/lib/place/visit.js
CHANGED
|
@@ -12,11 +12,11 @@ if (false) {
|
|
|
12
12
|
/**
|
|
13
13
|
* @return {?}
|
|
14
14
|
*/
|
|
15
|
-
Visit.prototype.
|
|
15
|
+
Visit.prototype.getRouteIdValue = function () { };
|
|
16
16
|
/**
|
|
17
17
|
* @param {?} name
|
|
18
18
|
* @return {?}
|
|
19
19
|
*/
|
|
20
|
-
Visit.prototype.
|
|
20
|
+
Visit.prototype.getParameterValue = function (name) { };
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvdmlzaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLDJCQU1DOzs7SUFMQyxnQ0FBMEM7Ozs7SUFFMUMsa0RBQXVCOzs7OztJQUV2Qix3REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuXG4vLyBUT0RPOiBJdCdkIGJlIG5pY2UgaWYgd2UgZ2VuZXJhdGVkIGEgdHlwZSBmb3IgdGhpcy4uLlxuZXhwb3J0IGludGVyZmFjZSBWaXNpdCB7XG4gIHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uO1xuXG4gIGdldFJvdXRlSWRWYWx1ZSgpOiBhbnk7XG5cbiAgZ2V0UGFyYW1ldGVyVmFsdWUobmFtZTogc3RyaW5nKTogYW55O1xufVxuIl19
|
package/esm5/public_api.js
CHANGED
|
@@ -7,5 +7,5 @@ export { slideDownAndUpAnimation } from './lib/animations';
|
|
|
7
7
|
export { DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, Bounds, Dimension, Point } from './lib/components';
|
|
8
8
|
export { CommandDirective, FocusBindingDirective } from './lib/directives';
|
|
9
9
|
export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmationDialogComponent, DialogInteractionService } from './lib/interaction';
|
|
10
|
-
export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, LeavePlaceGuard, PlaceRouteGuard,
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, LeavePlaceGuard, PlaceRouteGuard, RouteId, RouteParameter, RouteParameterList, ParameterDefinition, ParameterSnapshot, ParameterType, Sanitiser, RouteParameterSanitiser } from './lib/place';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLDhPQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRnQkFBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLXVpLXBvd2VydXBzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGFjZSc7XG4iXX0=
|