@coolon/angular-ui-powerups 0.0.32 → 0.0.34

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.
Files changed (60) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +847 -765
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +33 -4
  9. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  10. package/esm2015/lib/place/guards/leave-place.guard.js +1 -1
  11. package/esm2015/lib/place/i-place-component.js +17 -0
  12. package/esm2015/lib/place/i-place-service.js +16 -0
  13. package/esm2015/lib/place/index.js +8 -4
  14. package/esm2015/lib/place/place-component.js +163 -7
  15. package/esm2015/lib/place/place.decorator.js +7 -87
  16. package/esm2015/lib/place/place.service.js +47 -8
  17. package/esm2015/lib/place/route/parameter-decorators.js +1 -42
  18. package/esm2015/lib/place/route/resolved-parameter.js +16 -0
  19. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +106 -0
  20. package/esm2015/lib/place/route/route-parameter-bindings.js +14 -158
  21. package/esm2015/lib/place/route/visit-snapshot.js +7 -0
  22. package/esm2015/public_api.js +2 -2
  23. package/esm5/coolon-angular-ui-powerups.js +2 -2
  24. package/esm5/index.js +2 -2
  25. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +40 -4
  26. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  27. package/esm5/lib/place/guards/leave-place.guard.js +1 -1
  28. package/esm5/lib/place/i-place-component.js +17 -0
  29. package/esm5/lib/place/i-place-service.js +16 -0
  30. package/esm5/lib/place/index.js +8 -4
  31. package/esm5/lib/place/place-component.js +191 -7
  32. package/esm5/lib/place/place.decorator.js +7 -97
  33. package/esm5/lib/place/place.service.js +52 -10
  34. package/esm5/lib/place/route/parameter-decorators.js +1 -42
  35. package/esm5/lib/place/route/resolved-parameter.js +16 -0
  36. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +129 -0
  37. package/esm5/lib/place/route/route-parameter-bindings.js +13 -185
  38. package/esm5/lib/place/route/visit-snapshot.js +11 -0
  39. package/esm5/public_api.js +2 -2
  40. package/fesm2015/coolon-angular-ui-powerups.js +777 -712
  41. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  42. package/fesm5/coolon-angular-ui-powerups.js +843 -761
  43. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  44. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -0
  45. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +1 -2
  46. package/lib/place/i-place-component.d.ts +5 -0
  47. package/lib/place/i-place-service.d.ts +10 -0
  48. package/lib/place/index.d.ts +5 -1
  49. package/lib/place/place-component.d.ts +39 -1
  50. package/lib/place/place.decorator.d.ts +1 -25
  51. package/lib/place/place.service.d.ts +13 -2
  52. package/lib/place/route/parameter-decorators.d.ts +0 -12
  53. package/lib/place/route/resolved-parameter.d.ts +5 -0
  54. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +12 -0
  55. package/lib/place/route/route-parameter-bindings.d.ts +3 -4
  56. package/lib/place/route/visit-snapshot.d.ts +2 -0
  57. package/package.json +1 -1
  58. package/esm2015/lib/place/abstract-place-component.js +0 -50
  59. package/esm5/lib/place/abstract-place-component.js +0 -57
  60. package/lib/place/abstract-place-component.d.ts +0 -11
