@coolon/angular-ui-powerups 0.0.42 → 0.0.44
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 +1173 -1188
- 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.d.ts +16 -15
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +16 -15
- package/esm2015/index.js +2 -2
- package/esm2015/lib/components/disposable-component.js +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm2015/lib/components/resize-aware.component.js +1 -1
- package/esm2015/lib/components/types/bounds.class.js +1 -1
- package/esm2015/lib/components/types/dimension.class.js +1 -1
- package/esm2015/lib/components/types/point.class.js +1 -1
- package/esm2015/lib/directives/command.directive.js +1 -1
- package/esm2015/lib/directives/focus-binding.directive.js +2 -2
- package/esm2015/lib/interaction/alert.js +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +12 -12
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +6 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm2015/lib/interaction/confirm.js +1 -1
- package/esm2015/lib/interaction/interaction.module.js +3 -2
- package/esm2015/lib/interaction/result.js +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +2 -2
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -2
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +132 -86
- package/esm2015/lib/place/components/place-outlet/route-animations.js +2 -2
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm2015/lib/place/guards/leave-place.guard.js +12 -10
- package/esm2015/lib/place/guards/place-route.guard.js +40 -33
- package/esm2015/lib/place/index.js +5 -5
- package/esm2015/lib/place/nav-item.js +1 -1
- package/esm2015/lib/place/place-component.js +38 -168
- package/esm2015/lib/place/place-definition.js +79 -0
- package/esm2015/lib/place/place-history.js +54 -0
- package/esm2015/lib/place/place-router.js +83 -0
- package/esm2015/lib/place/place.decorator.js +30 -3
- package/esm2015/lib/place/place.module.js +2 -5
- package/esm2015/lib/place/route/default-parameter-sanitiser.js +10 -22
- package/esm2015/lib/place/route/json-types.js +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js +7 -60
- package/esm2015/lib/place/route/parameter-definition.class.js +103 -8
- package/esm2015/lib/place/route/parameter-sanitiser.js +1 -15
- package/esm2015/lib/place/route/parameter-snapshot.js +13 -55
- package/esm2015/lib/place/route/parameter-type.js +2 -2
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +6 -20
- package/esm2015/lib/place/visit.js +1 -1
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +16 -15
- package/esm5/index.js +2 -2
- package/esm5/lib/components/disposable-component.js +1 -1
- package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm5/lib/components/resize-aware.component.js +1 -1
- package/esm5/lib/components/types/bounds.class.js +1 -1
- package/esm5/lib/components/types/dimension.class.js +1 -1
- package/esm5/lib/components/types/point.class.js +1 -1
- package/esm5/lib/directives/command.directive.js +1 -1
- package/esm5/lib/directives/focus-binding.directive.js +2 -2
- package/esm5/lib/interaction/alert.js +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +12 -12
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +6 -1
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm5/lib/interaction/confirm.js +1 -1
- package/esm5/lib/interaction/interaction.module.js +3 -2
- package/esm5/lib/interaction/result.js +1 -1
- package/esm5/lib/interaction/services/dialog-interaction.service.js +2 -2
- package/esm5/lib/place/components/abstract-place-navigation.component.js +3 -2
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +150 -115
- package/esm5/lib/place/components/place-outlet/route-animations.js +2 -2
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm5/lib/place/guards/leave-place.guard.js +12 -10
- package/esm5/lib/place/guards/place-route.guard.js +40 -32
- package/esm5/lib/place/index.js +5 -5
- package/esm5/lib/place/nav-item.js +1 -1
- package/esm5/lib/place/place-component.js +52 -198
- package/esm5/lib/place/place-definition.js +88 -0
- package/esm5/lib/place/place-history.js +57 -0
- package/esm5/lib/place/place-router.js +101 -0
- package/esm5/lib/place/place.decorator.js +30 -3
- package/esm5/lib/place/place.module.js +2 -5
- package/esm5/lib/place/route/default-parameter-sanitiser.js +8 -20
- package/esm5/lib/place/route/json-types.js +1 -1
- package/esm5/lib/place/route/parameter-decorators.js +7 -60
- package/esm5/lib/place/route/parameter-definition.class.js +131 -8
- package/esm5/lib/place/route/parameter-sanitiser.js +1 -15
- package/esm5/lib/place/route/parameter-snapshot.js +25 -63
- package/esm5/lib/place/route/parameter-type.js +2 -2
- package/esm5/lib/place/route/route-parameter-sanitiser.js +6 -19
- package/esm5/lib/place/visit.js +1 -1
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +955 -969
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1158 -1177
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/index.d.ts +1 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -2
- package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +7 -0
- package/lib/place/components/abstract-place-navigation.component.d.ts +3 -2
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +31 -19
- package/lib/place/guards/place-route.guard.d.ts +7 -6
- package/lib/place/index.d.ts +3 -3
- package/lib/place/place-component.d.ts +13 -41
- package/lib/place/place-definition.d.ts +20 -0
- package/lib/place/place-history.d.ts +10 -0
- package/lib/place/place-router.d.ts +9 -0
- package/lib/place/place.decorator.d.ts +13 -1
- package/lib/place/route/default-parameter-sanitiser.d.ts +3 -5
- package/lib/place/route/parameter-decorators.d.ts +0 -4
- package/lib/place/route/parameter-definition.class.d.ts +29 -6
- package/lib/place/route/parameter-sanitiser.d.ts +0 -6
- package/lib/place/route/parameter-snapshot.d.ts +7 -7
- package/lib/place/route/route-parameter-sanitiser.d.ts +1 -3
- package/lib/place/visit.d.ts +2 -2
- package/package.json +1 -1
- package/schematics/place-routes/index.js.map +1 -1
- package/schematics/place-routes/place-def.js +1 -1
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/place-destinations.ts.template +21 -0
- package/schematics/place-routes/templates/{places.ts.template → place-routes.ts.template} +1 -13
- package/esm2015/lib/place/place-component-like.js +0 -17
- package/esm2015/lib/place/place-updates-service.js +0 -16
- package/esm2015/lib/place/place.service.js +0 -102
- package/esm5/lib/place/place-component-like.js +0 -17
- package/esm5/lib/place/place-updates-service.js +0 -16
- package/esm5/lib/place/place.service.js +0 -136
- package/lib/place/place-component-like.d.ts +0 -5
- package/lib/place/place-updates-service.d.ts +0 -10
- package/lib/place/place.service.d.ts +0 -22
|
@@ -2,23 +2,146 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Opts } from '@coolon/typescript-utilities';
|
|
5
7
|
/**
|
|
6
|
-
* @
|
|
8
|
+
* @abstract
|
|
7
9
|
* @template T, S
|
|
8
10
|
*/
|
|
9
|
-
|
|
11
|
+
var /**
|
|
12
|
+
* @abstract
|
|
13
|
+
* @template T, S
|
|
14
|
+
*/
|
|
15
|
+
ParameterDefinition = /** @class */ (function () {
|
|
16
|
+
function ParameterDefinition(propertyName, type, options) {
|
|
17
|
+
this.propertyName = propertyName;
|
|
18
|
+
this.type = type;
|
|
19
|
+
/** @type {?} */
|
|
20
|
+
var opts = Opts.get(options);
|
|
21
|
+
this.name = opts.getOptional('as', propertyName);
|
|
22
|
+
// this.sanitiser = new DefaultParameterSanitiser(
|
|
23
|
+
// this,
|
|
24
|
+
// opts.getOptional('remember', false),
|
|
25
|
+
// opts.getOptional('defaultValue', null)
|
|
26
|
+
// );
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @param {?} injector
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
ParameterDefinition.prototype.getSanitiser = /**
|
|
33
|
+
* @param {?} injector
|
|
34
|
+
* @return {?}
|
|
35
|
+
*/
|
|
36
|
+
function (injector) {
|
|
37
|
+
return this.sanitiser;
|
|
38
|
+
};
|
|
39
|
+
return ParameterDefinition;
|
|
40
|
+
}());
|
|
41
|
+
/**
|
|
42
|
+
* @abstract
|
|
43
|
+
* @template T, S
|
|
44
|
+
*/
|
|
45
|
+
export { ParameterDefinition };
|
|
10
46
|
if (false) {
|
|
11
47
|
/** @type {?} */
|
|
12
|
-
ParameterDefinition.prototype.
|
|
48
|
+
ParameterDefinition.prototype.isRouteId;
|
|
13
49
|
/** @type {?} */
|
|
14
|
-
ParameterDefinition.prototype.
|
|
50
|
+
ParameterDefinition.prototype.isArray;
|
|
15
51
|
/** @type {?} */
|
|
16
|
-
ParameterDefinition.prototype.
|
|
52
|
+
ParameterDefinition.prototype.name;
|
|
17
53
|
/** @type {?} */
|
|
18
54
|
ParameterDefinition.prototype.sanitiser;
|
|
19
55
|
/** @type {?} */
|
|
20
|
-
ParameterDefinition.prototype.
|
|
56
|
+
ParameterDefinition.prototype.propertyName;
|
|
21
57
|
/** @type {?} */
|
|
22
|
-
ParameterDefinition.prototype.
|
|
58
|
+
ParameterDefinition.prototype.type;
|
|
23
59
|
}
|
|
24
|
-
|
|
60
|
+
(function (ParameterDefinition) {
|
|
61
|
+
/**
|
|
62
|
+
* @record
|
|
63
|
+
* @template T
|
|
64
|
+
*/
|
|
65
|
+
function Options() { }
|
|
66
|
+
ParameterDefinition.Options = Options;
|
|
67
|
+
if (false) {
|
|
68
|
+
/** @type {?|undefined} */
|
|
69
|
+
Options.prototype.as;
|
|
70
|
+
/** @type {?|undefined} */
|
|
71
|
+
Options.prototype.optional;
|
|
72
|
+
/** @type {?|undefined} */
|
|
73
|
+
Options.prototype.remember;
|
|
74
|
+
/** @type {?|undefined} */
|
|
75
|
+
Options.prototype.defaultValue;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @template T
|
|
79
|
+
*/
|
|
80
|
+
var /**
|
|
81
|
+
* @template T
|
|
82
|
+
*/
|
|
83
|
+
RouteId = /** @class */ (function (_super) {
|
|
84
|
+
tslib_1.__extends(RouteId, _super);
|
|
85
|
+
function RouteId() {
|
|
86
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
87
|
+
_this.isRouteId = true;
|
|
88
|
+
_this.isArray = false;
|
|
89
|
+
return _this;
|
|
90
|
+
}
|
|
91
|
+
return RouteId;
|
|
92
|
+
}(ParameterDefinition));
|
|
93
|
+
ParameterDefinition.RouteId = RouteId;
|
|
94
|
+
if (false) {
|
|
95
|
+
/** @type {?} */
|
|
96
|
+
RouteId.prototype.isRouteId;
|
|
97
|
+
/** @type {?} */
|
|
98
|
+
RouteId.prototype.isArray;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @template T
|
|
102
|
+
*/
|
|
103
|
+
var /**
|
|
104
|
+
* @template T
|
|
105
|
+
*/
|
|
106
|
+
ValueParameter = /** @class */ (function (_super) {
|
|
107
|
+
tslib_1.__extends(ValueParameter, _super);
|
|
108
|
+
function ValueParameter() {
|
|
109
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
110
|
+
_this.isRouteId = false;
|
|
111
|
+
_this.isArray = false;
|
|
112
|
+
return _this;
|
|
113
|
+
}
|
|
114
|
+
return ValueParameter;
|
|
115
|
+
}(ParameterDefinition));
|
|
116
|
+
ParameterDefinition.ValueParameter = ValueParameter;
|
|
117
|
+
if (false) {
|
|
118
|
+
/** @type {?} */
|
|
119
|
+
ValueParameter.prototype.isRouteId;
|
|
120
|
+
/** @type {?} */
|
|
121
|
+
ValueParameter.prototype.isArray;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* @template T
|
|
125
|
+
*/
|
|
126
|
+
var /**
|
|
127
|
+
* @template T
|
|
128
|
+
*/
|
|
129
|
+
ArrayParameter = /** @class */ (function (_super) {
|
|
130
|
+
tslib_1.__extends(ArrayParameter, _super);
|
|
131
|
+
function ArrayParameter() {
|
|
132
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
133
|
+
_this.isRouteId = false;
|
|
134
|
+
_this.isArray = true;
|
|
135
|
+
return _this;
|
|
136
|
+
}
|
|
137
|
+
return ArrayParameter;
|
|
138
|
+
}(ParameterDefinition));
|
|
139
|
+
ParameterDefinition.ArrayParameter = ArrayParameter;
|
|
140
|
+
if (false) {
|
|
141
|
+
/** @type {?} */
|
|
142
|
+
ArrayParameter.prototype.isRouteId;
|
|
143
|
+
/** @type {?} */
|
|
144
|
+
ArrayParameter.prototype.isArray;
|
|
145
|
+
}
|
|
146
|
+
})(ParameterDefinition || (ParameterDefinition = {}));
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBS3BEOzs7OztJQU9FLDZCQUFxQixZQUFvQixFQUFXLElBQXNCLEVBQUUsT0FBdUM7UUFBOUYsaUJBQVksR0FBWixZQUFZLENBQVE7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFrQjs7WUFDbEUsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakQsa0RBQWtEO1FBQ2xELFVBQVU7UUFDVix5Q0FBeUM7UUFDekMsMkNBQTJDO1FBQzNDLEtBQUs7SUFDUCxDQUFDOzs7OztJQUVELDBDQUFZOzs7O0lBQVosVUFBYSxRQUFpQjtRQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNILDBCQUFDO0FBQUQsQ0FBQyxBQXBCRCxJQW9CQzs7Ozs7Ozs7SUFuQkMsd0NBQXFDOztJQUNyQyxzQ0FBbUM7O0lBRW5DLG1DQUFzQjs7SUFDdEIsd0NBQW9EOztJQUV4QywyQ0FBNkI7O0lBQUUsbUNBQStCOztBQWU1RSxXQUFpQixtQkFBbUI7Ozs7O0lBRWxDLHNCQU1DOzs7O1FBTEMscUJBQVk7O1FBQ1osMkJBQW1COztRQUNuQiwyQkFBbUI7O1FBQ25CLCtCQUFpQjs7Ozs7SUFJbkI7Ozs7UUFBZ0MsbUNBQXNCO1FBQXREO1lBQUEscUVBR0M7WUFGVSxlQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLGFBQU8sR0FBRyxLQUFLLENBQUM7O1FBQzNCLENBQUM7UUFBRCxjQUFDO0lBQUQsQ0FBQyxBQUhELENBQWdDLG1CQUFtQixHQUdsRDtJQUhZLDJCQUFPLFVBR25CLENBQUE7OztRQUZDLDRCQUEwQjs7UUFDMUIsMEJBQXlCOzs7OztJQUczQjs7OztRQUF1QywwQ0FBc0I7UUFBN0Q7WUFBQSxxRUFHQztZQUZVLGVBQVMsR0FBRyxLQUFLLENBQUM7WUFDbEIsYUFBTyxHQUFHLEtBQUssQ0FBQzs7UUFDM0IsQ0FBQztRQUFELHFCQUFDO0lBQUQsQ0FBQyxBQUhELENBQXVDLG1CQUFtQixHQUd6RDtJQUhZLGtDQUFjLGlCQUcxQixDQUFBOzs7UUFGQyxtQ0FBMkI7O1FBQzNCLGlDQUF5Qjs7Ozs7SUFHM0I7Ozs7UUFBdUMsMENBQTJCO1FBQWxFO1lBQUEscUVBR0M7WUFGVSxlQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLGFBQU8sR0FBRyxJQUFJLENBQUM7O1FBQzFCLENBQUM7UUFBRCxxQkFBQztJQUFELENBQUMsQUFIRCxDQUF1QyxtQkFBbUIsR0FHekQ7SUFIWSxrQ0FBYyxpQkFHMUIsQ0FBQTs7O1FBRkMsbUNBQTJCOztRQUMzQixpQ0FBd0I7O0FBSTVCLENBQUMsRUExQmdCLG1CQUFtQixLQUFuQixtQkFBbUIsUUEwQm5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTID0gVD4ge1xuICBhYnN0cmFjdCByZWFkb25seSBpc1JvdXRlSWQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzQXJyYXk6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzYW5pdGlzZXI6IERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXI8VCwgUz47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcHJvcGVydHlOYW1lOiBzdHJpbmcsIHJlYWRvbmx5IHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM6IFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxTPikge1xuICAgIGNvbnN0IG9wdHMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgICB0aGlzLm5hbWUgPSBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZSk7XG4gICAgLy8gdGhpcy5zYW5pdGlzZXIgPSBuZXcgRGVmYXVsdFBhcmFtZXRlclNhbml0aXNlcihcbiAgICAvLyAgIHRoaXMsXG4gICAgLy8gICBvcHRzLmdldE9wdGlvbmFsKCdyZW1lbWJlcicsIGZhbHNlKSxcbiAgICAvLyAgIG9wdHMuZ2V0T3B0aW9uYWwoJ2RlZmF1bHRWYWx1ZScsIG51bGwpXG4gICAgLy8gKTtcbiAgfVxuXG4gIGdldFNhbml0aXNlcihpbmplY3RvcjpJbmplY3Rvcik6UGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGlzZXI7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJEZWZpbml0aW9uIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIGFzPzogc3RyaW5nO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICByZW1lbWJlcj86IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlPzogVDtcbiAgICAvLyBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXIuT3B0aW9uczxUPjtcbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBSb3V0ZUlkPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gdHJ1ZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXlQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IGZhbHNlO1xuICAgIHJlYWRvbmx5IGlzQXJyYXkgPSB0cnVlO1xuICB9XG5cblxufVxuIl19
|
|
@@ -15,18 +15,4 @@ if (false) {
|
|
|
15
15
|
*/
|
|
16
16
|
ParameterSanitiser.prototype.sanitise = function (value, visit) { };
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @record
|
|
21
|
-
* @template T
|
|
22
|
-
*/
|
|
23
|
-
function Options() { }
|
|
24
|
-
ParameterSanitiser.Options = Options;
|
|
25
|
-
if (false) {
|
|
26
|
-
/** @type {?|undefined} */
|
|
27
|
-
Options.prototype.remember;
|
|
28
|
-
/** @type {?|undefined} */
|
|
29
|
-
Options.prototype.defaultValue;
|
|
30
|
-
}
|
|
31
|
-
})(ParameterSanitiser || (ParameterSanitiser = {}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsd0NBRUM7Ozs7Ozs7SUFEQyxvRUFBa0Q7O0FBR3BELFdBQWlCLGtCQUFrQjs7Ozs7SUFDakMsc0JBR0M7Ozs7UUFGQywyQkFBa0I7O1FBQ2xCLCtCQUFnQjs7QUFFcEIsQ0FBQyxFQUxnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBS2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+IHtcbiAgc2FuaXRpc2UodmFsdWU6IFQsIHZpc2l0PzogVmlzaXQpOiBUIHwgUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTYW5pdGlzZXIge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIHJlbWVtYmVyPzogYm9vbGVhblxuICAgIGRlZmF1bHRWYWx1ZT86IFRcbiAgfVxufVxuIl19
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsd0NBRUM7Ozs7Ozs7SUFEQyxvRUFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJTYW5pdGlzZXI8VD4ge1xuICBzYW5pdGlzZSh2YWx1ZTogVCwgdmlzaXQ/OiBWaXNpdCk6IFQgfCBQcm9taXNlPFQ+O1xufVxuIl19
|
|
@@ -3,13 +3,9 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { assert, Trace } from '@coolon/pectin';
|
|
7
6
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
// Id snapshot are repesented by 2 url segments
|
|
11
|
-
// ID => [{'/basePath', params}, {'id', params}]
|
|
12
|
-
// NO ID => [{'/basePath', params}]
|
|
7
|
+
import _ from 'lodash';
|
|
8
|
+
import { ParameterDefinition } from './parameter-definition.class';
|
|
13
9
|
var ParameterSnapshot = /** @class */ (function () {
|
|
14
10
|
function ParameterSnapshot(placeDefinition, resolved) {
|
|
15
11
|
this.placeDefinition = placeDefinition;
|
|
@@ -32,43 +28,11 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
32
28
|
function (r) {
|
|
33
29
|
return !r.isSame(other.getResolvedParameterValue(r.parameterDef));
|
|
34
30
|
}));
|
|
35
|
-
if (changed) {
|
|
36
|
-
|
|
37
|
-
}
|
|
31
|
+
// if (changed) {
|
|
32
|
+
// console.log({ mine: changed, theirs: other.getResolvedParameter(changed.parameterDef) });
|
|
33
|
+
// }
|
|
38
34
|
return !!changed;
|
|
39
35
|
};
|
|
40
|
-
/**
|
|
41
|
-
* @param {?} other
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
ParameterSnapshot.prototype.asUrlSegment = /**
|
|
45
|
-
* @param {?} other
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
function (other) {
|
|
49
|
-
assert.isTruthy(this.hasChanged(other));
|
|
50
|
-
/** @type {?} */
|
|
51
|
-
var routeParts = [];
|
|
52
|
-
/** @type {?} */
|
|
53
|
-
var gainedId = this.getFormattedRouteId() && !other.getFormattedRouteId();
|
|
54
|
-
/** @type {?} */
|
|
55
|
-
var sameId = this.getFormattedRouteId() === other.getFormattedRouteId();
|
|
56
|
-
/** @type {?} */
|
|
57
|
-
var lostId = (!this.getFormattedRouteId() && other.getFormattedRouteId());
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
var changedId = (this.getFormattedRouteId() !== other.getFormattedRouteId());
|
|
60
|
-
if (lostId || changedId) {
|
|
61
|
-
routeParts.push('..');
|
|
62
|
-
if (changedId) {
|
|
63
|
-
routeParts.push(this.getFormattedRouteId());
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
routeParts.push('.');
|
|
68
|
-
}
|
|
69
|
-
routeParts.push(this.getFormattedParameters());
|
|
70
|
-
return routeParts;
|
|
71
|
-
};
|
|
72
36
|
/**
|
|
73
37
|
* @template T, S
|
|
74
38
|
* @param {?} parameterDef
|
|
@@ -209,27 +173,31 @@ var ParameterSnapshot = /** @class */ (function () {
|
|
|
209
173
|
})));
|
|
210
174
|
};
|
|
211
175
|
/**
|
|
212
|
-
* @param {?}
|
|
176
|
+
* @param {?} injector
|
|
213
177
|
* @return {?}
|
|
214
178
|
*/
|
|
215
|
-
ParameterSnapshot.prototype.
|
|
216
|
-
* @param {?}
|
|
179
|
+
ParameterSnapshot.prototype.sanitise = /**
|
|
180
|
+
* @param {?} injector
|
|
217
181
|
* @return {?}
|
|
218
182
|
*/
|
|
219
|
-
function (
|
|
220
|
-
return
|
|
183
|
+
function (injector) {
|
|
184
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
185
|
+
return tslib_1.__generator(this, function (_a) {
|
|
186
|
+
return [2 /*return*/, this];
|
|
187
|
+
});
|
|
188
|
+
});
|
|
221
189
|
};
|
|
222
190
|
var _a;
|
|
223
191
|
tslib_1.__decorate([
|
|
224
192
|
Memoize(),
|
|
225
193
|
tslib_1.__metadata("design:type", Function),
|
|
226
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
194
|
+
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
227
195
|
tslib_1.__metadata("design:returntype", ParameterSnapshot.ResolvedParameter)
|
|
228
196
|
], ParameterSnapshot.prototype, "getResolvedParameter", null);
|
|
229
197
|
tslib_1.__decorate([
|
|
230
198
|
Memoize(),
|
|
231
199
|
tslib_1.__metadata("design:type", Function),
|
|
232
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
200
|
+
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
233
201
|
tslib_1.__metadata("design:returntype", typeof (_a = typeof S !== "undefined" && S) === "function" ? _a : Object)
|
|
234
202
|
], ParameterSnapshot.prototype, "getResolvedParameterValue", null);
|
|
235
203
|
tslib_1.__decorate([
|
|
@@ -345,7 +313,10 @@ if (false) {
|
|
|
345
313
|
/**
|
|
346
314
|
* @template T
|
|
347
315
|
*/
|
|
348
|
-
var
|
|
316
|
+
var /**
|
|
317
|
+
* @template T
|
|
318
|
+
*/
|
|
319
|
+
ResolvedValueParameter = /** @class */ (function (_super) {
|
|
349
320
|
tslib_1.__extends(ResolvedValueParameter, _super);
|
|
350
321
|
function ResolvedValueParameter() {
|
|
351
322
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -392,19 +363,16 @@ if (false) {
|
|
|
392
363
|
function () {
|
|
393
364
|
return !_.isNil(this.value) ? this.parameterDef.type.format(this.value) : null;
|
|
394
365
|
};
|
|
395
|
-
tslib_1.__decorate([
|
|
396
|
-
Trace(),
|
|
397
|
-
tslib_1.__metadata("design:type", Function),
|
|
398
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
399
|
-
tslib_1.__metadata("design:returntype", Boolean)
|
|
400
|
-
], ResolvedValueParameter.prototype, "isSame", null);
|
|
401
366
|
return ResolvedValueParameter;
|
|
402
367
|
}(ResolvedParameter));
|
|
403
368
|
ParameterSnapshot.ResolvedValueParameter = ResolvedValueParameter;
|
|
404
369
|
/**
|
|
405
370
|
* @template T
|
|
406
371
|
*/
|
|
407
|
-
var
|
|
372
|
+
var /**
|
|
373
|
+
* @template T
|
|
374
|
+
*/
|
|
375
|
+
ResolvedArrayParameter = /** @class */ (function (_super) {
|
|
408
376
|
tslib_1.__extends(ResolvedArrayParameter, _super);
|
|
409
377
|
function ResolvedArrayParameter() {
|
|
410
378
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -461,14 +429,8 @@ if (false) {
|
|
|
461
429
|
*/
|
|
462
430
|
function (v) { return _this.parameterDef.type.format(v); })) : [];
|
|
463
431
|
};
|
|
464
|
-
tslib_1.__decorate([
|
|
465
|
-
Trace(),
|
|
466
|
-
tslib_1.__metadata("design:type", Function),
|
|
467
|
-
tslib_1.__metadata("design:paramtypes", [Array]),
|
|
468
|
-
tslib_1.__metadata("design:returntype", Boolean)
|
|
469
|
-
], ResolvedArrayParameter.prototype, "isSame", null);
|
|
470
432
|
return ResolvedArrayParameter;
|
|
471
433
|
}(ResolvedParameter));
|
|
472
434
|
ParameterSnapshot.ResolvedArrayParameter = ResolvedArrayParameter;
|
|
473
435
|
})(ParameterSnapshot || (ParameterSnapshot = {}));
|
|
474
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQVM1QjtJQUVFLDJCQUFxQixlQUEwQyxFQUFtQixRQUF5RDtRQUF0SCxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFBbUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUQ7SUFDM0ksQ0FBQzs7Ozs7SUFFRCxzQ0FBVTs7OztJQUFWLFVBQVcsS0FBd0I7O1lBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsRUFBQztRQUNGLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzFGO1FBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ25CLENBQUM7Ozs7O0lBRUQsd0NBQVk7Ozs7SUFBWixVQUFhLEtBQXdCO1FBQ25DLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDOztZQUNsQyxV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Ozs7O1FBaEJDLHVDQUFNOzs7O1FBQU4sVUFBTyxVQUFlO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7Ozs7O1FBRUQsaURBQWdCOzs7O1FBQWhCLFVBQWlCLElBQVE7WUFBekIsaUJBRUM7WUFEQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBaEMsQ0FBZ0MsRUFBQyxDQUFDO1FBQ3ZGLENBQUM7Ozs7O1FBRUQsd0NBQU87Ozs7UUFBUCxVQUFRLEtBQVU7WUFDaEIsT0FBTyxJQUFJLHNCQUFzQixDQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakUsQ0FBQzs7OztRQUVELCtDQUFjOzs7UUFBZDtZQUFBLGlCQUVDO1lBREMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBaEMsQ0FBZ0MsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakYsQ0FBQztRQWREO1lBREMsS0FBSyxFQUFFOzs7OzREQUdQO1FBY0gsNkJBQUM7S0FBQSxBQWxCRCxDQUErQyxpQkFBaUIsR0FrQi9EO0lBbEJZLHdDQUFzQix5QkFrQmxDLENBQUE7QUFHSCxDQUFDLEVBMUVnQixpQkFBaUIsS0FBakIsaUJBQWlCLFFBMEVqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtTWFwLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFzc2VydCwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yL2Rpc3Qvc3JjJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuXG4vLyBUT0RPOiB0aGVyZSBhcmUgcmVhbGx5IHR3byB0eXBlcyBvZiBzbmFwc2hvdCwgb25lcyB3aXRoIGlkJ3MgYW5kIG9uZXMgd2l0aG91dC5cbi8vIElkIHNuYXBzaG90IGFyZSByZXBlc2VudGVkIGJ5IDIgdXJsIHNlZ21lbnRzXG4vLyBJRCA9PiBbeycvYmFzZVBhdGgnLCBwYXJhbXN9LCB7J2lkJywgcGFyYW1zfV1cbi8vIE5PIElEID0+IFt7Jy9iYXNlUGF0aCcsIHBhcmFtc31dXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyU25hcHNob3QgaW1wbGVtZW50cyBWaXNpdCB7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uLCBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxhbnksIGFueT5bXSkge1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvdGhlcjogUGFyYW1ldGVyU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5yZXNvbHZlZC5maW5kKChyKSA9PiB7XG4gICAgICByZXR1cm4gIXIuaXNTYW1lKG90aGVyLmdldFJlc29sdmVkUGFyYW1ldGVyVmFsdWUoci5wYXJhbWV0ZXJEZWYpKTtcbiAgICB9KTtcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgY29uc29sZS5sb2coeyBtaW5lOiBjaGFuZ2VkLCB0aGVpcnM6IG90aGVyLmdldFJlc29sdmVkUGFyYW1ldGVyKGNoYW5nZWQucGFyYW1ldGVyRGVmKSB9KTtcbiAgICB9XG4gICAgcmV0dXJuICEhY2hhbmdlZDtcbiAgfVxuXG4gIGFzVXJsU2VnbWVudChvdGhlcjogUGFyYW1ldGVyU25hcHNob3QpOiBhbnlbXSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuaGFzQ2hhbmdlZChvdGhlcikpO1xuICAgIGNvbnN0IHJvdXRlUGFydHMgPSBbXTtcbiAgICBjb25zdCBnYWluZWRJZCA9IHRoaXMuZ2V0Rm9ybWF0dGVkUm91dGVJZCgpICYmICFvdGhlci5nZXRGb3JtYXR0ZWRSb3V0ZUlkKCk7XG4gICAgY29uc3Qgc2FtZUlkID0gdGhpcy5nZXRGb3JtYXR0ZWRSb3V0ZUlkKCkgPT09IG90aGVyLmdldEZvcm1hdHRlZFJvdXRlSWQoKTtcbiAgICBjb25zdCBsb3N0SWQgPSAoIXRoaXMuZ2V0Rm9ybWF0dGVkUm91dGVJZCgpICYmIG90aGVyLmdldEZvcm1hdHRlZFJvdXRlSWQoKSk7XG4gICAgY29uc3QgY2hhbmdlZElkID0gKHRoaXMuZ2V0Rm9ybWF0dGVkUm91dGVJZCgpICE9PSBvdGhlci5nZXRGb3JtYXR0ZWRSb3V0ZUlkKCkpO1xuICAgIGlmIChsb3N0SWQgfHwgY2hhbmdlZElkKSB7XG4gICAgICByb3V0ZVBhcnRzLnB1c2goJy4uJyk7XG4gICAgICBpZiAoY2hhbmdlZElkKSB7XG4gICAgICAgIHJvdXRlUGFydHMucHVzaCh0aGlzLmdldEZvcm1hdHRlZFJvdXRlSWQoKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvdXRlUGFydHMucHVzaCgnLicpO1xuICAgIH1cbiAgICByb3V0ZVBhcnRzLnB1c2godGhpcy5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCkpO1xuICAgIHJldHVybiByb3V0ZVBhcnRzO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRSZXNvbHZlZFBhcmFtZXRlcjxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFBhcmFtZXRlcjxULCBTPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuZmluZChyID0+IHIucGFyYW1ldGVyRGVmID09PSBwYXJhbWV0ZXJEZWYpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRSZXNvbHZlZFBhcmFtZXRlclZhbHVlPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPik6IFMge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5nZXRSZXNvbHZlZFBhcmFtZXRlcihwYXJhbWV0ZXJEZWYpO1xuICAgIHJldHVybiByZXNvbHZlZFBhcmFtZXRlciA/IHJlc29sdmVkUGFyYW1ldGVyLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIGdldFJvdXRlSWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvbHZlZFJvdXRlSWQoKSA/IHRoaXMuZ2V0UmVzb2x2ZWRSb3V0ZUlkKCkudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRSb3V0ZVBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5yZXNvbHZlZC5maW5kKHIgPT4gci5wYXJhbWV0ZXJEZWYubmFtZSA9PT0gbmFtZSk7XG4gICAgcmV0dXJuIHJlc29sdmVkUGFyYW1ldGVyID8gcmVzb2x2ZWRQYXJhbWV0ZXIudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFJlc29sdmVkUm91dGVJZCgpOiBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFZhbHVlUGFyYW1ldGVyPGFueT4ge1xuICAgIC8vIFJvdXRlSWQncyBhcmUgbmV2ZXIgYXJyYXlzOiBzZWUgcGFyYW1ldGVyLWRlY29yYXRvcnMudHMgY3JlYXRlRGVmaW5pdGlvbiBtZXRob2RzLiBJdCB3b3VsZCBiZSBuaWNlIHRvXG4gICAgLy8gY2FwdHVyZSB0aGlzIGluIHRoZSB0eXBlIHN5c3RlbSB0aG91Z2hcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZC5maW5kKHAgPT4gcC5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkKSBhcyBQYXJhbWV0ZXJTbmFwc2hvdC5SZXNvbHZlZFZhbHVlUGFyYW1ldGVyPGFueT47XG4gIH1cblxuICBoYXNSb3V0ZUlkKCkge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0UmVzb2x2ZWRSb3V0ZUlkKCk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXRSZXNvbHZlZFJvdXRlSWQoKTtcbiAgICByZXR1cm4gcm91dGVJZFBhcmFtID8gcm91dGVJZFBhcmFtLmZvcm1hdHRlZFZhbHVlKCkgOiBudWxsO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkUGFyYW1ldGVycygpIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCByb3V0ZUlkUGFyYW0gPSB0aGlzLnJlc29sdmVkLmZpbHRlcihwID0+ICFwLnBhcmFtZXRlckRlZi5pc1JvdXRlSWQpLmZvckVhY2gocCA9PiB7XG4gICAgICBwYXJhbXNbcC5wYXJhbWV0ZXJEZWYubmFtZV0gPSBwLmZvcm1hdHRlZFZhbHVlKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJlcGxhY2U8VCwgUz4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCB2YWx1ZTogUyk6IFBhcmFtZXRlclNuYXBzaG90IHtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHRoaXMucGxhY2VEZWZpbml0aW9uLCB0aGlzLnJlc29sdmVkLm1hcChwID0+IHtcbiAgICAgIHJldHVybiBwLnBhcmFtZXRlckRlZiA9PT0gcGFyYW1ldGVyID8gcC5yZXBsYWNlKHZhbHVlKSA6IHA7XG4gICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlVXJsKHVybDogVXJsU2VnbWVudFtdKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBhcmFtZXRlclNuYXBzaG90IHtcblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlKHBsYWNlRGVmOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uLCBwYXJhbU1hcDogUGFyYW1NYXApOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXJhbWV0ZXJzOiBSZXNvbHZlZFBhcmFtZXRlcjxhbnksIGFueT5bXSA9IHBsYWNlRGVmLmdldFJvdXRlUGFyYW1ldGVycygpXG4gICAgICAubWFwKGRlZiA9PiB7XG4gICAgICBpZiAoZGVmLmlzQXJyYXkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbU1hcC5oYXMoZGVmLm5hbWUpID8gcGFyYW1NYXAuZ2V0QWxsKGRlZi5uYW1lKS5tYXAocmF3ID0+IGRlZi50eXBlLnBhcnNlKHJhdykpIDogbnVsbDtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNvbHZlZEFycmF5UGFyYW1ldGVyKGRlZiwgdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbU1hcC5oYXMoZGVmLm5hbWUpID8gZGVmLnR5cGUucGFyc2UocGFyYW1NYXAuZ2V0KGRlZi5uYW1lKSkgOiBudWxsO1xuICAgICAgICByZXR1cm4gbmV3IFJlc29sdmVkVmFsdWVQYXJhbWV0ZXIoZGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTbmFwc2hvdChwbGFjZURlZiwgcmVzb2x2ZWRQYXJhbWV0ZXJzKTtcbiAgfVxuXG5cbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc29sdmVkUGFyYW1ldGVyPFQsIFMgPSBUPiB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCByZWFkb25seSB2YWx1ZTogUykge1xuICAgIH1cblxuICAgIGFic3RyYWN0IGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgaXNTYW1lKG90aGVyVmFsdWU6IFMpOiBib29sZWFuO1xuXG4gICAgaXNSb3V0ZUlkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyRGVmLmlzUm91dGVJZDtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIGFic3RyYWN0IHJlcGxhY2UodmFsdWU6IFMpOiBSZXNvbHZlZFBhcmFtZXRlcjxULCBTPjtcbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBSZXNvbHZlZFZhbHVlUGFyYW1ldGVyPFQ+IGV4dGVuZHMgUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgVD4ge1xuICAgIEBUcmFjZSgpXG4gICAgaXNTYW1lKG90aGVyVmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBvdGhlclZhbHVlO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pOiB2b2lkIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnBhcmFtZXRlckRlZi50eXBlLmZvcm1hdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXBsYWNlKHZhbHVlOiBUKTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgVD4ge1xuICAgICAgcmV0dXJuIG5ldyBSZXNvbHZlZFZhbHVlUGFyYW1ldGVyPFQ+KHRoaXMucGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLnZhbHVlKSA/IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHRoaXMudmFsdWUpIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgUmVzb2x2ZWRBcnJheVBhcmFtZXRlcjxUPiBleHRlbmRzIFJlc29sdmVkUGFyYW1ldGVyPFQsIFRbXT4ge1xuICAgIEBUcmFjZSgpXG4gICAgaXNTYW1lKG90aGVyVmFsdWU6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIF8uaXNFcXVhbCh0aGlzLnZhbHVlLCBvdGhlclZhbHVlKTtcbiAgICB9XG5cbiAgICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KTogdm9pZCB7XG4gICAgICBkZXN0W3RoaXMucGFyYW1ldGVyRGVmLm5hbWVdID0gdGhpcy52YWx1ZS5tYXAodiA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLmZvcm1hdCh2KSk7XG4gICAgfVxuXG4gICAgcmVwbGFjZSh2YWx1ZTogVFtdKTogUGFyYW1ldGVyU25hcHNob3QuUmVzb2x2ZWRQYXJhbWV0ZXI8VCwgVFtdPiB7XG4gICAgICByZXR1cm4gbmV3IFJlc29sdmVkQXJyYXlQYXJhbWV0ZXI8VD4odGhpcy5wYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUubWFwKHYgPT4gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodikpIDogW107XG4gICAgfVxuXG4gIH1cblxuXG59XG4iXX0=
|
|
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=
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import _ from 'lodash';
|
|
6
6
|
// WARNING: interface has both a type and a value, skipping emit
|
|
7
7
|
export var ParameterType;
|
|
8
8
|
(function (ParameterType) {
|
|
@@ -91,4 +91,4 @@ export var ParameterType;
|
|
|
91
91
|
ParameterType.NUMBER = new NumberType();
|
|
92
92
|
ParameterType.BOOLEAN = new BooleanType();
|
|
93
93
|
})(ParameterType || (ParameterType = {}));
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXR5cGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7QUFRdkIsTUFBTSxLQUFXLGFBQWEsQ0FtQzdCO0FBbkNELFdBQWlCLGFBQWE7SUFFNUI7UUFBQTtRQVFBLENBQUM7Ozs7O1FBUEMsMkJBQU07Ozs7UUFBTixVQUFPLEtBQWE7WUFDbEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDOzs7OztRQUVELDBCQUFLOzs7O1FBQUwsVUFBTSxLQUFhO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNILGlCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFRDtRQUFBO1FBUUEsQ0FBQzs7Ozs7UUFQQywyQkFBTTs7OztRQUFOLFVBQU8sS0FBYTtZQUNsQixPQUFPLEtBQUcsS0FBTyxDQUFDO1FBQ3BCLENBQUM7Ozs7O1FBRUQsMEJBQUs7Ozs7UUFBTCxVQUFNLEtBQWE7WUFDakIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsQ0FBQztRQUNILGlCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFRDtRQUFBO1FBUUEsQ0FBQzs7Ozs7UUFQQyw0QkFBTTs7OztRQUFOLFVBQU8sS0FBYztZQUNuQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQzs7Ozs7UUFFRCwyQkFBSzs7OztRQUFMLFVBQU0sS0FBYTtZQUNqQixPQUFPLEtBQUssS0FBSyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUNILGtCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFWSxvQkFBTSxHQUFHLElBQUksVUFBVSxFQUFFO0lBQ3pCLG9CQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7SUFDekIscUJBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTtBQUMxQyxDQUFDLEVBbkNnQixhQUFhLEtBQWIsYUFBYSxRQW1DN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclR5cGU8VD4ge1xuICBmb3JtYXQodmFsdWU6IFQpOiBzdHJpbmc7XG5cbiAgcGFyc2UodmFsdWU6IHN0cmluZyk6IFQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyVHlwZSB7XG5cbiAgY2xhc3MgU3RyaW5nVHlwZSBpbXBsZW1lbnRzIFBhcmFtZXRlclR5cGU8c3RyaW5nPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIE51bWJlclR5cGUgaW1wbGVtZW50cyBQYXJhbWV0ZXJUeXBlPG51bWJlcj4ge1xuICAgIGZvcm1hdCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIH1cblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIF8uaXNOaWwodmFsdWUpIHx8IF8uaXNFbXB0eSh2YWx1ZSkgPyBudWxsIDogK3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIEJvb2xlYW5UeXBlIGltcGxlbWVudHMgUGFyYW1ldGVyVHlwZTxib29sZWFuPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgfVxuXG4gICAgcGFyc2UodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFNUUklORyA9IG5ldyBTdHJpbmdUeXBlKCk7XG4gIGV4cG9ydCBjb25zdCBOVU1CRVIgPSBuZXcgTnVtYmVyVHlwZSgpO1xuICBleHBvcnQgY29uc3QgQk9PTEVBTiA9IG5ldyBCb29sZWFuVHlwZSgpO1xufVxuIl19
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { assert, lang, Trace } from '@coolon/pectin';
|
|
7
7
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
8
|
+
import _ from 'lodash';
|
|
9
|
+
import { ParameterDefinition } from './parameter-definition.class';
|
|
10
10
|
/**
|
|
11
11
|
* @template T, S
|
|
12
12
|
*/
|
|
@@ -139,11 +139,10 @@ if (false) {
|
|
|
139
139
|
Sanitiser.prototype.sanitiser;
|
|
140
140
|
}
|
|
141
141
|
var RouteParameterSanitiser = /** @class */ (function () {
|
|
142
|
-
function RouteParameterSanitiser(parameterDefs, snapshot,
|
|
142
|
+
function RouteParameterSanitiser(parameterDefs, snapshot, injector) {
|
|
143
143
|
var _this = this;
|
|
144
144
|
this.parameterDefs = parameterDefs;
|
|
145
145
|
this.snapshot = snapshot;
|
|
146
|
-
this.placeService = placeService;
|
|
147
146
|
this.injector = injector;
|
|
148
147
|
this.parameterSanitisers = [];
|
|
149
148
|
/** @type {?} */
|
|
@@ -236,17 +235,7 @@ var RouteParameterSanitiser = /** @class */ (function () {
|
|
|
236
235
|
* @return {?}
|
|
237
236
|
*/
|
|
238
237
|
function (def) {
|
|
239
|
-
|
|
240
|
-
if (this.isSanitiserContructor(def.sanitiser)) {
|
|
241
|
-
return this.injector.get(def.sanitiser, new def.sanitiser());
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
return new DefaultParameterSanitiser(def, this.placeService, def.sanitiser);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
return null;
|
|
249
|
-
}
|
|
238
|
+
return def.getSanitiser(this.injector);
|
|
250
239
|
};
|
|
251
240
|
/**
|
|
252
241
|
* @return {?}
|
|
@@ -297,7 +286,7 @@ var RouteParameterSanitiser = /** @class */ (function () {
|
|
|
297
286
|
tslib_1.__decorate([
|
|
298
287
|
Memoize(),
|
|
299
288
|
tslib_1.__metadata("design:type", Function),
|
|
300
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
289
|
+
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
301
290
|
tslib_1.__metadata("design:returntype", Object)
|
|
302
291
|
], RouteParameterSanitiser.prototype, "getSanitiser", null);
|
|
303
292
|
tslib_1.__decorate([
|
|
@@ -325,8 +314,6 @@ if (false) {
|
|
|
325
314
|
/** @type {?} */
|
|
326
315
|
RouteParameterSanitiser.prototype.snapshot;
|
|
327
316
|
/** @type {?} */
|
|
328
|
-
RouteParameterSanitiser.prototype.placeService;
|
|
329
|
-
/** @type {?} */
|
|
330
317
|
RouteParameterSanitiser.prototype.injector;
|
|
331
318
|
}
|
|
332
319
|
(function (Sanitiser) {
|
|
@@ -447,4 +434,4 @@ if (false) {
|
|
|
447
434
|
}(Sanitiser));
|
|
448
435
|
Sanitiser.Array = Array;
|
|
449
436
|
})(Sanitiser || (Sanitiser = {}));
|
|
450
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUkxRTs7OztJQUtFLG1CQUFxQixZQUF1QyxFQUFXLFFBQWdDLEVBQVcsU0FBZ0M7UUFBN0gsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7UUFBVyxjQUFTLEdBQVQsU0FBUyxDQUF1QjtJQUNsSixDQUFDOzs7O0lBRUQsNkJBQVM7OztJQUFUO1FBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsc0JBQUksbUNBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRyxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHFDQUFjOzs7O1FBQWxCO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7OztPQUFBOzs7Ozs7SUFFUyw0QkFBUTs7Ozs7SUFBbEIsVUFBbUIsUUFBZ0M7UUFDakQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFD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dCB7IEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vcGxhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBEZWZhdWx0UGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9kZWZhdWx0LXBhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcblxuZXhwb3J0IGNsYXNzIFNhbml0aXNlcjxULCBTPiB7XG5cbiAgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IFM7XG4gIHByaXZhdGUgX3Nhbml0aXNlZFZhbHVlOiBTO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgcmVhZG9ubHkgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHJlYWRvbmx5IHNhbml0aXNlcjogUGFyYW1ldGVyU2FuaXRpc2VyPFM+KSB7XG4gIH1cblxuICBpc1JvdXRlSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyRGVmLmlzUm91dGVJZDtcbiAgfVxuXG4gIGdldCB2YWx1ZUNoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFfLmlzTmlsKHRoaXMuaW5pdGlhbFZhbHVlKSAmJiB0aGlzLmhhc0NoYW5nZWQodGhpcy5pbml0aWFsVmFsdWUsIHRoaXMuc2FuaXRpc2VkVmFsdWUpO1xuICB9XG5cbiAgZ2V0IHNhbml0aXNlZFZhbHVlKCk6IFMge1xuICAgIHJldHVybiB0aGlzLl9zYW5pdGlzZWRWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkRnJvbShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFMge1xuICAgIHJldHVybiBsYW5nLmFic3RyYWN0TWV0aG9kKHRoaXMuY29uc3RydWN0b3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhc0NoYW5nZWQoaW5pdGlhbFZhbHVlOiBTLCBzYW5pdGlzZWRWYWx1ZTogUyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsYW5nLmFic3RyYWN0TWV0aG9kKHRoaXMuY29uc3RydWN0b3IpO1xuICB9XG5cbiAgaW5qZWN0Um91dGVQYXJhbShkZXN0OiB7fSkge1xuICAgIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBhc3luYyBzYW5pdGl6ZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5zYW5pdGlzZXIpIHtcbiAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdGhpcy5yZWFkRnJvbSh0aGlzLnNuYXBzaG90KTtcbiAgICAgIHRoaXMuX3Nhbml0aXNlZFZhbHVlID0gYXdhaXQgdGhpcy5zYW5pdGlzZXIuc2FuaXRpc2UodGhpcy5pbml0aWFsVmFsdWUpO1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlICE9PSB0aGlzLl9zYW5pdGlzZWRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIFJvdXRlUGFyYW1ldGVyU2FuaXRpc2VyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlSWRTYW5pdGlzZXI6IFNhbml0aXNlcjxhbnksIGFueT47XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyU2FuaXRpc2VyczogU2FuaXRpc2VyPGFueSwgYW55PltdID0gW107XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyRGVmczogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgICAgICAgICAgICByZWFkb25seSBwbGFjZVNlcnZpY2U6IFBsYWNlU2VydmljZSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgY29uc3Qgc2FuaXRpc2VycyA9IHBhcmFtZXRlckRlZnMubWFwKGRlZiA9PiB7XG4gICAgICByZXR1cm4gZGVmLmlzQXJyYXkgP1xuICAgICAgICBuZXcgU2FuaXRpc2VyLkFycmF5KGRlZiwgc25hcHNob3QsIHRoaXMuZ2V0U2FuaXRpc2VyKGRlZikpIDpcbiAgICAgICAgbmV3IFNhbml0aXNlci5WYWx1ZShkZWYsIHNuYXBzaG90LCB0aGlzLmdldFNhbml0aXNlcihkZWYpKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlSWRTYW5pdGlzZXIgPSBzYW5pdGlzZXJzLmZpbmQocCA9PiBwLmlzUm91dGVJZCgpKTtcbiAgICB0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMgPSBzYW5pdGlzZXJzLmZpbHRlcihwID0+ICFwLmlzUm91dGVJZCgpKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXNlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnJvdXRlSWRTYW5pdGlzZXIpIHtcbiAgICAgIGF3YWl0IHRoaXMucm91dGVJZFNhbml0aXNlci5zYW5pdGl6ZSgpO1xuICAgICAgaWYgKHRoaXMucm91dGVJZFNhbml0aXNlci52YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgLy8gaWYgdGhlIHJvdXRlIGlkIGlzbid0IG9rIHdlIHJlZGlyZWN0IGltbWVkaWF0ZWx5IGFzIHRoZSBxdWVyeSBwYXJhbXMgbWF5IG5lZWQgdG8gYmUgc2FuaXRpc2VkIGluIHRoZVxuICAgICAgICAvLyBjb250ZXh0IG9mIHRoZSByb3V0ZSBpZC5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHNhbml0aXNlciBvZiB0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMpIHtcbiAgICAgIGF3YWl0IHNhbml0aXNlci5zYW5pdGl6ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gIXRoaXMucGFyYW1ldGVyU2FuaXRpc2Vycy5maW5kKHMgPT4gcy52YWx1ZUNoYW5nZWQpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFNhbml0aXNlcjxULCBTPihkZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4ge1xuICAgIGlmIChkZWYuc2FuaXRpc2VyKSB7XG4gICAgICBpZiAodGhpcy5pc1Nhbml0aXNlckNvbnRydWN0b3I8Uz4oZGVmLnNhbml0aXNlcikpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0PFBhcmFtZXRlclNhbml0aXNlcjxTPj4oZGVmLnNhbml0aXNlciwgbmV3IGRlZi5zYW5pdGlzZXIoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXIoZGVmLCB0aGlzLnBsYWNlU2VydmljZSwgZGVmLnNhbml0aXNlcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJvdXRlSWRIYXNDaGFuZ2VkKCk6Ym9vbGVhbiB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMucGFyYW1ldGVyU2FuaXRpc2Vycy5sZW5ndGggIT09IDApO1xuICAgIHJldHVybiB0aGlzLnJvdXRlSWRTYW5pdGlzZXIgJiYgdGhpcy5yb3V0ZUlkU2FuaXRpc2VyLnZhbHVlQ2hhbmdlZDtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIGdldFJlZGlyZWN0UGFyYW1zKCk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5yb3V0ZUlkSGFzQ2hhbmdlZCgpKSB7XG4gICAgICByZXR1cm4gW3RoaXMucm91dGVJZFNhbml0aXNlci5zYW5pdGlzZWRWYWx1ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJvdXRlUGFyYW1zID0ge307XG4gICAgICB0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMuZm9yRWFjaChzID0+IHMuaW5qZWN0Um91dGVQYXJhbShyb3V0ZVBhcmFtcykpO1xuICAgICAgcmV0dXJuIFtyb3V0ZVBhcmFtc107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1Nhbml0aXNlckNvbnRydWN0b3I8Uz4odmFsdWU6IGFueSk6IHZhbHVlIGlzIFR5cGU8UGFyYW1ldGVyU2FuaXRpc2VyPFM+PiB7XG4gICAgcmV0dXJuIF8uaXNGdW5jdGlvbih2YWx1ZSkgJiYgbGFuZy5jb25zdHJ1Y3RvckNoYWluKHZhbHVlIGFzIHVua25vd24gYXMgQ29uc3RydWN0YWJsZTxhbnk+KS5pbmNsdWRlcyhTYW5pdGlzZXIpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2FuaXRpc2VyIHtcblxuICBleHBvcnQgY2xhc3MgVmFsdWU8VD4gZXh0ZW5kcyBTYW5pdGlzZXI8VCwgVD4ge1xuXG4gICAgcmVhZEZyb20oc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBUIHtcbiAgICAgIGNvbnN0IHJhd1ZhbHVlID0gc25hcHNob3QucGFyYW1NYXAuZ2V0KHRoaXMucGFyYW1ldGVyRGVmLm5hbWUpO1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyRGVmLnR5cGUucGFyc2UocmF3VmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYXNDaGFuZ2VkKGluaXRpYWxWYWx1ZTogVCwgc2FuaXRpc2VkVmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgIT09IHNhbml0aXNlZFZhbHVlO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnBhcmFtZXRlckRlZi50eXBlLmZvcm1hdCh0aGlzLnNhbml0aXNlZFZhbHVlKTtcbiAgICB9XG5cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBBcnJheTxUPiBleHRlbmRzIFNhbml0aXNlcjxULCBUW10+IHtcblxuICAgIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogVFtdIHtcbiAgICAgIGNvbnN0IHJhd1ZhbHVlcyA9IHNuYXBzaG90LnBhcmFtTWFwLmdldEFsbCh0aGlzLnBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgIHJldHVybiByYXdWYWx1ZXMubWFwKHZhbHVlID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUucGFyc2UodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFRbXSwgc2FuaXRpc2VkVmFsdWU6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGluaXRpYWxWYWx1ZSAhPT0gc2FuaXRpc2VkVmFsdWU7XG4gICAgfVxuXG4gICAgaW5qZWN0Um91dGVQYXJhbShkZXN0OiB7fSkge1xuICAgICAgZGVzdFt0aGlzLnBhcmFtZXRlckRlZi5uYW1lXSA9IHRoaXMuc2FuaXRpc2VkVmFsdWUubWFwKHYgPT4gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodikpO1xuICAgIH1cblxuXG4gIH1cblxufVxuIl19
|
|
437
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFHbkU7Ozs7SUFLRSxtQkFBcUIsWUFBdUMsRUFBVyxRQUFnQyxFQUFXLFNBQWdDO1FBQTdILGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQXdCO1FBQVcsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFDbEosQ0FBQzs7OztJQUVELDZCQUFTOzs7SUFBVDtRQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFJLG1DQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDOzs7T0FBQTs7Ozs7O0lBRVMsNEJBQVE7Ozs7O0lBQWxCLFVBQW1CLFFBQWdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJ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LE9BQU8sU0FBUyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBbkMsQ0FBbUMsRUFBQyxDQUFDO1FBQ3JFLENBQUM7Ozs7Ozs7UUFFUywwQkFBVTs7Ozs7O1FBQXBCLFVBQXFCLFlBQWlCLEVBQUUsY0FBbUI7WUFDekQsT0FBTyxZQUFZLEtBQUssY0FBYyxDQUFDO1FBQ3pDLENBQUM7Ozs7O1FBRUQsZ0NBQWdCOzs7O1FBQWhCLFVBQWlCLElBQVE7WUFBekIsaUJBRUM7WUFEQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBaEMsQ0FBZ0MsRUFBQyxDQUFDO1FBQ2hHLENBQUM7UUFHSCxZQUFDO0lBQUQsQ0FBQyxBQWhCRCxDQUE4QixTQUFTLEdBZ0J0QztJQWhCWSxlQUFLLFFBZ0JqQixDQUFBO0FBRUgsQ0FBQyxFQXJDZ0IsU0FBUyxLQUFULFNBQVMsUUFxQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5leHBvcnQgY2xhc3MgU2FuaXRpc2VyPFQsIFM+IHtcblxuICBwcml2YXRlIGluaXRpYWxWYWx1ZTogUztcbiAgcHJpdmF0ZSBfc2FuaXRpc2VkVmFsdWU6IFM7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCByZWFkb25seSBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcmVhZG9ubHkgc2FuaXRpc2VyOiBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4pIHtcbiAgfVxuXG4gIGlzUm91dGVJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJEZWYuaXNSb3V0ZUlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5pbml0aWFsVmFsdWUpICYmIHRoaXMuaGFzQ2hhbmdlZCh0aGlzLmluaXRpYWxWYWx1ZSwgdGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gIH1cblxuICBnZXQgc2FuaXRpc2VkVmFsdWUoKTogUyB7XG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXNlZFZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUyB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFMsIHNhbml0aXNlZFZhbHVlOiBTKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3Rvcik7XG4gIH1cblxuICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXplKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNhbml0aXNlcikge1xuICAgICAgdGhpcy5pbml0aWFsVmFsdWUgPSB0aGlzLnJlYWRGcm9tKHRoaXMuc25hcHNob3QpO1xuICAgICAgdGhpcy5fc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCB0aGlzLnNhbml0aXNlci5zYW5pdGlzZSh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgIT09IHRoaXMuX3Nhbml0aXNlZFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgUm91dGVQYXJhbWV0ZXJTYW5pdGlzZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVJZFNhbml0aXNlcjogU2FuaXRpc2VyPGFueSwgYW55PjtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJTYW5pdGlzZXJzOiBTYW5pdGlzZXI8YW55LCBhbnk+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwYXJhbWV0ZXJEZWZzOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IHNhbml0aXNlcnMgPSBwYXJhbWV0ZXJEZWZzLm1hcChkZWYgPT4ge1xuICAgICAgcmV0dXJuIGRlZi5pc0FycmF5ID9cbiAgICAgICAgbmV3IFNhbml0aXNlci5BcnJheShkZWYsIHNuYXBzaG90LCB0aGlzLmdldFNhbml0aXNlcihkZWYpKSA6XG4gICAgICAgIG5ldyBTYW5pdGlzZXIuVmFsdWUoZGVmLCBzbmFwc2hvdCwgdGhpcy5nZXRTYW5pdGlzZXIoZGVmKSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZUlkU2FuaXRpc2VyID0gc2FuaXRpc2Vycy5maW5kKHAgPT4gcC5pc1JvdXRlSWQoKSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzID0gc2FuaXRpc2Vycy5maWx0ZXIocCA9PiAhcC5pc1JvdXRlSWQoKSk7XG4gIH1cblxuICBhc3luYyBzYW5pdGlzZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZUlkU2FuaXRpc2VyKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICAgIGlmICh0aGlzLnJvdXRlSWRTYW5pdGlzZXIudmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpc24ndCBvayB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyB0aGUgcXVlcnkgcGFyYW1zIG1heSBuZWVkIHRvIGJlIHNhbml0aXNlZCBpbiB0aGVcbiAgICAgICAgLy8gY29udGV4dCBvZiB0aGUgcm91dGUgaWQuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBzYW5pdGlzZXIgb2YgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzKSB7XG4gICAgICBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpemUoKTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMuZmluZChzID0+IHMudmFsdWVDaGFuZ2VkKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRTYW5pdGlzZXI8VCwgUz4oZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgICByZXR1cm4gZGVmLmdldFNhbml0aXNlcih0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIHJvdXRlSWRIYXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLnBhcmFtZXRlclNhbml0aXNlcnMubGVuZ3RoICE9PSAwKTtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUlkU2FuaXRpc2VyICYmIHRoaXMucm91dGVJZFNhbml0aXNlci52YWx1ZUNoYW5nZWQ7XG4gIH1cblxuICBAVHJhY2UoKVxuICBnZXRSZWRpcmVjdFBhcmFtcygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMucm91dGVJZEhhc0NoYW5nZWQoKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlSWRTYW5pdGlzZXIuc2FuaXRpc2VkVmFsdWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHt9O1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTYW5pdGlzZXJzLmZvckVhY2gocyA9PiBzLmluamVjdFJvdXRlUGFyYW0ocm91dGVQYXJhbXMpKTtcbiAgICAgIHJldHVybiBbcm91dGVQYXJhbXNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNTYW5pdGlzZXJDb250cnVjdG9yPFM+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUeXBlPFBhcmFtZXRlclNhbml0aXNlcjxTPj4ge1xuICAgIHJldHVybiBfLmlzRnVuY3Rpb24odmFsdWUpICYmIGxhbmcuY29uc3RydWN0b3JDaGFpbih2YWx1ZSBhcyB1bmtub3duIGFzIENvbnN0cnVjdGFibGU8YW55PikuaW5jbHVkZXMoU2FuaXRpc2VyKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhbml0aXNlciB7XG5cbiAgZXhwb3J0IGNsYXNzIFZhbHVlPFQ+IGV4dGVuZHMgU2FuaXRpc2VyPFQsIFQ+IHtcblxuICAgIHJlYWRGcm9tKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogVCB7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHNuYXBzaG90LnBhcmFtTWFwLmdldCh0aGlzLnBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHJhd1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFzQ2hhbmdlZChpbml0aWFsVmFsdWU6IFQsIHNhbml0aXNlZFZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5pdGlhbFZhbHVlICE9PSBzYW5pdGlzZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBpbmplY3RSb3V0ZVBhcmFtKGRlc3Q6IHt9KSB7XG4gICAgICBkZXN0W3RoaXMucGFyYW1ldGVyRGVmLm5hbWVdID0gdGhpcy5wYXJhbWV0ZXJEZWYudHlwZS5mb3JtYXQodGhpcy5zYW5pdGlzZWRWYWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXk8VD4gZXh0ZW5kcyBTYW5pdGlzZXI8VCwgVFtdPiB7XG5cbiAgICByZWFkRnJvbShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFRbXSB7XG4gICAgICBjb25zdCByYXdWYWx1ZXMgPSBzbmFwc2hvdC5wYXJhbU1hcC5nZXRBbGwodGhpcy5wYXJhbWV0ZXJEZWYubmFtZSk7XG4gICAgICByZXR1cm4gcmF3VmFsdWVzLm1hcCh2YWx1ZSA9PiB0aGlzLnBhcmFtZXRlckRlZi50eXBlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhc0NoYW5nZWQoaW5pdGlhbFZhbHVlOiBUW10sIHNhbml0aXNlZFZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgIT09IHNhbml0aXNlZFZhbHVlO1xuICAgIH1cblxuICAgIGluamVjdFJvdXRlUGFyYW0oZGVzdDoge30pIHtcbiAgICAgIGRlc3RbdGhpcy5wYXJhbWV0ZXJEZWYubmFtZV0gPSB0aGlzLnNhbml0aXNlZFZhbHVlLm1hcCh2ID0+IHRoaXMucGFyYW1ldGVyRGVmLnR5cGUuZm9ybWF0KHYpKTtcbiAgICB9XG5cblxuICB9XG5cbn1cbiJdfQ==
|
package/esm5/lib/place/visit.js
CHANGED
|
@@ -19,4 +19,4 @@ if (false) {
|
|
|
19
19
|
*/
|
|
20
20
|
Visit.prototype.getRouteParameter = function (name) { };
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvdmlzaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLDJCQU1DOzs7SUFMQyxnQ0FBMEM7Ozs7SUFFMUMsNkNBQWtCOzs7OztJQUVsQix3REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuXG4vLyBUT0RPOiBJdCdkIGJlIG5pY2UgaWYgd2UgZ2VuZXJhdGVkIGEgdHlwZSBmb3IgdGhpcy4uLlxuZXhwb3J0IGludGVyZmFjZSBWaXNpdCB7XG4gIHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uO1xuXG4gIGdldFJvdXRlSWQoKTogYW55O1xuXG4gIGdldFJvdXRlUGFyYW1ldGVyKG5hbWU6IHN0cmluZyk6IGFueTtcbn1cbiJdfQ==
|
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, Place, PlaceModule,
|
|
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, DefaultParameterSanitiser, RouteId, RouteParameter, RouteParameterList, ParameterDefinition, ParameterSnapshot, ParameterType, Sanitiser, RouteParameterSanitiser } from './lib/place';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLDhPQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHVpQkFBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLXVpLXBvd2VydXBzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGFjZSc7XG4iXX0=
|