@@ -2,14 +2,198 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- /**
6
- * @record
7
- */
8
- export function PlaceComponent() { }
9
- if (false) {
5
+ import * as tslib_1 from "tslib";
6
+ import { assert, lang, Trace } from '@coolon/pectin';
7
+ import { Memoize } from '@typescript-plus/fast-memoize-decorator';
8
+ import * as _ from 'lodash';
9
+ import 'reflect-metadata';
10
+ import { DisposableComponent } from '../components/disposable-component';
11
+ import { RouteParameterBindings } from './route/route-parameter-bindings';
12
+ // RAKE: making this Symbol(...) broke things.
13
+ /** @type {?} */
14
+ export var DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
15
+ var PlaceComponent = /** @class */ (function (_super) {
16
+ tslib_1.__extends(PlaceComponent, _super);
17
+ function PlaceComponent(activatedRoute, placeService) {
18
+ var _this = _super.call(this) || this;
19
+ _this.activatedRoute = activatedRoute;
20
+ _this.routeBindingMediator = _this.registerDisposable(new RouteParameterBindings(_this, placeService));
21
+ return _this;
22
+ }
23
+ Object.defineProperty(PlaceComponent.prototype, "placeConfig", {
24
+ get: /**
25
+ * @return {?}
26
+ */
27
+ function () {
28
+ return PlaceComponent.getDefinition((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
29
+ },
30
+ enumerable: true,
31
+ configurable: true
32
+ });
10
33
  /**
11
34
  * @return {?}
12
35
  */
13
- PlaceComponent.prototype.canDeactivate = function () { };
36
+ PlaceComponent.prototype.canDeactivate = /**
37
+ * @return {?}
38
+ */
39
+ function () {
40
+ return true;
41
+ };
42
+ /**
43
+ * @return {?}
44
+ */
45
+ PlaceComponent.prototype.onPlaceReady = /**
46
+ * @return {?}
47
+ */
48
+ function () {
49
+ };
50
+ tslib_1.__decorate([
51
+ Memoize(),
52
+ tslib_1.__metadata("design:type", PlaceComponent.Definition),
53
+ tslib_1.__metadata("design:paramtypes", [])
54
+ ], PlaceComponent.prototype, "placeConfig", null);
55
+ tslib_1.__decorate([
56
+ Trace(),
57
+ tslib_1.__metadata("design:type", Function),
58
+ tslib_1.__metadata("design:paramtypes", []),
59
+ tslib_1.__metadata("design:returntype", void 0)
60
+ ], PlaceComponent.prototype, "onPlaceReady", null);
61
+ return PlaceComponent;
62
+ }(DisposableComponent));
63
+ export { PlaceComponent };
64
+ if (false) {
65
+ /**
66
+ * @type {?}
67
+ * @private
68
+ */
69
+ PlaceComponent.prototype.routeBindingMediator;
70
+ /** @type {?} */
71
+ PlaceComponent.prototype.activatedRoute;
14
72
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsb0NBRUM7Ozs7O0lBREMseURBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQbGFjZUNvbXBvbmVudCB7XG4gIGNhbkRlYWN0aXZhdGUoKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG59XG4iXX0=
73
+ (function (PlaceComponent) {
74
+ var Definition = /** @class */ (function () {
75
+ function Definition(component, options) {
76
+ this.component = component;
77
+ assert.notNil(options);
78
+ this.path = options.path;
79
+ this.order = options.order;
80
+ this.data = options.data;
81
+ this.authenticate = _.isNil(options.authenticate) || options.authenticate;
82
+ }
83
+ /**
84
+ * @param {?} construcable
85
+ * @return {?}
86
+ */
87
+ Definition.prototype.isDescriptorForType = /**
88
+ * @param {?} construcable
89
+ * @return {?}
90
+ */
91
+ function (construcable) {
92
+ return lang.constructorChain(construcable).includes(PlaceComponent);
93
+ };
94
+ /**
95
+ * @param {?} placeComponent
96
+ * @return {?}
97
+ */
98
+ Definition.prototype.isDescriptorFor = /**
99
+ * @param {?} placeComponent
100
+ * @return {?}
101
+ */
102
+ function (placeComponent) {
103
+ return placeComponent.constructor === this.component;
104
+ };
105
+ /**
106
+ * @template T
107
+ * @param {?} key
108
+ * @param {?=} defaultValue
109
+ * @return {?}
110
+ */
111
+ Definition.prototype.getData = /**
112
+ * @template T
113
+ * @param {?} key
114
+ * @param {?=} defaultValue
115
+ * @return {?}
116
+ */
117
+ function (key, defaultValue) {
118
+ return this.data ?
119
+ _.isNil(this.data[key]) ? defaultValue : this.data[key] :
120
+ defaultValue;
121
+ };
122
+ /**
123
+ * @template T
124
+ * @param {?} keys
125
+ * @param {?=} defaultValue
126
+ * @return {?}
127
+ */
128
+ Definition.prototype.searchData = /**
129
+ * @template T
130
+ * @param {?} keys
131
+ * @param {?=} defaultValue
132
+ * @return {?}
133
+ */
134
+ function (keys, defaultValue) {
135
+ var _this = this;
136
+ if (this.data) {
137
+ /** @type {?} */
138
+ var found = keys.find((/**
139
+ * @param {?} key
140
+ * @return {?}
141
+ */
142
+ function (key) { return !_.isNil(_this.data[key]); }));
143
+ return found ? this.data[found] : defaultValue;
144
+ }
145
+ else {
146
+ return defaultValue;
147
+ }
148
+ };
149
+ return Definition;
150
+ }());
151
+ PlaceComponent.Definition = Definition;
152
+ if (false) {
153
+ /** @type {?} */
154
+ Definition.prototype.path;
155
+ /** @type {?} */
156
+ Definition.prototype.authenticate;
157
+ /** @type {?} */
158
+ Definition.prototype.order;
159
+ /** @type {?} */
160
+ Definition.prototype.data;
161
+ /** @type {?} */
162
+ Definition.prototype.component;
163
+ }
164
+ /**
165
+ * @record
166
+ */
167
+ function Options() { }
168
+ PlaceComponent.Options = Options;
169
+ if (false) {
170
+ /** @type {?} */
171
+ Options.prototype.path;
172
+ /** @type {?} */
173
+ Options.prototype.order;
174
+ /** @type {?|undefined} */
175
+ Options.prototype.data;
176
+ /** @type {?|undefined} */
177
+ Options.prototype.authenticate;
178
+ }
179
+ /**
180
+ * @param {?} klass
181
+ * @return {?}
182
+ */
183
+ function getDefinition(klass) {
184
+ /** @type {?} */
185
+ var placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
186
+ return new Definition(klass, placeOptions);
187
+ }
188
+ PlaceComponent.getDefinition = getDefinition;
189
+ /**
190
+ * @param {?} klass
191
+ * @param {?} options
192
+ * @return {?}
193
+ */
194
+ function injectDefinition(klass, options) {
195
+ Reflect.defineMetadata(DEFINITION_META_DATA_KEY, options, klass);
196
+ }
197
+ PlaceComponent.injectDefinition = injectDefinition;
198
+ })(PlaceComponent || (PlaceComponent = {}));
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRzFFLE1BQU0sS0FBTyx3QkFBd0IsR0FBRywwQkFBMEI7QUFFbEU7SUFBb0MsMENBQW1CO0lBSXJELHdCQUFxQixjQUE4QixFQUFFLFlBQTJCO1FBQWhGLFlBQ0UsaUJBQU8sU0FFUjtRQUhvQixvQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFakQsS0FBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLEtBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDOztJQUN0RyxDQUFDO0lBR0Qsc0JBQUksdUNBQVc7Ozs7UUFBZjtZQUNFLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsV0FBVyxFQUFPLEVBQWlDLENBQUMsQ0FBQztRQUNoRyxDQUFDOzs7T0FBQTs7OztJQUVELHNDQUFhOzs7SUFBYjtRQUNFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUdELHFDQUFZOzs7SUFBWjtJQUNBLENBQUM7SUFWRDtRQURDLE9BQU8sRUFBRTswQ0FDUyxjQUFjLENBQUMs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QUM7SUFDbkUsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUdILENBQUMsRUEzRGdCLGNBQWMsS0FBZCxjQUFjLFFBMkQ5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUGxhY2VDb21wb25lbnQgfSBmcm9tICcuL2ktcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IElQbGFjZVNlcnZpY2UgfSBmcm9tICcuL2ktcGxhY2Utc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIH0gZnJvbSAnLi9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItYmluZGluZ3MnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBJUGxhY2VDb21wb25lbnQge1xuXG4gIHByaXZhdGUgcm91dGVCaW5kaW5nTWVkaWF0b3I6IFJvdXRlUGFyYW1ldGVyQmluZGluZ3M7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwbGFjZVNlcnZpY2U6IElQbGFjZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucm91dGVCaW5kaW5nTWVkaWF0b3IgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyh0aGlzLCBwbGFjZVNlcnZpY2UpKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0IHBsYWNlQ29uZmlnKCk6IFBsYWNlQ29tcG9uZW50LkRlZmluaXRpb24ge1xuICAgIHJldHVybiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHRoaXMuY29uc3RydWN0b3IgYXMgYW55IGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25QbGFjZVJlYWR5KCkge1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZUNvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGNsYXNzIERlZmluaXRpb24ge1xuICAgIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgICByZWFkb25seSBhdXRoZW50aWNhdGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgb3JkZXI6IG51bWJlcjtcbiAgICByZWFkb25seSBkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Piwgb3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICAgICAgYXNzZXJ0Lm5vdE5pbChvcHRpb25zKTtcbiAgICAgIHRoaXMucGF0aCA9IG9wdGlvbnMucGF0aDtcbiAgICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyO1xuICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGUgPSBfLmlzTmlsKG9wdGlvbnMuYXV0aGVudGljYXRlKSB8fCBvcHRpb25zLmF1dGhlbnRpY2F0ZTtcbiAgICB9XG5cbiAgICBpc0Rlc2NyaXB0b3JGb3JUeXBlKGNvbnN0cnVjYWJsZTogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pIHtcbiAgICAgIHJldHVybiBsYW5nLmNvbnN0cnVjdG9yQ2hhaW4oY29uc3RydWNhYmxlKS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yKHBsYWNlQ29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIHBsYWNlQ29tcG9uZW50LmNvbnN0cnVjdG9yID09PSB0aGlzLmNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBnZXREYXRhPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhID9cbiAgICAgICAgXy5pc05pbCh0aGlzLmRhdGFba2V5XSkgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLmRhdGFba2V5XSA6XG4gICAgICAgIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBzZWFyY2hEYXRhPFQ+KGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0ga2V5cy5maW5kKGtleSA9PiAhXy5pc05pbCh0aGlzLmRhdGFba2V5XSkpO1xuICAgICAgICByZXR1cm4gZm91bmQgPyB0aGlzLmRhdGFbZm91bmRdIDogZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9yZGVyOiBudW1iZXI7XG4gICAgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBhdXRoZW50aWNhdGU/OiBib29sZWFuIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICAvLyBjaGlsZE9mPzogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXREZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IERlZmluaXRpb24ge1xuICAgIGNvbnN0IHBsYWNlT3B0aW9ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZLCBrbGFzcyk7XG4gICAgcmV0dXJuIG5ldyBEZWZpbml0aW9uKGtsYXNzLCBwbGFjZU9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIG9wdGlvbnMsIGtsYXNzKTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -2,9 +2,8 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { assert } from '@coolon/pectin';
6
- import * as _ from 'lodash';
7
- import 'reflect-metadata';
5
+ import { lang } from '@coolon/pectin';
6
+ import { PlaceComponent } from './place-component';
8
7
  /**
9
8
  * @param {?} options
10
9
  * @return {?}
@@ -15,99 +14,10 @@ export function Place(options) {
15
14
  * @return {?}
16
15
  */
17
16
  function (target) {
18
- Reflect.defineMetadata('place.options', options, target);
17
+ if (!lang.constructorChain((/** @type {?} */ (target))).includes(PlaceComponent)) {
18
+ lang.illegalState(target + " must extend PlaceComponent to use the @Place decorator");
19
+ }
20
+ PlaceComponent.injectDefinition((/** @type {?} */ (target)), options);
19
21
  });
20
22
  }
21
- (function (Place) {
22
- /**
23
- * @record
24
- */
25
- function Options() { }
26
- Place.Options = Options;
27
- if (false) {
28
- /** @type {?} */
29
- Options.prototype.path;
30
- /** @type {?} */
31
- Options.prototype.order;
32
- /** @type {?|undefined} */
33
- Options.prototype.data;
34
- /** @type {?|undefined} */
35
- Options.prototype.authenticate;
36
- }
37
- var Descriptor = /** @class */ (function () {
38
- function Descriptor(placeClass, options) {
39
- assert.notNil(options);
40
- this.path = options.path;
41
- this.order = options.order;
42
- this.data = options.data;
43
- this.authenticate = _.isNil(options.authenticate) || options.authenticate;
44
- }
45
- /**
46
- * @template T
47
- * @param {?} key
48
- * @param {?=} defaultValue
49
- * @return {?}
50
- */
51
- Descriptor.prototype.getData = /**
52
- * @template T
53
- * @param {?} key
54
- * @param {?=} defaultValue
55
- * @return {?}
56
- */
57
- function (key, defaultValue) {
58
- return this.data ?
59
- _.isNil(this.data[key]) ? defaultValue : this.data[key] :
60
- defaultValue;
61
- };
62
- /**
63
- * @template T
64
- * @param {?} keys
65
- * @param {?=} defaultValue
66
- * @return {?}
67
- */
68
- Descriptor.prototype.searchData = /**
69
- * @template T
70
- * @param {?} keys
71
- * @param {?=} defaultValue
72
- * @return {?}
73
- */
74
- function (keys, defaultValue) {
75
- var _this = this;
76
- if (this.data) {
77
- /** @type {?} */
78
- var found = keys.find((/**
79
- * @param {?} key
80
- * @return {?}
81
- */
82
- function (key) { return !_.isNil(_this.data[key]); }));
83
- return found ? this.data[found] : defaultValue;
84
- }
85
- else {
86
- return defaultValue;
87
- }
88
- };
89
- return Descriptor;
90
- }());
91
- Place.Descriptor = Descriptor;
92
- if (false) {
93
- /** @type {?} */
94
- Descriptor.prototype.path;
95
- /** @type {?} */
96
- Descriptor.prototype.authenticate;
97
- /** @type {?} */
98
- Descriptor.prototype.order;
99
- /** @type {?} */
100
- Descriptor.prototype.data;
101
- }
102
- /**
103
- * @param {?} klass
104
- * @return {?}
105
- */
106
- function getDescriptor(klass) {
107
- /** @type {?} */
108
- var placeOptions = Reflect.getMetadata('place.options', klass);
109
- return new Descriptor(klass, placeOptions);
110
- }
111
- Place.getDescriptor = getDescriptor;
112
- })(Place || (Place = {}));
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLGtCQUFrQixDQUFDOzs7OztBQUcxQixNQUFNLFVBQVUsS0FBSyxDQUFDLE9BQXNCO0lBQzFDOzs7O0lBQU8sVUFBQyxNQUFnQjtRQUN0QixPQUFPLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQyxFQUFDO0FBQ0osQ0FBQztBQUVELFdBQWlCLEtBQUs7Ozs7SUFDcEIsc0JBTUM7Ozs7UUFMQyx1QkFBYTs7UUFDYix3QkFBYzs7UUFDZCx1QkFBMkI7O1FBQzNCLCtCQUFzQjs7SUFJeEI7UUFNRSxvQkFBWSxVQUF5QyxFQUFFLE9BQWdCO1lBQ3JFLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzVFLENBQUM7Ozs7Ozs7UUFFRCw0QkFBTzs7Ozs7O1FBQVAsVUFBVyxHQUFVLEVBQUUsWUFBZTtZQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxZQUFZLENBQUM7UUFDakIsQ0FBQzs7Ozs7OztRQUNELCtCQUFVOzs7Ozs7UUFBVixVQUFjLElBQWEsRUFBRSxZQUFlO1lBQTVDLGlCQU9DO1lBTkMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFOztvQkFDUCxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUF4QixDQUF3QixFQUFDO2dCQUN4RCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQ2hEO2lCQUFNO2dCQUNMLE9BQU8sWUFBWSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQztRQUNILGlCQUFDO0lBQUQsQ0FBQyxBQTNCRCxJQTJCQztJQTNCWSxnQkFBVSxhQTJCdEIsQ0FBQTs7O1FBMUJDLDBCQUFzQjs7UUFDdEIsa0NBQStCOztRQUMvQiwyQkFBdUI7O1FBQ3ZCLDBCQUFtQzs7Ozs7O0lBeUJyQyxTQUFnQixhQUFhLENBQUMsS0FBb0M7O1lBQzFELFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUM7UUFDaEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUhlLG1CQUFhLGdCQUc1QixDQUFBO0FBQ0gsQ0FBQyxFQTFDZ0IsS0FBSyxLQUFMLEtBQUssUUEwQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2UuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdwbGFjZS5vcHRpb25zJywgb3B0aW9ucywgdGFyZ2V0KTtcbiAgfTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZSB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9yZGVyOiBudW1iZXI7XG4gICAgZGF0YT86IHtba2V5OnN0cmluZ106IGFueX0sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBhdXRoZW50aWNhdGU/OiBib29sZWFuIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICAvLyBjaGlsZE9mPzogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBEZXNjcmlwdG9yIHtcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXV0aGVudGljYXRlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG9yZGVyOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZGF0YToge1trZXk6c3RyaW5nXTogYW55fTtcblxuICAgIGNvbnN0cnVjdG9yKHBsYWNlQ2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICBhc3NlcnQubm90TmlsKG9wdGlvbnMpO1xuICAgICAgdGhpcy5wYXRoID0gb3B0aW9ucy5wYXRoO1xuICAgICAgdGhpcy5vcmRlciA9IG9wdGlvbnMub3JkZXI7XG4gICAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgICB0aGlzLmF1dGhlbnRpY2F0ZSA9IF8uaXNOaWwob3B0aW9ucy5hdXRoZW50aWNhdGUpIHx8IG9wdGlvbnMuYXV0aGVudGljYXRlO1xuICAgIH1cblxuICAgIGdldERhdGE8VD4oa2V5OnN0cmluZywgZGVmYXVsdFZhbHVlPzpUKTpUIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEgP1xuICAgICAgICBfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSA/IGRlZmF1bHRWYWx1ZSA6IHRoaXMuZGF0YVtrZXldIDpcbiAgICAgICAgZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgICBzZWFyY2hEYXRhPFQ+KGtleXM6c3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86VCk6VCB7XG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0ga2V5cy5maW5kKGtleSA9PiAhXy5pc05pbCh0aGlzLmRhdGFba2V5XSkpO1xuICAgICAgICByZXR1cm4gZm91bmQgPyB0aGlzLmRhdGFbZm91bmRdIDogZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBwbGFjZU9wdGlvbnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdwbGFjZS5vcHRpb25zJywga2xhc3MpO1xuICAgIHJldHVybiBuZXcgRGVzY3JpcHRvcihrbGFzcywgcGxhY2VPcHRpb25zKTtcbiAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBK0I7SUFDbkQ7Ozs7SUFBTyxVQUFDLE1BQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQUEsTUFBTSxFQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9FLElBQUksQ0FBQyxZQUFZLENBQUksTUFBTSw0REFBeUQsQ0FBQyxDQUFBO1NBQ3hGO1FBQ0QsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAoIWxhbmcuY29uc3RydWN0b3JDaGFpbih0YXJnZXQgYXMgQ29uc3RydWN0YWJsZTxhbnk+KS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYCR7dGFyZ2V0fSBtdXN0IGV4dGVuZCBQbGFjZUNvbXBvbmVudCB0byB1c2UgdGhlIEBQbGFjZSBkZWNvcmF0b3JgKVxuICAgIH1cbiAgICBQbGFjZUNvbXBvbmVudC5pbmplY3REZWZpbml0aW9uKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4sIG9wdGlvbnMpO1xuICB9O1xufVxuXG4iXX0=
@@ -4,11 +4,18 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Injectable } from '@angular/core';
7
- import { MutableListModel, Trace } from '@coolon/pectin';
7
+ import { Router } from '@angular/router';
8
+ import { GarbageCollector, MutableListModel, Trace } from '@coolon/pectin';
9
+ import { PlaceComponent } from './place-component';
8
10
  import * as i0 from "@angular/core";
9
- var PlaceService = /** @class */ (function () {
10
- function PlaceService() {
11
- this._activePlaces = new MutableListModel();
11
+ import * as i1 from "@angular/router";
12
+ var PlaceService = /** @class */ (function (_super) {
13
+ tslib_1.__extends(PlaceService, _super);
14
+ function PlaceService(router) {
15
+ var _this = _super.call(this) || this;
16
+ _this.router = router;
17
+ _this._activePlaces = new MutableListModel();
18
+ return _this;
12
19
  }
13
20
  Object.defineProperty(PlaceService.prototype, "activePlaces", {
14
21
  get: /**
@@ -42,28 +49,58 @@ var PlaceService = /** @class */ (function () {
42
49
  function (place) {
43
50
  this._activePlaces.remove(place);
44
51
  };
52
+ /**
53
+ * @param {?} params
54
+ * @return {?}
55
+ */
56
+ PlaceService.prototype.notifyRouteParametersChanged = /**
57
+ * @param {?} params
58
+ * @return {?}
59
+ */
60
+ function (params) {
61
+ // We update the router state...
62
+ if (params.updateRoute) {
63
+ /** @type {?} */
64
+ var routeId = params.next.getFormattedRouteId();
65
+ /** @type {?} */
66
+ var relativePath = !!params.previous.hasRouteId() ? '..' : '.';
67
+ /** @type {?} */
68
+ var path = routeId ? [relativePath, routeId, params.next.getFormattedParameters()] : [relativePath, params.next.getFormattedParameters()];
69
+ this.router.navigate(path, {
70
+ relativeTo: params.placeComponent.activatedRoute
71
+ });
72
+ }
73
+ };
45
74
  PlaceService.decorators = [
46
75
  { type: Injectable, args: [{
47
76
  providedIn: 'root'
48
77
  },] }
49
78
  ];
50
79
  /** @nocollapse */
51
- PlaceService.ctorParameters = function () { return []; };
52
- /** @nocollapse */ PlaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(); }, token: PlaceService, providedIn: "root" });
80
+ PlaceService.ctorParameters = function () { return [
81
+ { type: Router }
82
+ ]; };
83
+ /** @nocollapse */ PlaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(i0.ɵɵinject(i1.Router)); }, token: PlaceService, providedIn: "root" });
53
84
  tslib_1.__decorate([
54
85
  Trace(),
55
86
  tslib_1.__metadata("design:type", Function),
56
- tslib_1.__metadata("design:paramtypes", [Object]),
87
+ tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
57
88
  tslib_1.__metadata("design:returntype", void 0)
58
89
  ], PlaceService.prototype, "onActivate", null);
59
90
  tslib_1.__decorate([
60
91
  Trace(),
61
92
  tslib_1.__metadata("design:type", Function),
62
- tslib_1.__metadata("design:paramtypes", [Object]),
93
+ tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
63
94
  tslib_1.__metadata("design:returntype", void 0)
64
95
  ], PlaceService.prototype, "onDeactivate", null);
96
+ tslib_1.__decorate([
97
+ Trace(),
98
+ tslib_1.__metadata("design:type", Function),
99
+ tslib_1.__metadata("design:paramtypes", [Object]),
100
+ tslib_1.__metadata("design:returntype", void 0)
101
+ ], PlaceService.prototype, "notifyRouteParametersChanged", null);
65
102
  return PlaceService;
66
- }());
103
+ }(GarbageCollector));
67
104
  export { PlaceService };
68
105
  if (false) {
69
106
  /**
@@ -71,5 +108,10 @@ if (false) {
71
108
  * @private
72
109
  */
73
110
  PlaceService.prototype._activePlaces;
111
+ /**
112
+ * @type {?}
113
+ * @protected
114
+ */
115
+ PlaceService.prototype.router;
74
116
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3pEO0lBT0U7UUFGUSxrQkFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7SUFHL0QsQ0FBQztJQUVELHNCQUFJLHNDQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxDQUFDOzs7T0FBQTs7Ozs7SUFHRCxpQ0FBVTs7OztJQUFWLFVBQVcsS0FBcUI7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7Ozs7SUFHRCxtQ0FBWTs7OztJQUFaLFVBQWEsS0FBcUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Z0JBdEJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7O0lBYUM7UUFEQyxLQUFLLEVBQUU7Ozs7a0RBR1A7SUFHRDtRQURDLEtBQUssRUFBRTs7OztvREFHUDt1QkExQkg7Q0E0QkMsQUF4QkQsSUF3QkM7U0FyQlksWUFBWTs7Ozs7O0lBRXZCLHFDQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuL3BsYWNlLWNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlUGxhY2VzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBnZXQgYWN0aXZlUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZXMucmVhZG9ubHk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBvbkFjdGl2YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlcy5wdXNoKHBsYWNlKTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uRGVhY3RpdmF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZXMucmVtb3ZlKHBsYWNlKTtcbiAgfVxuXG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUduRDtJQUdrQyx3Q0FBZ0I7SUFJaEQsc0JBQXNCLE1BQWM7UUFBcEMsWUFDRSxpQkFBTyxTQUNSO1FBRnFCLFlBQU0sR0FBTixNQUFNLENBQVE7UUFGNUIsbUJBQWEsR0FBRyxJQUFJLGdCQUFnQixFQUFrQixDQUFDOztJQUkvRCxDQUFDO0lBRUQsc0JBQUksc0NBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3JDLENBQUM7OztPQUFBOzs7OztJQUdELGlDQUFVOzs7O0lBQVYsVUFBVyxLQUFxQjtRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7OztJQUdELG1DQUFZOzs7O0lBQVosVUFBYSxLQUFxQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7OztJQUdELG1EQUE0Qjs7OztJQUE1QixVQUE2QixNQUs1QjtRQUNDLGdDQUFnQztRQUNoQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7O2dCQUNoQixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTs7Z0JBQzNDLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHOztnQkFDMUQsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDM0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjO2FBQ2pELENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Z0JBekNGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBUndCLE1BQU07OztJQXNCN0I7UUFEQyxLQUFLLEVBQUU7O2lEQUNVLGNBQWM7O2tEQUUvQjtJQUdEO1FBREMsS0FBSyxFQUFFOztpREFDWSxjQUFjOztvREFFakM7SUFHRDtRQURDLEtBQUssRUFBRTs7OztvRUFnQlA7dUJBaERIO0NBaURDLEFBMUNELENBR2tDLGdCQUFnQixHQXVDakQ7U0F2Q1ksWUFBWTs7Ozs7O0lBRXZCLHFDQUErRDs7Ozs7SUFFbkQsOEJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlTGlzdE1vZGVsLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IElQbGFjZVNlcnZpY2UgfSBmcm9tICcuL2ktcGxhY2Utc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFJlc29sdmVkUm91dGVQYXJhbWV0ZXJTbmFwc2hvdCB9IGZyb20gJy4vcm91dGUvcmVzb2x2ZWQtcm91dGUtcGFyYW1ldGVyLXNuYXBzaG90JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VTZXJ2aWNlIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIElQbGFjZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2FjdGl2ZVBsYWNlcyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFBsYWNlQ29tcG9uZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgYWN0aXZlUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZXMucmVhZG9ubHk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBvbkFjdGl2YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlcy5wdXNoKHBsYWNlKTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uRGVhY3RpdmF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZXMucmVtb3ZlKHBsYWNlKTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG5vdGlmeVJvdXRlUGFyYW1ldGVyc0NoYW5nZWQocGFyYW1zOiB7XG4gICAgcGxhY2VDb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LFxuICAgIG5leHQ6IFJlc29sdmVkUm91dGVQYXJhbWV0ZXJTbmFwc2hvdCxcbiAgICBwcmV2aW91czogUmVzb2x2ZWRSb3V0ZVBhcmFtZXRlclNuYXBzaG90LFxuICAgIHVwZGF0ZVJvdXRlOiBib29sZWFuXG4gIH0pIHtcbiAgICAvLyBXZSB1cGRhdGUgdGhlIHJvdXRlciBzdGF0ZS4uLlxuICAgIGlmIChwYXJhbXMudXBkYXRlUm91dGUpIHtcbiAgICAgIGNvbnN0IHJvdXRlSWQgPSBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRSb3V0ZUlkKCk7XG4gICAgICBjb25zdCByZWxhdGl2ZVBhdGggPSAhIXBhcmFtcy5wcmV2aW91cy5oYXNSb3V0ZUlkKCkgPyAnLi4nIDogJy4nO1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlSWQgPyBbcmVsYXRpdmVQYXRoLCByb3V0ZUlkLCBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCldIDogW3JlbGF0aXZlUGF0aCwgcGFyYW1zLm5leHQuZ2V0Rm9ybWF0dGVkUGFyYW1ldGVycygpXTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHBhdGgsIHtcbiAgICAgICAgcmVsYXRpdmVUbzogcGFyYW1zLnBsYWNlQ29tcG9uZW50LmFjdGl2YXRlZFJvdXRlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -51,26 +51,6 @@ export function RouteId(type, options) {
51
51
  UseDelegate()(prototype, propertyKey);
52
52
  });
53
53
  }
54
- /**
55
- * @deprecated use RouteParameter instead.
56
- * @template T
57
- * @param {?} type
58
- * @param {?=} options
59
- * @return {?}
60
- */
61
- export function QueryParameter(type, options) {
62
- return (/**
63
- * @param {?} prototype
64
- * @param {?} propertyKey
65
- * @return {?}
66
- */
67
- function (prototype, propertyKey) {
68
- /** @type {?} */
69
- var param = createDefinition(propertyKey, type, options, false);
70
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
71
- UseDelegate()(prototype, propertyKey);
72
- });
73
- }
74
54
  /**
75
55
  * @template T
76
56
  * @param {?} type
@@ -91,27 +71,6 @@ export function RouteParameter(type, options) {
91
71
  UseDelegate()(prototype, propertyKey);
92
72
  });
93
73
  }
94
- /**
95
- * @deprecated use RouteParameterList instead
96
- * @template E
97
- * @param {?} elementType
98
- * @param {?=} options
99
- * @return {?}
100
- */
101
- export function QueryParameterList(elementType, options) {
102
- // assert.isTruthy(type.isValid());
103
- return (/**
104
- * @param {?} prototype
105
- * @param {?} propertyKey
106
- * @return {?}
107
- */
108
- function (prototype, propertyKey) {
109
- /** @type {?} */
110
- var param = createArrayDefinition(propertyKey, elementType, options);
111
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
112
- UseDelegate()(prototype, propertyKey);
113
- });
114
- }
115
74
  /**
116
75
  * @template E
117
76
  * @param {?} elementType
@@ -179,4 +138,4 @@ function createArrayDefinition(propertyName, type, options) {
179
138
  };
180
139
  return def;
181
140
  }
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUlDOzs7SUFIQyw4QkFBWTs7SUFDWixvQ0FBa0I7O0lBQ2xCLHFDQUFpRDs7Ozs7O0FBR25ELDBDQUlDOzs7SUFIQyxrQ0FBWTs7SUFDWix3Q0FBa0I7O0lBQ2xCLDZDQUF1RDs7Ozs7Ozs7QUFHekQsTUFBTSxVQUFVLE9BQU8sQ0FBNEIsSUFBc0IsRUFBRSxPQUE2QjtJQUN0RyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7O0FBT0QsTUFBTSxVQUFVLGNBQWMsQ0FBSSxJQUFzQixFQUFFLE9BQTZCO0lBQ3JGOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJ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RTdELEdBQUcsR0FBZ0M7UUFDdkMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDO1FBQ2xELFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7UUFDbEQsU0FBUyxFQUFFLEtBQUs7UUFDaEIsT0FBTyxFQUFFLElBQUk7S0FDZDtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgVXNlRGVsZWdhdGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcywgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL3BhcmFtZXRlci10eXBlJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyQmluZGluZ3MgfSBmcm9tICcuL3JvdXRlLXBhcmFtZXRlci1iaW5kaW5ncyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86Ym9vbGVhbjtcbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzpib29sZWFuO1xuICBsaXN0U2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VFtdPj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZUlkPFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXI+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCB0cnVlKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChSb3V0ZVBhcmFtZXRlckJpbmRpbmdzLlJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIFJvdXRlUGFyYW1ldGVyIGluc3RlYWQuXG4gKiBAcGFyYW0gdHlwZVxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFF1ZXJ5UGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXI8VD4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIGZhbHNlKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChSb3V0ZVBhcmFtZXRlckJpbmRpbmdzLlJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIFJvdXRlUGFyYW1ldGVyTGlzdCBpbnN0ZWFkXG4gKiBAcGFyYW0gZWxlbWVudFR5cGVcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBRdWVyeVBhcmFtZXRlckxpc3Q8RT4oZWxlbWVudFR5cGU6IFBhcmFtZXRlclR5cGU8RT4sIG9wdGlvbnM/OiBMaXN0UGFyYW1ldGVyT3B0aW9uczxFPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlQXJyYXlEZWZpbml0aW9uKHByb3BlcnR5S2V5LCBlbGVtZW50VHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZUFycmF5RGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnbGlzdFNhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogZmFsc2UsXG4gICAgaXNBcnJheTogdHJ1ZVxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUlDOzs7SUFIQyw4QkFBWTs7SUFDWixvQ0FBa0I7O0lBQ2xCLHFDQUFpRDs7Ozs7O0FBR25ELDBDQUlDOzs7SUFIQyxrQ0FBWTs7SUFDWix3Q0FBa0I7O0lBQ2xCLDZDQUF1RDs7Ozs7Ozs7QUFHekQsTUFBTSxVQUFVLE9BQU8sQ0FBNEIsSUFBc0IsRUFBRSxPQUE2QjtJQUN0RyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFJLFdBQTZCLEVBQUUsT0FBaUM7SUFDcEcsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7OztBQUVELFNBQVMsZ0JBQWdCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQTRCLEVBQUUsT0FBZ0I7O1FBQzFILElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQzs7UUFDeEIsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUU7O1FBQzdELEdBQUcsR0FBMkI7UUFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDO1FBQ2xELFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDOUMsU0FBUyxFQUFFLE9BQU87UUFDbEIsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQzs7Ozs7Ozs7QUFFRCxTQUFTLHFCQUFxQixDQUFJLFlBQTZCLEVBQUUsSUFBc0IsRUFBRSxPQUFnQzs7UUFDakgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7UUFFN0QsR0FBRyxHQUFnQztRQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztRQUNsRCxTQUFTLEVBQUUsS0FBSztRQUNoQixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBVc2VEZWxlZ2F0ZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzLCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB9IGZyb20gJy4vcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzpib29sZWFuO1xuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OmJvb2xlYW47XG4gIGxpc3RTYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlUGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZUFycmF5RGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnbGlzdFNhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogZmFsc2UsXG4gICAgaXNBcnJheTogdHJ1ZVxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @record
7
+ * @template T
8
+ */
9
+ export function ResolvedParameter() { }
10
+ if (false) {
11
+ /** @type {?} */
12
+ ResolvedParameter.prototype.parameterDef;
13
+ /** @type {?} */
14
+ ResolvedParameter.prototype.resolvedValue;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZWQtcGFyYW1ldGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3Jlc29sdmVkLXBhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLHVDQUdDOzs7SUFGQyx5Q0FBcUM7O0lBQ3JDLDBDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZFBhcmFtZXRlcjxUPiB7XG4gIHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPjtcbiAgcmVzb2x2ZWRWYWx1ZTogVDtcbn1cbiJdfQ==