@angular/core 9.0.3 → 9.0.7

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 (74) hide show
  1. package/bundles/core-testing.umd.js +1 -1
  2. package/bundles/core-testing.umd.min.js +1 -1
  3. package/bundles/core-testing.umd.min.js.map +1 -1
  4. package/bundles/core.umd.js +613 -579
  5. package/bundles/core.umd.js.map +1 -1
  6. package/bundles/core.umd.min.js +157 -156
  7. package/bundles/core.umd.min.js.map +1 -1
  8. package/core.d.ts +45 -45
  9. package/core.metadata.json +1 -1
  10. package/esm2015/core.js +2 -2
  11. package/esm2015/src/di/jit/injectable.js +2 -2
  12. package/esm2015/src/di/r3_injector.js +27 -9
  13. package/esm2015/src/render3/assert.js +4 -1
  14. package/esm2015/src/render3/definition.js +60 -60
  15. package/esm2015/src/render3/di.js +25 -19
  16. package/esm2015/src/render3/errors.js +1 -3
  17. package/esm2015/src/render3/features/ng_onchanges_feature.js +8 -13
  18. package/esm2015/src/render3/i18n.js +14 -7
  19. package/esm2015/src/render3/instructions/attribute.js +6 -6
  20. package/esm2015/src/render3/instructions/attribute_interpolation.js +29 -47
  21. package/esm2015/src/render3/instructions/host_property.js +13 -10
  22. package/esm2015/src/render3/instructions/property.js +8 -9
  23. package/esm2015/src/render3/instructions/property_interpolation.js +40 -39
  24. package/esm2015/src/render3/instructions/shared.js +18 -27
  25. package/esm2015/src/render3/jit/module.js +18 -18
  26. package/esm2015/src/render3/ng_module_ref.js +7 -3
  27. package/esm2015/src/render3/node_assert.js +1 -1
  28. package/esm2015/src/render3/pure_function.js +23 -6
  29. package/esm2015/src/render3/query.js +2 -5
  30. package/esm2015/src/render3/state.js +11 -1
  31. package/esm2015/src/util/assert.js +1 -3
  32. package/esm2015/src/util/closure.js +2 -2
  33. package/esm2015/src/util/decorators.js +87 -80
  34. package/esm2015/src/util/ng_dev_mode.js +1 -1
  35. package/esm2015/src/util/ng_i18n_closure_mode.js +1 -1
  36. package/esm2015/src/version.js +1 -1
  37. package/esm5/core.js +2 -2
  38. package/esm5/src/di/jit/injectable.js +2 -2
  39. package/esm5/src/di/r3_injector.js +19 -5
  40. package/esm5/src/render3/assert.js +3 -1
  41. package/esm5/src/render3/definition.js +51 -51
  42. package/esm5/src/render3/di.js +16 -13
  43. package/esm5/src/render3/errors.js +1 -3
  44. package/esm5/src/render3/features/ng_onchanges_feature.js +8 -9
  45. package/esm5/src/render3/i18n.js +13 -6
  46. package/esm5/src/render3/instructions/attribute.js +5 -5
  47. package/esm5/src/render3/instructions/attribute_interpolation.js +29 -38
  48. package/esm5/src/render3/instructions/host_property.js +10 -8
  49. package/esm5/src/render3/instructions/property.js +7 -7
  50. package/esm5/src/render3/instructions/property_interpolation.js +31 -30
  51. package/esm5/src/render3/instructions/shared.js +10 -14
  52. package/esm5/src/render3/jit/module.js +12 -12
  53. package/esm5/src/render3/ng_module_ref.js +7 -3
  54. package/esm5/src/render3/node_assert.js +1 -1
  55. package/esm5/src/render3/pure_function.js +19 -6
  56. package/esm5/src/render3/query.js +2 -4
  57. package/esm5/src/render3/state.js +9 -1
  58. package/esm5/src/util/assert.js +1 -3
  59. package/esm5/src/util/closure.js +2 -2
  60. package/esm5/src/util/decorators.js +101 -94
  61. package/esm5/src/util/ng_dev_mode.js +1 -1
  62. package/esm5/src/util/ng_i18n_closure_mode.js +1 -1
  63. package/esm5/src/version.js +1 -1
  64. package/fesm2015/core.js +1130 -1101
  65. package/fesm2015/core.js.map +1 -1
  66. package/fesm2015/testing.js +1 -1
  67. package/fesm5/core.js +613 -579
  68. package/fesm5/core.js.map +1 -1
  69. package/fesm5/testing.js +1 -1
  70. package/package.json +1 -1
  71. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +13 -1
  72. package/src/r3_symbols.d.ts +1 -1
  73. package/testing/testing.d.ts +1 -1
  74. package/testing.d.ts +1 -1
package/fesm5/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v9.0.3
2
+ * @license Angular v9.0.7
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -8,6 +8,26 @@ import { __spread, __extends, __values, __read, __assign, __decorate, __param, _
8
8
  import { Subscription, Subject, Observable, merge as merge$1 } from 'rxjs';
9
9
  import { share } from 'rxjs/operators';
10
10
 
11
+ /**
12
+ * @license
13
+ * Copyright Google Inc. All Rights Reserved.
14
+ *
15
+ * Use of this source code is governed by an MIT-style license that can be
16
+ * found in the LICENSE file at https://angular.io/license
17
+ */
18
+ /**
19
+ * Convince closure compiler that the wrapped function has no side-effects.
20
+ *
21
+ * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to
22
+ * allow us to execute a function but have closure compiler mark the call as no-side-effects.
23
+ * It is important that the return value for the `noSideEffects` function be assigned
24
+ * to something which is retained otherwise the call to `noSideEffects` will be removed by closure
25
+ * compiler.
26
+ */
27
+ function noSideEffects(fn) {
28
+ return { toString: fn }.toString();
29
+ }
30
+
11
31
  /**
12
32
  * @license
13
33
  * Copyright Google Inc. All Rights Reserved.
@@ -22,38 +42,40 @@ var PROP_METADATA = '__prop__metadata__';
22
42
  * @suppress {globalThis}
23
43
  */
24
44
  function makeDecorator(name, props, parentClass, additionalProcessing, typeFn) {
25
- var metaCtor = makeMetadataCtor(props);
26
- function DecoratorFactory() {
27
- var _a;
28
- var args = [];
29
- for (var _i = 0; _i < arguments.length; _i++) {
30
- args[_i] = arguments[_i];
45
+ return noSideEffects(function () {
46
+ var metaCtor = makeMetadataCtor(props);
47
+ function DecoratorFactory() {
48
+ var _a;
49
+ var args = [];
50
+ for (var _i = 0; _i < arguments.length; _i++) {
51
+ args[_i] = arguments[_i];
52
+ }
53
+ if (this instanceof DecoratorFactory) {
54
+ metaCtor.call.apply(metaCtor, __spread([this], args));
55
+ return this;
56
+ }
57
+ var annotationInstance = new ((_a = DecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
58
+ return function TypeDecorator(cls) {
59
+ if (typeFn)
60
+ typeFn.apply(void 0, __spread([cls], args));
61
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
62
+ // prevents the property is copied during subclassing.
63
+ var annotations = cls.hasOwnProperty(ANNOTATIONS) ?
64
+ cls[ANNOTATIONS] :
65
+ Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];
66
+ annotations.push(annotationInstance);
67
+ if (additionalProcessing)
68
+ additionalProcessing(cls);
69
+ return cls;
70
+ };
31
71
  }
32
- if (this instanceof DecoratorFactory) {
33
- metaCtor.call.apply(metaCtor, __spread([this], args));
34
- return this;
72
+ if (parentClass) {
73
+ DecoratorFactory.prototype = Object.create(parentClass.prototype);
35
74
  }
36
- var annotationInstance = new ((_a = DecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
37
- return function TypeDecorator(cls) {
38
- if (typeFn)
39
- typeFn.apply(void 0, __spread([cls], args));
40
- // Use of Object.defineProperty is important since it creates non-enumerable property which
41
- // prevents the property is copied during subclassing.
42
- var annotations = cls.hasOwnProperty(ANNOTATIONS) ?
43
- cls[ANNOTATIONS] :
44
- Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];
45
- annotations.push(annotationInstance);
46
- if (additionalProcessing)
47
- additionalProcessing(cls);
48
- return cls;
49
- };
50
- }
51
- if (parentClass) {
52
- DecoratorFactory.prototype = Object.create(parentClass.prototype);
53
- }
54
- DecoratorFactory.prototype.ngMetadataName = name;
55
- DecoratorFactory.annotationCls = DecoratorFactory;
56
- return DecoratorFactory;
75
+ DecoratorFactory.prototype.ngMetadataName = name;
76
+ DecoratorFactory.annotationCls = DecoratorFactory;
77
+ return DecoratorFactory;
78
+ });
57
79
  }
58
80
  function makeMetadataCtor(props) {
59
81
  return function ctor() {
@@ -70,75 +92,79 @@ function makeMetadataCtor(props) {
70
92
  };
71
93
  }
72
94
  function makeParamDecorator(name, props, parentClass) {
73
- var metaCtor = makeMetadataCtor(props);
74
- function ParamDecoratorFactory() {
75
- var _a;
76
- var args = [];
77
- for (var _i = 0; _i < arguments.length; _i++) {
78
- args[_i] = arguments[_i];
79
- }
80
- if (this instanceof ParamDecoratorFactory) {
81
- metaCtor.apply(this, args);
82
- return this;
83
- }
84
- var annotationInstance = new ((_a = ParamDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
85
- ParamDecorator.annotation = annotationInstance;
86
- return ParamDecorator;
87
- function ParamDecorator(cls, unusedKey, index) {
88
- // Use of Object.defineProperty is important since it creates non-enumerable property which
89
- // prevents the property is copied during subclassing.
90
- var parameters = cls.hasOwnProperty(PARAMETERS) ?
91
- cls[PARAMETERS] :
92
- Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];
93
- // there might be gaps if some in between parameters do not have annotations.
94
- // we pad with nulls.
95
- while (parameters.length <= index) {
96
- parameters.push(null);
95
+ return noSideEffects(function () {
96
+ var metaCtor = makeMetadataCtor(props);
97
+ function ParamDecoratorFactory() {
98
+ var _a;
99
+ var args = [];
100
+ for (var _i = 0; _i < arguments.length; _i++) {
101
+ args[_i] = arguments[_i];
102
+ }
103
+ if (this instanceof ParamDecoratorFactory) {
104
+ metaCtor.apply(this, args);
105
+ return this;
106
+ }
107
+ var annotationInstance = new ((_a = ParamDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
108
+ ParamDecorator.annotation = annotationInstance;
109
+ return ParamDecorator;
110
+ function ParamDecorator(cls, unusedKey, index) {
111
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
112
+ // prevents the property is copied during subclassing.
113
+ var parameters = cls.hasOwnProperty(PARAMETERS) ?
114
+ cls[PARAMETERS] :
115
+ Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];
116
+ // there might be gaps if some in between parameters do not have annotations.
117
+ // we pad with nulls.
118
+ while (parameters.length <= index) {
119
+ parameters.push(null);
120
+ }
121
+ (parameters[index] = parameters[index] || []).push(annotationInstance);
122
+ return cls;
97
123
  }
98
- (parameters[index] = parameters[index] || []).push(annotationInstance);
99
- return cls;
100
124
  }
101
- }
102
- if (parentClass) {
103
- ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);
104
- }
105
- ParamDecoratorFactory.prototype.ngMetadataName = name;
106
- ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;
107
- return ParamDecoratorFactory;
125
+ if (parentClass) {
126
+ ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);
127
+ }
128
+ ParamDecoratorFactory.prototype.ngMetadataName = name;
129
+ ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;
130
+ return ParamDecoratorFactory;
131
+ });
108
132
  }
109
133
  function makePropDecorator(name, props, parentClass, additionalProcessing) {
110
- var metaCtor = makeMetadataCtor(props);
111
- function PropDecoratorFactory() {
112
- var _a;
113
- var args = [];
114
- for (var _i = 0; _i < arguments.length; _i++) {
115
- args[_i] = arguments[_i];
116
- }
117
- if (this instanceof PropDecoratorFactory) {
118
- metaCtor.apply(this, args);
119
- return this;
120
- }
121
- var decoratorInstance = new ((_a = PropDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
122
- function PropDecorator(target, name) {
123
- var constructor = target.constructor;
124
- // Use of Object.defineProperty is important since it creates non-enumerable property which
125
- // prevents the property is copied during subclassing.
126
- var meta = constructor.hasOwnProperty(PROP_METADATA) ?
127
- constructor[PROP_METADATA] :
128
- Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];
129
- meta[name] = meta.hasOwnProperty(name) && meta[name] || [];
130
- meta[name].unshift(decoratorInstance);
131
- if (additionalProcessing)
132
- additionalProcessing.apply(void 0, __spread([target, name], args));
133
- }
134
- return PropDecorator;
135
- }
136
- if (parentClass) {
137
- PropDecoratorFactory.prototype = Object.create(parentClass.prototype);
138
- }
139
- PropDecoratorFactory.prototype.ngMetadataName = name;
140
- PropDecoratorFactory.annotationCls = PropDecoratorFactory;
141
- return PropDecoratorFactory;
134
+ return noSideEffects(function () {
135
+ var metaCtor = makeMetadataCtor(props);
136
+ function PropDecoratorFactory() {
137
+ var _a;
138
+ var args = [];
139
+ for (var _i = 0; _i < arguments.length; _i++) {
140
+ args[_i] = arguments[_i];
141
+ }
142
+ if (this instanceof PropDecoratorFactory) {
143
+ metaCtor.apply(this, args);
144
+ return this;
145
+ }
146
+ var decoratorInstance = new ((_a = PropDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
147
+ function PropDecorator(target, name) {
148
+ var constructor = target.constructor;
149
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
150
+ // prevents the property is copied during subclassing.
151
+ var meta = constructor.hasOwnProperty(PROP_METADATA) ?
152
+ constructor[PROP_METADATA] :
153
+ Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];
154
+ meta[name] = meta.hasOwnProperty(name) && meta[name] || [];
155
+ meta[name].unshift(decoratorInstance);
156
+ if (additionalProcessing)
157
+ additionalProcessing.apply(void 0, __spread([target, name], args));
158
+ }
159
+ return PropDecorator;
160
+ }
161
+ if (parentClass) {
162
+ PropDecoratorFactory.prototype = Object.create(parentClass.prototype);
163
+ }
164
+ PropDecoratorFactory.prototype.ngMetadataName = name;
165
+ PropDecoratorFactory.annotationCls = PropDecoratorFactory;
166
+ return PropDecoratorFactory;
167
+ });
142
168
  }
143
169
 
144
170
  /**
@@ -1073,8 +1099,6 @@ function assertDefined(actual, msg) {
1073
1099
  }
1074
1100
  }
1075
1101
  function throwError(msg, actual, expected, comparison) {
1076
- // tslint:disable-next-line
1077
- debugger; // Left intentionally for better debugger experience.
1078
1102
  throw new Error("ASSERTION ERROR: " + msg +
1079
1103
  (comparison == null ? '' : " [Expected=> " + expected + " " + comparison + " " + actual + " <=Actual]"));
1080
1104
  }
@@ -1527,26 +1551,6 @@ var ViewEncapsulation$1;
1527
1551
  ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
1528
1552
  })(ViewEncapsulation$1 || (ViewEncapsulation$1 = {}));
1529
1553
 
1530
- /**
1531
- * @license
1532
- * Copyright Google Inc. All Rights Reserved.
1533
- *
1534
- * Use of this source code is governed by an MIT-style license that can be
1535
- * found in the LICENSE file at https://angular.io/license
1536
- */
1537
- /**
1538
- * Convince closure compiler that the wrapped function has no side-effects.
1539
- *
1540
- * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to
1541
- * allow us to execute a function but have closure compiler mark the call as no-side-effects.
1542
- * It is important that the return value for the `noSideEffects` function be assigned
1543
- * to something which is retained otherwise the call to `noSideEffects` will be removed by closure
1544
- * compiler.
1545
- */
1546
- function noSideEffects(fn) {
1547
- return '' + { toString: fn };
1548
- }
1549
-
1550
1554
  /**
1551
1555
  * @license
1552
1556
  * Copyright Google Inc. All Rights Reserved.
@@ -1597,55 +1601,55 @@ var _renderCompCount = 0;
1597
1601
  * @codeGenApi
1598
1602
  */
1599
1603
  function ɵɵdefineComponent(componentDefinition) {
1600
- // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.
1601
- // See the `initNgDevMode` docstring for more information.
1602
- (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();
1603
- var type = componentDefinition.type;
1604
- var typePrototype = type.prototype;
1605
- var declaredInputs = {};
1606
- var def = {
1607
- type: type,
1608
- providersResolver: null,
1609
- decls: componentDefinition.decls,
1610
- vars: componentDefinition.vars,
1611
- factory: null,
1612
- template: componentDefinition.template || null,
1613
- consts: componentDefinition.consts || null,
1614
- ngContentSelectors: componentDefinition.ngContentSelectors,
1615
- hostBindings: componentDefinition.hostBindings || null,
1616
- hostVars: componentDefinition.hostVars || 0,
1617
- hostAttrs: componentDefinition.hostAttrs || null,
1618
- contentQueries: componentDefinition.contentQueries || null,
1619
- declaredInputs: declaredInputs,
1620
- inputs: null,
1621
- outputs: null,
1622
- exportAs: componentDefinition.exportAs || null,
1623
- onChanges: null,
1624
- onInit: typePrototype.ngOnInit || null,
1625
- doCheck: typePrototype.ngDoCheck || null,
1626
- afterContentInit: typePrototype.ngAfterContentInit || null,
1627
- afterContentChecked: typePrototype.ngAfterContentChecked || null,
1628
- afterViewInit: typePrototype.ngAfterViewInit || null,
1629
- afterViewChecked: typePrototype.ngAfterViewChecked || null,
1630
- onDestroy: typePrototype.ngOnDestroy || null,
1631
- onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,
1632
- directiveDefs: null,
1633
- pipeDefs: null,
1634
- selectors: componentDefinition.selectors || EMPTY_ARRAY,
1635
- viewQuery: componentDefinition.viewQuery || null,
1636
- features: componentDefinition.features || null,
1637
- data: componentDefinition.data || {},
1638
- // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in the
1639
- // next line. Also `None` should be 0 not 2.
1640
- encapsulation: componentDefinition.encapsulation || ViewEncapsulation$1.Emulated,
1641
- id: 'c',
1642
- styles: componentDefinition.styles || EMPTY_ARRAY,
1643
- _: null,
1644
- setInput: null,
1645
- schemas: componentDefinition.schemas || null,
1646
- tView: null,
1647
- };
1648
- def._ = noSideEffects(function () {
1604
+ return noSideEffects(function () {
1605
+ // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.
1606
+ // See the `initNgDevMode` docstring for more information.
1607
+ (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();
1608
+ var type = componentDefinition.type;
1609
+ var typePrototype = type.prototype;
1610
+ var declaredInputs = {};
1611
+ var def = {
1612
+ type: type,
1613
+ providersResolver: null,
1614
+ decls: componentDefinition.decls,
1615
+ vars: componentDefinition.vars,
1616
+ factory: null,
1617
+ template: componentDefinition.template || null,
1618
+ consts: componentDefinition.consts || null,
1619
+ ngContentSelectors: componentDefinition.ngContentSelectors,
1620
+ hostBindings: componentDefinition.hostBindings || null,
1621
+ hostVars: componentDefinition.hostVars || 0,
1622
+ hostAttrs: componentDefinition.hostAttrs || null,
1623
+ contentQueries: componentDefinition.contentQueries || null,
1624
+ declaredInputs: declaredInputs,
1625
+ inputs: null,
1626
+ outputs: null,
1627
+ exportAs: componentDefinition.exportAs || null,
1628
+ onChanges: null,
1629
+ onInit: typePrototype.ngOnInit || null,
1630
+ doCheck: typePrototype.ngDoCheck || null,
1631
+ afterContentInit: typePrototype.ngAfterContentInit || null,
1632
+ afterContentChecked: typePrototype.ngAfterContentChecked || null,
1633
+ afterViewInit: typePrototype.ngAfterViewInit || null,
1634
+ afterViewChecked: typePrototype.ngAfterViewChecked || null,
1635
+ onDestroy: typePrototype.ngOnDestroy || null,
1636
+ onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,
1637
+ directiveDefs: null,
1638
+ pipeDefs: null,
1639
+ selectors: componentDefinition.selectors || EMPTY_ARRAY,
1640
+ viewQuery: componentDefinition.viewQuery || null,
1641
+ features: componentDefinition.features || null,
1642
+ data: componentDefinition.data || {},
1643
+ // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in
1644
+ // the next line. Also `None` should be 0 not 2.
1645
+ encapsulation: componentDefinition.encapsulation || ViewEncapsulation$1.Emulated,
1646
+ id: 'c',
1647
+ styles: componentDefinition.styles || EMPTY_ARRAY,
1648
+ _: null,
1649
+ setInput: null,
1650
+ schemas: componentDefinition.schemas || null,
1651
+ tView: null,
1652
+ };
1649
1653
  var directiveTypes = componentDefinition.directives;
1650
1654
  var feature = componentDefinition.features;
1651
1655
  var pipeTypes = componentDefinition.pipes;
@@ -1660,8 +1664,8 @@ function ɵɵdefineComponent(componentDefinition) {
1660
1664
  def.pipeDefs = pipeTypes ?
1661
1665
  function () { return (typeof pipeTypes === 'function' ? pipeTypes() : pipeTypes).map(extractPipeDef); } :
1662
1666
  null;
1667
+ return def;
1663
1668
  });
1664
- return def;
1665
1669
  }
1666
1670
  /**
1667
1671
  * @codeGenApi
@@ -1988,6 +1992,8 @@ function isRootView(target) {
1988
1992
  * Use of this source code is governed by an MIT-style license that can be
1989
1993
  * found in the LICENSE file at https://angular.io/license
1990
1994
  */
1995
+ // [Assert functions do not constraint type when they are guarded by a truthy
1996
+ // expression.](https://github.com/microsoft/TypeScript/issues/37295)
1991
1997
  function assertTNodeForLView(tNode, lView) {
1992
1998
  tNode.hasOwnProperty('tView_') && assertEqual(tNode.tView_, lView[TVIEW], 'This TNode does not belong to this LView.');
1993
1999
  }
@@ -2055,6 +2061,266 @@ function assertDirectiveDef(obj) {
2055
2061
  var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
2056
2062
  var MATH_ML_NAMESPACE = 'http://www.w3.org/1998/MathML/';
2057
2063
 
2064
+ /**
2065
+ * @license
2066
+ * Copyright Google Inc. All Rights Reserved.
2067
+ *
2068
+ * Use of this source code is governed by an MIT-style license that can be
2069
+ * found in the LICENSE file at https://angular.io/license
2070
+ */
2071
+ /**
2072
+ * This property will be monkey-patched on elements, components and directives
2073
+ */
2074
+ var MONKEY_PATCH_KEY_NAME = '__ngContext__';
2075
+
2076
+ /**
2077
+ * @license
2078
+ * Copyright Google Inc. All Rights Reserved.
2079
+ *
2080
+ * Use of this source code is governed by an MIT-style license that can be
2081
+ * found in the LICENSE file at https://angular.io/license
2082
+ */
2083
+ /**
2084
+ * Most of the use of `document` in Angular is from within the DI system so it is possible to simply
2085
+ * inject the `DOCUMENT` token and are done.
2086
+ *
2087
+ * Ivy is special because it does not rely upon the DI and must get hold of the document some other
2088
+ * way.
2089
+ *
2090
+ * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
2091
+ * Wherever ivy needs the global document, it calls `getDocument()` instead.
2092
+ *
2093
+ * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
2094
+ * tell ivy what the global `document` is.
2095
+ *
2096
+ * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
2097
+ * by calling `setDocument()` when providing the `DOCUMENT` token.
2098
+ */
2099
+ var DOCUMENT = undefined;
2100
+ /**
2101
+ * Tell ivy what the `document` is for this platform.
2102
+ *
2103
+ * It is only necessary to call this if the current platform is not a browser.
2104
+ *
2105
+ * @param document The object representing the global `document` in this environment.
2106
+ */
2107
+ function setDocument(document) {
2108
+ DOCUMENT = document;
2109
+ }
2110
+ /**
2111
+ * Access the object that represents the `document` for this platform.
2112
+ *
2113
+ * Ivy calls this whenever it needs to access the `document` object.
2114
+ * For example to create the renderer or to do sanitization.
2115
+ */
2116
+ function getDocument() {
2117
+ if (DOCUMENT !== undefined) {
2118
+ return DOCUMENT;
2119
+ }
2120
+ else if (typeof document !== 'undefined') {
2121
+ return document;
2122
+ }
2123
+ // No "document" can be found. This should only happen if we are running ivy outside Angular and
2124
+ // the current platform is not a browser. Since this is not a supported scenario at the moment
2125
+ // this should not happen in Angular apps.
2126
+ // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
2127
+ // public API. Meanwhile we just return `undefined` and let the application fail.
2128
+ return undefined;
2129
+ }
2130
+
2131
+ /**
2132
+ * @license
2133
+ * Copyright Google Inc. All Rights Reserved.
2134
+ *
2135
+ * Use of this source code is governed by an MIT-style license that can be
2136
+ * found in the LICENSE file at https://angular.io/license
2137
+ */
2138
+ // TODO: cleanup once the code is merged in angular/angular
2139
+ var RendererStyleFlags3;
2140
+ (function (RendererStyleFlags3) {
2141
+ RendererStyleFlags3[RendererStyleFlags3["Important"] = 1] = "Important";
2142
+ RendererStyleFlags3[RendererStyleFlags3["DashCase"] = 2] = "DashCase";
2143
+ })(RendererStyleFlags3 || (RendererStyleFlags3 = {}));
2144
+ /** Returns whether the `renderer` is a `ProceduralRenderer3` */
2145
+ function isProceduralRenderer(renderer) {
2146
+ return !!(renderer.listen);
2147
+ }
2148
+ var ɵ0$2 = function (hostElement, rendererType) { return getDocument(); };
2149
+ var domRendererFactory3 = {
2150
+ createRenderer: ɵ0$2
2151
+ };
2152
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
2153
+ // failure based on types.
2154
+ var unusedValueExportToPlacateAjd$2 = 1;
2155
+
2156
+ /**
2157
+ * @license
2158
+ * Copyright Google Inc. All Rights Reserved.
2159
+ *
2160
+ * Use of this source code is governed by an MIT-style license that can be
2161
+ * found in the LICENSE file at https://angular.io/license
2162
+ */
2163
+ /**
2164
+ * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
2165
+ * in same location in `LView`. This is because we don't want to pre-allocate space for it
2166
+ * because the storage is sparse. This file contains utilities for dealing with such data types.
2167
+ *
2168
+ * How do we know what is stored at a given location in `LView`.
2169
+ * - `Array.isArray(value) === false` => `RNode` (The normal storage value)
2170
+ * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
2171
+ * - `typeof value[TYPE] === 'object'` => `LView`
2172
+ * - This happens when we have a component at a given location
2173
+ * - `typeof value[TYPE] === true` => `LContainer`
2174
+ * - This happens when we have `LContainer` binding at a given location.
2175
+ *
2176
+ *
2177
+ * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
2178
+ */
2179
+ /**
2180
+ * Returns `RNode`.
2181
+ * @param value wrapped value of `RNode`, `LView`, `LContainer`
2182
+ */
2183
+ function unwrapRNode(value) {
2184
+ while (Array.isArray(value)) {
2185
+ value = value[HOST];
2186
+ }
2187
+ return value;
2188
+ }
2189
+ /**
2190
+ * Returns `LView` or `null` if not found.
2191
+ * @param value wrapped value of `RNode`, `LView`, `LContainer`
2192
+ */
2193
+ function unwrapLView(value) {
2194
+ while (Array.isArray(value)) {
2195
+ // This check is same as `isLView()` but we don't call at as we don't want to call
2196
+ // `Array.isArray()` twice and give JITer more work for inlining.
2197
+ if (typeof value[TYPE] === 'object')
2198
+ return value;
2199
+ value = value[HOST];
2200
+ }
2201
+ return null;
2202
+ }
2203
+ /**
2204
+ * Returns `LContainer` or `null` if not found.
2205
+ * @param value wrapped value of `RNode`, `LView`, `LContainer`
2206
+ */
2207
+ function unwrapLContainer(value) {
2208
+ while (Array.isArray(value)) {
2209
+ // This check is same as `isLContainer()` but we don't call at as we don't want to call
2210
+ // `Array.isArray()` twice and give JITer more work for inlining.
2211
+ if (value[TYPE] === true)
2212
+ return value;
2213
+ value = value[HOST];
2214
+ }
2215
+ return null;
2216
+ }
2217
+ /**
2218
+ * Retrieves an element value from the provided `viewData`, by unwrapping
2219
+ * from any containers, component views, or style contexts.
2220
+ */
2221
+ function getNativeByIndex(index, lView) {
2222
+ return unwrapRNode(lView[index + HEADER_OFFSET]);
2223
+ }
2224
+ /**
2225
+ * Retrieve an `RNode` for a given `TNode` and `LView`.
2226
+ *
2227
+ * This function guarantees in dev mode to retrieve a non-null `RNode`.
2228
+ *
2229
+ * @param tNode
2230
+ * @param lView
2231
+ */
2232
+ function getNativeByTNode(tNode, lView) {
2233
+ ngDevMode && assertTNodeForLView(tNode, lView);
2234
+ ngDevMode && assertDataInRange(lView, tNode.index);
2235
+ var node = unwrapRNode(lView[tNode.index]);
2236
+ ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
2237
+ return node;
2238
+ }
2239
+ /**
2240
+ * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
2241
+ *
2242
+ * Some `TNode`s don't have associated `RNode`s. For example `Projection`
2243
+ *
2244
+ * @param tNode
2245
+ * @param lView
2246
+ */
2247
+ function getNativeByTNodeOrNull(tNode, lView) {
2248
+ var index = tNode.index;
2249
+ if (index !== -1) {
2250
+ ngDevMode && assertTNodeForLView(tNode, lView);
2251
+ var node = unwrapRNode(lView[index]);
2252
+ ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
2253
+ return node;
2254
+ }
2255
+ return null;
2256
+ }
2257
+ function getTNode(tView, index) {
2258
+ ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
2259
+ ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
2260
+ return tView.data[index + HEADER_OFFSET];
2261
+ }
2262
+ /** Retrieves a value from any `LView` or `TData`. */
2263
+ function load(view, index) {
2264
+ ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
2265
+ return view[index + HEADER_OFFSET];
2266
+ }
2267
+ function getComponentLViewByIndex(nodeIndex, hostView) {
2268
+ // Could be an LView or an LContainer. If LContainer, unwrap to find LView.
2269
+ ngDevMode && assertDataInRange(hostView, nodeIndex);
2270
+ var slotValue = hostView[nodeIndex];
2271
+ var lView = isLView(slotValue) ? slotValue : slotValue[HOST];
2272
+ return lView;
2273
+ }
2274
+ /**
2275
+ * Returns the monkey-patch value data present on the target (which could be
2276
+ * a component, directive or a DOM node).
2277
+ */
2278
+ function readPatchedData(target) {
2279
+ ngDevMode && assertDefined(target, 'Target expected');
2280
+ return target[MONKEY_PATCH_KEY_NAME] || null;
2281
+ }
2282
+ function readPatchedLView(target) {
2283
+ var value = readPatchedData(target);
2284
+ if (value) {
2285
+ return Array.isArray(value) ? value : value.lView;
2286
+ }
2287
+ return null;
2288
+ }
2289
+ /** Checks whether a given view is in creation mode */
2290
+ function isCreationMode(view) {
2291
+ return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
2292
+ }
2293
+ /**
2294
+ * Returns a boolean for whether the view is attached to the change detection tree.
2295
+ *
2296
+ * Note: This determines whether a view should be checked, not whether it's inserted
2297
+ * into a container. For that, you'll want `viewAttachedToContainer` below.
2298
+ */
2299
+ function viewAttachedToChangeDetector(view) {
2300
+ return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
2301
+ }
2302
+ /** Returns a boolean for whether the view is attached to a container. */
2303
+ function viewAttachedToContainer(view) {
2304
+ return isLContainer(view[PARENT]);
2305
+ }
2306
+ /** Returns a constant from `TConstants` instance. */
2307
+ function getConstant(consts, index) {
2308
+ return consts === null || index == null ? null : consts[index];
2309
+ }
2310
+ /**
2311
+ * Resets the pre-order hook flags of the view.
2312
+ * @param lView the LView on which the flags are reset
2313
+ */
2314
+ function resetPreOrderHookFlags(lView) {
2315
+ lView[PREORDER_HOOK_FLAGS] = 0;
2316
+ }
2317
+ function getLContainerActiveIndex(lContainer) {
2318
+ return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
2319
+ }
2320
+ function setLContainerActiveIndex(lContainer, index) {
2321
+ lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
2322
+ }
2323
+
2058
2324
  /**
2059
2325
  * @license
2060
2326
  * Copyright Google Inc. All Rights Reserved.
@@ -2385,6 +2651,13 @@ function getSelectedIndex() {
2385
2651
  function setSelectedIndex(index) {
2386
2652
  instructionState.lFrame.selectedIndex = index;
2387
2653
  }
2654
+ /**
2655
+ * Gets the `tNode` that represents currently selected element.
2656
+ */
2657
+ function getSelectedTNode() {
2658
+ var lFrame = instructionState.lFrame;
2659
+ return getTNode(lFrame.tView, lFrame.selectedIndex);
2660
+ }
2388
2661
  /**
2389
2662
  * Sets the namespace used to create elements to `'http://www.w3.org/2000/svg'` in global state.
2390
2663
  *
@@ -2778,7 +3051,7 @@ function isFactory(obj) {
2778
3051
  }
2779
3052
  // Note: This hack is necessary so we don't erroneously get a circular dependency
2780
3053
  // failure based on types.
2781
- var unusedValueExportToPlacateAjd$2 = 1;
3054
+ var unusedValueExportToPlacateAjd$3 = 1;
2782
3055
 
2783
3056
  /**
2784
3057
  * @license
@@ -2810,91 +3083,11 @@ function typeName(type) {
2810
3083
  if (type == 2 /* View */)
2811
3084
  return 'View';
2812
3085
  if (type == 3 /* Element */)
2813
- return 'Element';
2814
- if (type == 4 /* ElementContainer */)
2815
- return 'ElementContainer';
2816
- return '<unknown>';
2817
- }
2818
-
2819
- /**
2820
- * @license
2821
- * Copyright Google Inc. All Rights Reserved.
2822
- *
2823
- * Use of this source code is governed by an MIT-style license that can be
2824
- * found in the LICENSE file at https://angular.io/license
2825
- */
2826
- /**
2827
- * Most of the use of `document` in Angular is from within the DI system so it is possible to simply
2828
- * inject the `DOCUMENT` token and are done.
2829
- *
2830
- * Ivy is special because it does not rely upon the DI and must get hold of the document some other
2831
- * way.
2832
- *
2833
- * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
2834
- * Wherever ivy needs the global document, it calls `getDocument()` instead.
2835
- *
2836
- * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
2837
- * tell ivy what the global `document` is.
2838
- *
2839
- * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
2840
- * by calling `setDocument()` when providing the `DOCUMENT` token.
2841
- */
2842
- var DOCUMENT = undefined;
2843
- /**
2844
- * Tell ivy what the `document` is for this platform.
2845
- *
2846
- * It is only necessary to call this if the current platform is not a browser.
2847
- *
2848
- * @param document The object representing the global `document` in this environment.
2849
- */
2850
- function setDocument(document) {
2851
- DOCUMENT = document;
2852
- }
2853
- /**
2854
- * Access the object that represents the `document` for this platform.
2855
- *
2856
- * Ivy calls this whenever it needs to access the `document` object.
2857
- * For example to create the renderer or to do sanitization.
2858
- */
2859
- function getDocument() {
2860
- if (DOCUMENT !== undefined) {
2861
- return DOCUMENT;
2862
- }
2863
- else if (typeof document !== 'undefined') {
2864
- return document;
2865
- }
2866
- // No "document" can be found. This should only happen if we are running ivy outside Angular and
2867
- // the current platform is not a browser. Since this is not a supported scenario at the moment
2868
- // this should not happen in Angular apps.
2869
- // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
2870
- // public API. Meanwhile we just return `undefined` and let the application fail.
2871
- return undefined;
2872
- }
2873
-
2874
- /**
2875
- * @license
2876
- * Copyright Google Inc. All Rights Reserved.
2877
- *
2878
- * Use of this source code is governed by an MIT-style license that can be
2879
- * found in the LICENSE file at https://angular.io/license
2880
- */
2881
- // TODO: cleanup once the code is merged in angular/angular
2882
- var RendererStyleFlags3;
2883
- (function (RendererStyleFlags3) {
2884
- RendererStyleFlags3[RendererStyleFlags3["Important"] = 1] = "Important";
2885
- RendererStyleFlags3[RendererStyleFlags3["DashCase"] = 2] = "DashCase";
2886
- })(RendererStyleFlags3 || (RendererStyleFlags3 = {}));
2887
- /** Returns whether the `renderer` is a `ProceduralRenderer3` */
2888
- function isProceduralRenderer(renderer) {
2889
- return !!(renderer.listen);
3086
+ return 'Element';
3087
+ if (type == 4 /* ElementContainer */)
3088
+ return 'ElementContainer';
3089
+ return '<unknown>';
2890
3090
  }
2891
- var ɵ0$2 = function (hostElement, rendererType) { return getDocument(); };
2892
- var domRendererFactory3 = {
2893
- createRenderer: ɵ0$2
2894
- };
2895
- // Note: This hack is necessary so we don't erroneously get a circular dependency
2896
- // failure based on types.
2897
- var unusedValueExportToPlacateAjd$3 = 1;
2898
3091
 
2899
3092
  /**
2900
3093
  * Assigns all attribute values to the provided element via the inferred renderer.
@@ -3807,18 +4000,20 @@ function ɵɵgetFactoryOf(type) {
3807
4000
  * @codeGenApi
3808
4001
  */
3809
4002
  function ɵɵgetInheritedFactory(type) {
3810
- var proto = Object.getPrototypeOf(type.prototype).constructor;
3811
- var factory = proto[NG_FACTORY_DEF] || ɵɵgetFactoryOf(proto);
3812
- if (factory !== null) {
3813
- return factory;
3814
- }
3815
- else {
3816
- // There is no factory defined. Either this was improper usage of inheritance
3817
- // (no Angular decorator on the superclass) or there is no constructor at all
3818
- // in the inheritance chain. Since the two cases cannot be distinguished, the
3819
- // latter has to be assumed.
3820
- return function (t) { return new t(); };
3821
- }
4003
+ return noSideEffects(function () {
4004
+ var proto = Object.getPrototypeOf(type.prototype).constructor;
4005
+ var factory = proto[NG_FACTORY_DEF] || ɵɵgetFactoryOf(proto);
4006
+ if (factory !== null) {
4007
+ return factory;
4008
+ }
4009
+ else {
4010
+ // There is no factory defined. Either this was improper usage of inheritance
4011
+ // (no Angular decorator on the superclass) or there is no constructor at all
4012
+ // in the inheritance chain. Since the two cases cannot be distinguished, the
4013
+ // latter has to be assumed.
4014
+ return function (t) { return new t(); };
4015
+ }
4016
+ });
3822
4017
  }
3823
4018
 
3824
4019
  /**
@@ -5036,186 +5231,6 @@ function normalizeDebugBindingValue(value) {
5036
5231
  }
5037
5232
  }
5038
5233
 
5039
- /**
5040
- * @license
5041
- * Copyright Google Inc. All Rights Reserved.
5042
- *
5043
- * Use of this source code is governed by an MIT-style license that can be
5044
- * found in the LICENSE file at https://angular.io/license
5045
- */
5046
- /**
5047
- * This property will be monkey-patched on elements, components and directives
5048
- */
5049
- var MONKEY_PATCH_KEY_NAME = '__ngContext__';
5050
-
5051
- /**
5052
- * @license
5053
- * Copyright Google Inc. All Rights Reserved.
5054
- *
5055
- * Use of this source code is governed by an MIT-style license that can be
5056
- * found in the LICENSE file at https://angular.io/license
5057
- */
5058
- /**
5059
- * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
5060
- * in same location in `LView`. This is because we don't want to pre-allocate space for it
5061
- * because the storage is sparse. This file contains utilities for dealing with such data types.
5062
- *
5063
- * How do we know what is stored at a given location in `LView`.
5064
- * - `Array.isArray(value) === false` => `RNode` (The normal storage value)
5065
- * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
5066
- * - `typeof value[TYPE] === 'object'` => `LView`
5067
- * - This happens when we have a component at a given location
5068
- * - `typeof value[TYPE] === true` => `LContainer`
5069
- * - This happens when we have `LContainer` binding at a given location.
5070
- *
5071
- *
5072
- * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
5073
- */
5074
- /**
5075
- * Returns `RNode`.
5076
- * @param value wrapped value of `RNode`, `LView`, `LContainer`
5077
- */
5078
- function unwrapRNode(value) {
5079
- while (Array.isArray(value)) {
5080
- value = value[HOST];
5081
- }
5082
- return value;
5083
- }
5084
- /**
5085
- * Returns `LView` or `null` if not found.
5086
- * @param value wrapped value of `RNode`, `LView`, `LContainer`
5087
- */
5088
- function unwrapLView(value) {
5089
- while (Array.isArray(value)) {
5090
- // This check is same as `isLView()` but we don't call at as we don't want to call
5091
- // `Array.isArray()` twice and give JITer more work for inlining.
5092
- if (typeof value[TYPE] === 'object')
5093
- return value;
5094
- value = value[HOST];
5095
- }
5096
- return null;
5097
- }
5098
- /**
5099
- * Returns `LContainer` or `null` if not found.
5100
- * @param value wrapped value of `RNode`, `LView`, `LContainer`
5101
- */
5102
- function unwrapLContainer(value) {
5103
- while (Array.isArray(value)) {
5104
- // This check is same as `isLContainer()` but we don't call at as we don't want to call
5105
- // `Array.isArray()` twice and give JITer more work for inlining.
5106
- if (value[TYPE] === true)
5107
- return value;
5108
- value = value[HOST];
5109
- }
5110
- return null;
5111
- }
5112
- /**
5113
- * Retrieves an element value from the provided `viewData`, by unwrapping
5114
- * from any containers, component views, or style contexts.
5115
- */
5116
- function getNativeByIndex(index, lView) {
5117
- return unwrapRNode(lView[index + HEADER_OFFSET]);
5118
- }
5119
- /**
5120
- * Retrieve an `RNode` for a given `TNode` and `LView`.
5121
- *
5122
- * This function guarantees in dev mode to retrieve a non-null `RNode`.
5123
- *
5124
- * @param tNode
5125
- * @param lView
5126
- */
5127
- function getNativeByTNode(tNode, lView) {
5128
- ngDevMode && assertTNodeForLView(tNode, lView);
5129
- ngDevMode && assertDataInRange(lView, tNode.index);
5130
- var node = unwrapRNode(lView[tNode.index]);
5131
- ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
5132
- return node;
5133
- }
5134
- /**
5135
- * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
5136
- *
5137
- * Some `TNode`s don't have associated `RNode`s. For example `Projection`
5138
- *
5139
- * @param tNode
5140
- * @param lView
5141
- */
5142
- function getNativeByTNodeOrNull(tNode, lView) {
5143
- var index = tNode.index;
5144
- if (index !== -1) {
5145
- ngDevMode && assertTNodeForLView(tNode, lView);
5146
- var node = unwrapRNode(lView[index]);
5147
- ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
5148
- return node;
5149
- }
5150
- return null;
5151
- }
5152
- function getTNode(tView, index) {
5153
- ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
5154
- ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
5155
- return tView.data[index + HEADER_OFFSET];
5156
- }
5157
- /** Retrieves a value from any `LView` or `TData`. */
5158
- function load(view, index) {
5159
- ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
5160
- return view[index + HEADER_OFFSET];
5161
- }
5162
- function getComponentLViewByIndex(nodeIndex, hostView) {
5163
- // Could be an LView or an LContainer. If LContainer, unwrap to find LView.
5164
- ngDevMode && assertDataInRange(hostView, nodeIndex);
5165
- var slotValue = hostView[nodeIndex];
5166
- var lView = isLView(slotValue) ? slotValue : slotValue[HOST];
5167
- return lView;
5168
- }
5169
- /**
5170
- * Returns the monkey-patch value data present on the target (which could be
5171
- * a component, directive or a DOM node).
5172
- */
5173
- function readPatchedData(target) {
5174
- ngDevMode && assertDefined(target, 'Target expected');
5175
- return target[MONKEY_PATCH_KEY_NAME] || null;
5176
- }
5177
- function readPatchedLView(target) {
5178
- var value = readPatchedData(target);
5179
- if (value) {
5180
- return Array.isArray(value) ? value : value.lView;
5181
- }
5182
- return null;
5183
- }
5184
- /** Checks whether a given view is in creation mode */
5185
- function isCreationMode(view) {
5186
- return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
5187
- }
5188
- /**
5189
- * Returns a boolean for whether the view is attached to the change detection tree.
5190
- *
5191
- * Note: This determines whether a view should be checked, not whether it's inserted
5192
- * into a container. For that, you'll want `viewAttachedToContainer` below.
5193
- */
5194
- function viewAttachedToChangeDetector(view) {
5195
- return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
5196
- }
5197
- /** Returns a boolean for whether the view is attached to a container. */
5198
- function viewAttachedToContainer(view) {
5199
- return isLContainer(view[PARENT]);
5200
- }
5201
- /** Returns a constant from `TConstants` instance. */
5202
- function getConstant(consts, index) {
5203
- return consts === null || index == null ? null : consts[index];
5204
- }
5205
- /**
5206
- * Resets the pre-order hook flags of the view.
5207
- * @param lView the LView on which the flags are reset
5208
- */
5209
- function resetPreOrderHookFlags(lView) {
5210
- lView[PREORDER_HOOK_FLAGS] = 0;
5211
- }
5212
- function getLContainerActiveIndex(lContainer) {
5213
- return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
5214
- }
5215
- function setLContainerActiveIndex(lContainer, index) {
5216
- lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
5217
- }
5218
-
5219
5234
  /**
5220
5235
  * @license
5221
5236
  * Copyright Google Inc. All Rights Reserved.
@@ -5533,8 +5548,6 @@ function throwErrorIfNoChangesMode(creationMode, oldValue, currValue, propName)
5533
5548
  }
5534
5549
  // TODO: include debug context, see `viewDebugError` function in
5535
5550
  // `packages/core/src/view/errors.ts` for reference.
5536
- // tslint:disable-next-line
5537
- debugger; // Left intentionally for better debugger experience.
5538
5551
  throw new Error(msg);
5539
5552
  }
5540
5553
  function constructDetailsForInterpolation(lView, rootIndex, expressionIndex, meta, changedValue) {
@@ -7887,7 +7900,7 @@ function initializeInputAndOutputAliases(tView, tNode) {
7887
7900
  outputsStore = generatePropertyAliases(directiveDef.outputs, i, outputsStore);
7888
7901
  }
7889
7902
  if (inputsStore !== null) {
7890
- if (inputsStore.hasOwnProperty('class') || inputsStore.hasOwnProperty('className')) {
7903
+ if (inputsStore.hasOwnProperty('class')) {
7891
7904
  tNode.flags |= 16 /* hasClassInput */;
7892
7905
  }
7893
7906
  if (inputsStore.hasOwnProperty('style')) {
@@ -7923,16 +7936,15 @@ function mapPropName(name) {
7923
7936
  return 'tabIndex';
7924
7937
  return name;
7925
7938
  }
7926
- function elementPropertyInternal(tView, lView, index, propName, value, sanitizer, nativeOnly, loadRendererFn) {
7939
+ function elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, nativeOnly) {
7927
7940
  ngDevMode && assertNotSame(value, NO_CHANGE, 'Incoming value should never be NO_CHANGE.');
7928
- var element = getNativeByIndex(index, lView);
7929
- var tNode = getTNode(tView, index);
7941
+ var element = getNativeByTNode(tNode, lView);
7930
7942
  var inputData = tNode.inputs;
7931
7943
  var dataValue;
7932
7944
  if (!nativeOnly && inputData != null && (dataValue = inputData[propName])) {
7933
7945
  setInputsForProperty(tView, lView, dataValue, propName, value);
7934
7946
  if (isComponentHost(tNode))
7935
- markDirtyIfOnPush(lView, index + HEADER_OFFSET);
7947
+ markDirtyIfOnPush(lView, tNode.index);
7936
7948
  if (ngDevMode) {
7937
7949
  setNgReflectProperties(lView, element, tNode.type, dataValue, value);
7938
7950
  }
@@ -7948,7 +7960,6 @@ function elementPropertyInternal(tView, lView, index, propName, value, sanitizer
7948
7960
  }
7949
7961
  ngDevMode.rendererSetProperty++;
7950
7962
  }
7951
- var renderer = loadRendererFn ? loadRendererFn(tNode, lView) : lView[RENDERER];
7952
7963
  // It is assumed that the sanitizer is only added when the compiler determines that the
7953
7964
  // property is risky, so sanitization can be done without further checks.
7954
7965
  value = sanitizer != null ? sanitizer(value, tNode.tagName || '', propName) : value;
@@ -8358,10 +8369,10 @@ function addComponentLogic(lView, hostTNode, def) {
8358
8369
  // so this is a regular element, wrap it with the component view
8359
8370
  lView[hostTNode.index] = componentView;
8360
8371
  }
8361
- function elementAttributeInternal(index, name, value, tView, lView, sanitizer, namespace) {
8372
+ function elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace) {
8362
8373
  ngDevMode && assertNotSame(value, NO_CHANGE, 'Incoming value should never be NO_CHANGE.');
8363
8374
  ngDevMode && validateAgainstEventAttributes(name);
8364
- var element = getNativeByIndex(index, lView);
8375
+ var element = getNativeByTNode(tNode, lView);
8365
8376
  var renderer = lView[RENDERER];
8366
8377
  if (value == null) {
8367
8378
  ngDevMode && ngDevMode.rendererRemoveAttribute++;
@@ -8370,7 +8381,6 @@ function elementAttributeInternal(index, name, value, tView, lView, sanitizer, n
8370
8381
  }
8371
8382
  else {
8372
8383
  ngDevMode && ngDevMode.rendererSetAttribute++;
8373
- var tNode = getTNode(tView, index);
8374
8384
  var strValue = sanitizer == null ? renderStringify(value) : sanitizer(value, tNode.tagName || '', name);
8375
8385
  if (isProceduralRenderer(renderer)) {
8376
8386
  renderer.setAttribute(element, name, strValue, namespace);
@@ -8777,12 +8787,12 @@ function executeViewQueryFn(flags, viewQueryFn, component) {
8777
8787
  * interpolated properties.
8778
8788
  *
8779
8789
  * @param tData `TData` where meta-data will be saved;
8780
- * @param nodeIndex index of a `TNode` that is a target of the binding;
8790
+ * @param tNode `TNode` that is a target of the binding;
8781
8791
  * @param propertyName bound property name;
8782
8792
  * @param bindingIndex binding index in `LView`
8783
8793
  * @param interpolationParts static interpolation parts (for property interpolations)
8784
8794
  */
8785
- function storePropertyBindingMetadata(tData, nodeIndex, propertyName, bindingIndex) {
8795
+ function storePropertyBindingMetadata(tData, tNode, propertyName, bindingIndex) {
8786
8796
  var interpolationParts = [];
8787
8797
  for (var _i = 4; _i < arguments.length; _i++) {
8788
8798
  interpolationParts[_i - 4] = arguments[_i];
@@ -8791,7 +8801,6 @@ function storePropertyBindingMetadata(tData, nodeIndex, propertyName, bindingInd
8791
8801
  // Since we don't have a concept of the "first update pass" we need to check for presence of the
8792
8802
  // binding meta-data to decide if one should be stored (or if was stored already).
8793
8803
  if (tData[bindingIndex] === null) {
8794
- var tNode = tData[nodeIndex + HEADER_OFFSET];
8795
8804
  if (tNode.inputs == null || !tNode.inputs[propertyName]) {
8796
8805
  var propBindingIdxs = tNode.propertyBindings || (tNode.propertyBindings = []);
8797
8806
  propBindingIdxs.push(bindingIndex);
@@ -8870,7 +8879,7 @@ function textBindingInternal(lView, index, value) {
8870
8879
  * Use of this source code is governed by an MIT-style license that can be
8871
8880
  * found in the LICENSE file at https://angular.io/license
8872
8881
  */
8873
- var unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd;
8882
+ var unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd;
8874
8883
  function getLContainer(tNode, embeddedView) {
8875
8884
  ngDevMode && assertLView(embeddedView);
8876
8885
  var container = embeddedView[PARENT];
@@ -10958,7 +10967,7 @@ function compileInjectable(type, srcMeta) {
10958
10967
  typeArgumentCount: metadata.typeArgumentCount,
10959
10968
  deps: reflectDependencies(type),
10960
10969
  injectFn: 'inject',
10961
- target: compiler.R3FactoryTarget.Pipe
10970
+ target: compiler.R3FactoryTarget.Injectable
10962
10971
  });
10963
10972
  }
10964
10973
  return ngFactoryDef;
@@ -11148,8 +11157,19 @@ function getNullInjector() {
11148
11157
  function createInjector(defType, parent, additionalProviders, name) {
11149
11158
  if (parent === void 0) { parent = null; }
11150
11159
  if (additionalProviders === void 0) { additionalProviders = null; }
11151
- parent = parent || getNullInjector();
11152
- return new R3Injector(defType, additionalProviders, parent, name);
11160
+ var injector = createInjectorWithoutInjectorInstances(defType, parent, additionalProviders, name);
11161
+ injector._resolveInjectorDefTypes();
11162
+ return injector;
11163
+ }
11164
+ /**
11165
+ * Creates a new injector without eagerly resolving its injector types. Can be used in places
11166
+ * where resolving the injector types immediately can lead to an infinite loop. The injector types
11167
+ * should be resolved at a later point by calling `_resolveInjectorDefTypes`.
11168
+ */
11169
+ function createInjectorWithoutInjectorInstances(defType, parent, additionalProviders, name) {
11170
+ if (parent === void 0) { parent = null; }
11171
+ if (additionalProviders === void 0) { additionalProviders = null; }
11172
+ return new R3Injector(defType, additionalProviders, parent || getNullInjector(), name);
11153
11173
  }
11154
11174
  var R3Injector = /** @class */ (function () {
11155
11175
  function R3Injector(def, additionalProviders, parent, source) {
@@ -11183,8 +11203,6 @@ var R3Injector = /** @class */ (function () {
11183
11203
  // any injectable scoped to APP_ROOT_SCOPE.
11184
11204
  var record = this.records.get(INJECTOR_SCOPE);
11185
11205
  this.scope = record != null ? record.value : null;
11186
- // Eagerly instantiate the InjectorType classes themselves.
11187
- this.injectorDefTypes.forEach(function (defType) { return _this.get(defType); });
11188
11206
  // Source name, used for debugging
11189
11207
  this.source = source || (typeof def === 'object' ? null : stringify(def));
11190
11208
  }
@@ -11279,6 +11297,11 @@ var R3Injector = /** @class */ (function () {
11279
11297
  setCurrentInjector(previousInjector);
11280
11298
  }
11281
11299
  };
11300
+ /** @internal */
11301
+ R3Injector.prototype._resolveInjectorDefTypes = function () {
11302
+ var _this = this;
11303
+ this.injectorDefTypes.forEach(function (defType) { return _this.get(defType); });
11304
+ };
11282
11305
  R3Injector.prototype.toString = function () {
11283
11306
  var tokens = [], records = this.records;
11284
11307
  records.forEach(function (v, token) { return tokens.push(stringify(token)); });
@@ -13331,10 +13354,10 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
13331
13354
  var lView = getLView();
13332
13355
  var bindingIndex = nextBindingIndex();
13333
13356
  if (bindingUpdated(lView, bindingIndex, value)) {
13334
- var nodeIndex = getSelectedIndex();
13335
13357
  var tView = getTView();
13336
- elementAttributeInternal(nodeIndex, name, value, tView, lView, sanitizer, namespace);
13337
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + name, bindingIndex);
13358
+ var tNode = getSelectedTNode();
13359
+ elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace);
13360
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, 'attr.' + name, bindingIndex);
13338
13361
  }
13339
13362
  return ɵɵattribute;
13340
13363
  }
@@ -13504,11 +13527,10 @@ function ɵɵattributeInterpolate1(attrName, prefix, v0, suffix, sanitizer, name
13504
13527
  var lView = getLView();
13505
13528
  var interpolatedValue = interpolation1(lView, prefix, v0, suffix);
13506
13529
  if (interpolatedValue !== NO_CHANGE) {
13507
- var nodeIndex = getSelectedIndex();
13508
- var tView = getTView();
13509
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13530
+ var tNode = getSelectedTNode();
13531
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13510
13532
  ngDevMode &&
13511
- storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 1, prefix, suffix);
13533
+ storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 1, prefix, suffix);
13512
13534
  }
13513
13535
  return ɵɵattributeInterpolate1;
13514
13536
  }
@@ -13542,11 +13564,10 @@ function ɵɵattributeInterpolate2(attrName, prefix, v0, i0, v1, suffix, sanitiz
13542
13564
  var lView = getLView();
13543
13565
  var interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
13544
13566
  if (interpolatedValue !== NO_CHANGE) {
13545
- var nodeIndex = getSelectedIndex();
13546
- var tView = getTView();
13547
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13567
+ var tNode = getSelectedTNode();
13568
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13548
13569
  ngDevMode &&
13549
- storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 2, prefix, i0, suffix);
13570
+ storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 2, prefix, i0, suffix);
13550
13571
  }
13551
13572
  return ɵɵattributeInterpolate2;
13552
13573
  }
@@ -13583,10 +13604,9 @@ function ɵɵattributeInterpolate3(attrName, prefix, v0, i0, v1, i1, v2, suffix,
13583
13604
  var lView = getLView();
13584
13605
  var interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
13585
13606
  if (interpolatedValue !== NO_CHANGE) {
13586
- var nodeIndex = getSelectedIndex();
13587
- var tView = getTView();
13588
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13589
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
13607
+ var tNode = getSelectedTNode();
13608
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13609
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
13590
13610
  }
13591
13611
  return ɵɵattributeInterpolate3;
13592
13612
  }
@@ -13625,10 +13645,9 @@ function ɵɵattributeInterpolate4(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
13625
13645
  var lView = getLView();
13626
13646
  var interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
13627
13647
  if (interpolatedValue !== NO_CHANGE) {
13628
- var nodeIndex = getSelectedIndex();
13629
- var tView = getTView();
13630
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13631
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
13648
+ var tNode = getSelectedTNode();
13649
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13650
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
13632
13651
  }
13633
13652
  return ɵɵattributeInterpolate4;
13634
13653
  }
@@ -13669,10 +13688,9 @@ function ɵɵattributeInterpolate5(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
13669
13688
  var lView = getLView();
13670
13689
  var interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
13671
13690
  if (interpolatedValue !== NO_CHANGE) {
13672
- var nodeIndex = getSelectedIndex();
13673
- var tView = getTView();
13674
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13675
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
13691
+ var tNode = getSelectedTNode();
13692
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13693
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
13676
13694
  }
13677
13695
  return ɵɵattributeInterpolate5;
13678
13696
  }
@@ -13715,10 +13733,9 @@ function ɵɵattributeInterpolate6(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
13715
13733
  var lView = getLView();
13716
13734
  var interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
13717
13735
  if (interpolatedValue !== NO_CHANGE) {
13718
- var nodeIndex = getSelectedIndex();
13719
- var tView = getTView();
13720
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13721
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
13736
+ var tNode = getSelectedTNode();
13737
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13738
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
13722
13739
  }
13723
13740
  return ɵɵattributeInterpolate6;
13724
13741
  }
@@ -13763,10 +13780,9 @@ function ɵɵattributeInterpolate7(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
13763
13780
  var lView = getLView();
13764
13781
  var interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
13765
13782
  if (interpolatedValue !== NO_CHANGE) {
13766
- var nodeIndex = getSelectedIndex();
13767
- var tView = getTView();
13768
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13769
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
13783
+ var tNode = getSelectedTNode();
13784
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13785
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
13770
13786
  }
13771
13787
  return ɵɵattributeInterpolate7;
13772
13788
  }
@@ -13813,10 +13829,9 @@ function ɵɵattributeInterpolate8(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
13813
13829
  var lView = getLView();
13814
13830
  var interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
13815
13831
  if (interpolatedValue !== NO_CHANGE) {
13816
- var nodeIndex = getSelectedIndex();
13817
- var tView = getTView();
13818
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
13819
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
13832
+ var tNode = getSelectedTNode();
13833
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
13834
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
13820
13835
  }
13821
13836
  return ɵɵattributeInterpolate8;
13822
13837
  }
@@ -13850,15 +13865,14 @@ function ɵɵattributeInterpolateV(attrName, values, sanitizer, namespace) {
13850
13865
  var lView = getLView();
13851
13866
  var interpolated = interpolationV(lView, values);
13852
13867
  if (interpolated !== NO_CHANGE) {
13853
- var tView = getTView();
13854
- var nodeIndex = getSelectedIndex();
13855
- elementAttributeInternal(nodeIndex, attrName, interpolated, tView, lView, sanitizer, namespace);
13868
+ var tNode = getSelectedTNode();
13869
+ elementAttributeInternal(tNode, lView, attrName, interpolated, sanitizer, namespace);
13856
13870
  if (ngDevMode) {
13857
13871
  var interpolationInBetween = [values[0]]; // prefix
13858
13872
  for (var i = 2; i < values.length; i += 2) {
13859
13873
  interpolationInBetween.push(values[i]);
13860
13874
  }
13861
- storePropertyBindingMetadata.apply(void 0, __spread([tView.data, nodeIndex, 'attr.' + attrName,
13875
+ storePropertyBindingMetadata.apply(void 0, __spread([getTView().data, tNode, 'attr.' + attrName,
13862
13876
  getBindingIndex() - interpolationInBetween.length + 1], interpolationInBetween));
13863
13877
  }
13864
13878
  }
@@ -14180,10 +14194,10 @@ function ɵɵproperty(propName, value, sanitizer) {
14180
14194
  var lView = getLView();
14181
14195
  var bindingIndex = nextBindingIndex();
14182
14196
  if (bindingUpdated(lView, bindingIndex, value)) {
14183
- var nodeIndex = getSelectedIndex();
14184
14197
  var tView = getTView();
14185
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer);
14186
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
14198
+ var tNode = getSelectedTNode();
14199
+ elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, false);
14200
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
14187
14201
  }
14188
14202
  return ɵɵproperty;
14189
14203
  }
@@ -14195,8 +14209,7 @@ function setDirectiveInputsWhichShadowsStyling(tView, tNode, lView, value, isCla
14195
14209
  var inputs = tNode.inputs;
14196
14210
  var property = isClassBased ? 'class' : 'style';
14197
14211
  // We support both 'class' and `className` hence the fallback.
14198
- var stylingInputs = inputs[property] || (isClassBased && inputs['className']);
14199
- setInputsForProperty(tView, lView, stylingInputs, property, value);
14212
+ setInputsForProperty(tView, lView, inputs[property], property, value);
14200
14213
  }
14201
14214
 
14202
14215
  /**
@@ -15072,10 +15085,10 @@ function ɵɵpropertyInterpolate1(propName, prefix, v0, suffix, sanitizer) {
15072
15085
  var lView = getLView();
15073
15086
  var interpolatedValue = interpolation1(lView, prefix, v0, suffix);
15074
15087
  if (interpolatedValue !== NO_CHANGE) {
15075
- var nodeIndex = getSelectedIndex();
15076
15088
  var tView = getTView();
15077
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15078
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 1, prefix, suffix);
15089
+ var tNode = getSelectedTNode();
15090
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15091
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 1, prefix, suffix);
15079
15092
  }
15080
15093
  return ɵɵpropertyInterpolate1;
15081
15094
  }
@@ -15113,10 +15126,10 @@ function ɵɵpropertyInterpolate2(propName, prefix, v0, i0, v1, suffix, sanitize
15113
15126
  var lView = getLView();
15114
15127
  var interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
15115
15128
  if (interpolatedValue !== NO_CHANGE) {
15116
- var nodeIndex = getSelectedIndex();
15117
15129
  var tView = getTView();
15118
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15119
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 2, prefix, i0, suffix);
15130
+ var tNode = getSelectedTNode();
15131
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15132
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 2, prefix, i0, suffix);
15120
15133
  }
15121
15134
  return ɵɵpropertyInterpolate2;
15122
15135
  }
@@ -15157,11 +15170,10 @@ function ɵɵpropertyInterpolate3(propName, prefix, v0, i0, v1, i1, v2, suffix,
15157
15170
  var lView = getLView();
15158
15171
  var interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
15159
15172
  if (interpolatedValue !== NO_CHANGE) {
15160
- var nodeIndex = getSelectedIndex();
15161
15173
  var tView = getTView();
15162
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15163
- ngDevMode &&
15164
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 3, prefix, i0, i1, suffix);
15174
+ var tNode = getSelectedTNode();
15175
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15176
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 3, prefix, i0, i1, suffix);
15165
15177
  }
15166
15178
  return ɵɵpropertyInterpolate3;
15167
15179
  }
@@ -15204,11 +15216,11 @@ function ɵɵpropertyInterpolate4(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
15204
15216
  var lView = getLView();
15205
15217
  var interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
15206
15218
  if (interpolatedValue !== NO_CHANGE) {
15207
- var nodeIndex = getSelectedIndex();
15208
15219
  var tView = getTView();
15209
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15220
+ var tNode = getSelectedTNode();
15221
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15210
15222
  ngDevMode &&
15211
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
15223
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
15212
15224
  }
15213
15225
  return ɵɵpropertyInterpolate4;
15214
15226
  }
@@ -15253,11 +15265,11 @@ function ɵɵpropertyInterpolate5(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
15253
15265
  var lView = getLView();
15254
15266
  var interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
15255
15267
  if (interpolatedValue !== NO_CHANGE) {
15256
- var nodeIndex = getSelectedIndex();
15257
15268
  var tView = getTView();
15258
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15269
+ var tNode = getSelectedTNode();
15270
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15259
15271
  ngDevMode &&
15260
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
15272
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
15261
15273
  }
15262
15274
  return ɵɵpropertyInterpolate5;
15263
15275
  }
@@ -15304,10 +15316,11 @@ function ɵɵpropertyInterpolate6(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
15304
15316
  var lView = getLView();
15305
15317
  var interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
15306
15318
  if (interpolatedValue !== NO_CHANGE) {
15307
- var nodeIndex = getSelectedIndex();
15308
15319
  var tView = getTView();
15309
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15310
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
15320
+ var tNode = getSelectedTNode();
15321
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15322
+ ngDevMode &&
15323
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
15311
15324
  }
15312
15325
  return ɵɵpropertyInterpolate6;
15313
15326
  }
@@ -15356,10 +15369,10 @@ function ɵɵpropertyInterpolate7(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
15356
15369
  var lView = getLView();
15357
15370
  var interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
15358
15371
  if (interpolatedValue !== NO_CHANGE) {
15359
- var nodeIndex = getSelectedIndex();
15360
15372
  var tView = getTView();
15361
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15362
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
15373
+ var tNode = getSelectedTNode();
15374
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15375
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
15363
15376
  }
15364
15377
  return ɵɵpropertyInterpolate7;
15365
15378
  }
@@ -15410,10 +15423,10 @@ function ɵɵpropertyInterpolate8(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
15410
15423
  var lView = getLView();
15411
15424
  var interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
15412
15425
  if (interpolatedValue !== NO_CHANGE) {
15413
- var nodeIndex = getSelectedIndex();
15414
15426
  var tView = getTView();
15415
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15416
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
15427
+ var tNode = getSelectedTNode();
15428
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15429
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
15417
15430
  }
15418
15431
  return ɵɵpropertyInterpolate8;
15419
15432
  }
@@ -15451,15 +15464,15 @@ function ɵɵpropertyInterpolateV(propName, values, sanitizer) {
15451
15464
  var lView = getLView();
15452
15465
  var interpolatedValue = interpolationV(lView, values);
15453
15466
  if (interpolatedValue !== NO_CHANGE) {
15454
- var nodeIndex = getSelectedIndex();
15455
15467
  var tView = getTView();
15456
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
15468
+ var tNode = getSelectedTNode();
15469
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
15457
15470
  if (ngDevMode) {
15458
15471
  var interpolationInBetween = [values[0]]; // prefix
15459
15472
  for (var i = 2; i < values.length; i += 2) {
15460
15473
  interpolationInBetween.push(values[i]);
15461
15474
  }
15462
- storePropertyBindingMetadata.apply(void 0, __spread([tView.data, nodeIndex, propName, getBindingIndex() - interpolationInBetween.length + 1], interpolationInBetween));
15475
+ storePropertyBindingMetadata.apply(void 0, __spread([tView.data, tNode, propName, getBindingIndex() - interpolationInBetween.length + 1], interpolationInBetween));
15463
15476
  }
15464
15477
  }
15465
15478
  return ɵɵpropertyInterpolateV;
@@ -18307,10 +18320,10 @@ function ɵɵhostProperty(propName, value, sanitizer) {
18307
18320
  var lView = getLView();
18308
18321
  var bindingIndex = nextBindingIndex();
18309
18322
  if (bindingUpdated(lView, bindingIndex, value)) {
18310
- var nodeIndex = getSelectedIndex();
18311
18323
  var tView = getTView();
18312
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer, true);
18313
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
18324
+ var tNode = getSelectedTNode();
18325
+ elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, true);
18326
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
18314
18327
  }
18315
18328
  return ɵɵhostProperty;
18316
18329
  }
@@ -18339,10 +18352,11 @@ function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
18339
18352
  var lView = getLView();
18340
18353
  var bindingIndex = nextBindingIndex();
18341
18354
  if (bindingUpdated(lView, bindingIndex, value)) {
18342
- var nodeIndex = getSelectedIndex();
18343
18355
  var tView = getTView();
18344
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer, true, loadComponentRenderer);
18345
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
18356
+ var tNode = getSelectedTNode();
18357
+ var renderer = loadComponentRenderer(tNode, lView);
18358
+ elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
18359
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
18346
18360
  }
18347
18361
  return ɵɵupdateSyntheticHostBinding;
18348
18362
  }
@@ -19297,24 +19311,23 @@ var PRIVATE_PREFIX = '__ngOnChanges_';
19297
19311
  * static ɵcmp = defineComponent({
19298
19312
  * ...
19299
19313
  * inputs: {name: 'publicName'},
19300
- * features: [NgOnChangesFeature()]
19314
+ * features: [NgOnChangesFeature]
19301
19315
  * });
19302
19316
  * ```
19303
19317
  *
19304
19318
  * @codeGenApi
19305
19319
  */
19306
- function ɵɵNgOnChangesFeature() {
19307
- // This option ensures that the ngOnChanges lifecycle hook will be inherited
19308
- // from superclasses (in InheritDefinitionFeature).
19309
- NgOnChangesFeatureImpl.ngInherit = true;
19310
- return NgOnChangesFeatureImpl;
19311
- }
19312
- function NgOnChangesFeatureImpl(definition) {
19320
+ function ɵɵNgOnChangesFeature(definition) {
19313
19321
  if (definition.type.prototype.ngOnChanges) {
19314
19322
  definition.setInput = ngOnChangesSetInput;
19315
19323
  definition.onChanges = wrapOnChanges();
19316
19324
  }
19317
19325
  }
19326
+ // This option ensures that the ngOnChanges lifecycle hook will be inherited
19327
+ // from superclasses (in InheritDefinitionFeature).
19328
+ /** @nocollapse */
19329
+ // tslint:disable-next-line:no-toplevel-property-access
19330
+ ɵɵNgOnChangesFeature.ngInherit = true;
19318
19331
  function wrapOnChanges() {
19319
19332
  return function wrapOnChangesHook_inPreviousChangesStorage() {
19320
19333
  var simpleChangesStore = getSimpleChangesStore(this);
@@ -19903,7 +19916,7 @@ var Version = /** @class */ (function () {
19903
19916
  /**
19904
19917
  * @publicApi
19905
19918
  */
19906
- var VERSION = new Version('9.0.3');
19919
+ var VERSION = new Version('9.0.7');
19907
19920
 
19908
19921
  /**
19909
19922
  * @license
@@ -23601,11 +23614,17 @@ function i18nStartFirstPass(lView, tView, index, message, subTemplateIndex) {
23601
23614
  for (var j = 0; j < parts.length; j++) {
23602
23615
  if (j & 1) {
23603
23616
  // Odd indexes are ICU expressions
23617
+ var icuExpression = parts[j];
23618
+ // Verify that ICU expression has the right shape. Translations might contain invalid
23619
+ // constructions (while original messages were correct), so ICU parsing at runtime may not
23620
+ // succeed (thus `icuExpression` remains a string).
23621
+ if (typeof icuExpression !== 'object') {
23622
+ throw new Error("Unable to parse ICU expression in \"" + templateTranslation + "\" message.");
23623
+ }
23604
23624
  // Create the comment node that will anchor the ICU expression
23605
23625
  var icuNodeIndex = startIndex + i18nVarsCount++;
23606
23626
  createOpCodes.push(COMMENT_MARKER, ngDevMode ? "ICU " + icuNodeIndex : '', icuNodeIndex, parentIndex << 17 /* SHIFT_PARENT */ | 1 /* AppendChild */);
23607
23627
  // Update codes for the ICU expression
23608
- var icuExpression = parts[j];
23609
23628
  var mask = getBindingMask(icuExpression);
23610
23629
  icuStart(icuExpressions, icuExpression, icuNodeIndex, icuNodeIndex);
23611
23630
  // Since this is recursive, the last TIcu that was pushed is the one we want
@@ -23827,7 +23846,8 @@ function i18nEndFirstPass(tView, lView) {
23827
23846
  }
23828
23847
  // Check if an element has any local refs and skip them
23829
23848
  var tNode = getTNode(tView, index);
23830
- if (tNode && (tNode.type === 3 /* Element */ || tNode.type === 4 /* ElementContainer */) &&
23849
+ if (tNode && (tNode.type === 0 /* Container */ || tNode.type === 3 /* Element */ ||
23850
+ tNode.type === 4 /* ElementContainer */) &&
23831
23851
  tNode.localNames !== null) {
23832
23852
  // Divide by 2 to get the number of local refs,
23833
23853
  // since they are stored as an array that also includes directive indexes,
@@ -23910,7 +23930,7 @@ function readCreateOpCodes(index, createOpCodes, tView, lView) {
23910
23930
  var attrValue = createOpCodes[++i];
23911
23931
  // This code is used for ICU expressions only, since we don't support
23912
23932
  // directives/components in ICUs, we don't need to worry about inputs here
23913
- elementAttributeInternal(elementNodeIndex, attrName, attrValue, tView, lView);
23933
+ elementAttributeInternal(getTNode(tView, elementNodeIndex), lView, attrName, attrValue, null, null);
23914
23934
  break;
23915
23935
  default:
23916
23936
  throw new Error("Unable to determine the type of mutate operation for \"" + opCode + "\"");
@@ -23980,7 +24000,7 @@ function readUpdateOpCodes(updateOpCodes, icus, bindingsStartIndex, changeMask,
23980
24000
  case 1 /* Attr */:
23981
24001
  var propName = updateOpCodes[++j];
23982
24002
  var sanitizeFn = updateOpCodes[++j];
23983
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizeFn);
24003
+ elementPropertyInternal(tView, getTNode(tView, nodeIndex), lView, propName, value, lView[RENDERER], sanitizeFn, false);
23984
24004
  break;
23985
24005
  case 0 /* Text */:
23986
24006
  textBindingInternal(lView, nodeIndex, value);
@@ -24134,7 +24154,7 @@ function i18nAttributesFirstPass(lView, tView, index, values) {
24134
24154
  // Set attributes for Elements only, for other types (like ElementContainer),
24135
24155
  // only set inputs below
24136
24156
  if (tNode.type === 3 /* Element */) {
24137
- elementAttributeInternal(previousElementIndex, attrName, value, tView, lView);
24157
+ elementAttributeInternal(tNode, lView, attrName, value, null, null);
24138
24158
  }
24139
24159
  // Check if that attribute is a directive input
24140
24160
  var dataValue = tNode.inputs !== null && tNode.inputs[attrName];
@@ -24522,10 +24542,14 @@ var NgModuleRef$1 = /** @class */ (function (_super) {
24522
24542
  var ngLocaleIdDef = getNgLocaleIdDef(ngModuleType);
24523
24543
  ngLocaleIdDef && setLocaleId(ngLocaleIdDef);
24524
24544
  _this._bootstrapComponents = maybeUnwrapFn(ngModuleDef.bootstrap);
24525
- _this._r3Injector = createInjector(ngModuleType, _parent, [
24545
+ _this._r3Injector = createInjectorWithoutInjectorInstances(ngModuleType, _parent, [
24526
24546
  { provide: NgModuleRef, useValue: _this },
24527
24547
  { provide: ComponentFactoryResolver, useValue: _this.componentFactoryResolver }
24528
24548
  ], stringify(ngModuleType));
24549
+ // We need to resolve the injector types separately from the injector creation, because
24550
+ // the module might be trying to use this ref in its contructor for DI which will cause a
24551
+ // circular error that will eventually error out, because the injector isn't created yet.
24552
+ _this._r3Injector._resolveInjectorDefTypes();
24529
24553
  _this.instance = _this.get(ngModuleType);
24530
24554
  return _this;
24531
24555
  }
@@ -24882,6 +24906,18 @@ function ɵɵpureFunction8(slotOffset, pureFn, exp1, exp2, exp3, exp4, exp5, exp
24882
24906
  function ɵɵpureFunctionV(slotOffset, pureFn, exps, thisArg) {
24883
24907
  return pureFunctionVInternal(getLView(), getBindingRoot(), slotOffset, pureFn, exps, thisArg);
24884
24908
  }
24909
+ /**
24910
+ * Results of a pure function invocation are stored in LView in a dedicated slot that is initialized
24911
+ * to NO_CHANGE. In rare situations a pure pipe might throw an exception on the very first
24912
+ * invocation and not produce any valid results. In this case LView would keep holding the NO_CHANGE
24913
+ * value. The NO_CHANGE is not something that we can use in expressions / bindings thus we convert
24914
+ * it to `undefined`.
24915
+ */
24916
+ function getPureFunctionReturnValue(lView, returnValueIndex) {
24917
+ ngDevMode && assertDataInRange(lView, returnValueIndex);
24918
+ var lastReturnValue = lView[returnValueIndex];
24919
+ return lastReturnValue === NO_CHANGE ? undefined : lastReturnValue;
24920
+ }
24885
24921
  /**
24886
24922
  * If the value of the provided exp has changed, calls the pure function to return
24887
24923
  * an updated value. Or if the value has not changed, returns cached value.
@@ -24898,7 +24934,7 @@ function pureFunction1Internal(lView, bindingRoot, slotOffset, pureFn, exp, this
24898
24934
  var bindingIndex = bindingRoot + slotOffset;
24899
24935
  return bindingUpdated(lView, bindingIndex, exp) ?
24900
24936
  updateBinding(lView, bindingIndex + 1, thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
24901
- getBinding(lView, bindingIndex + 1);
24937
+ getPureFunctionReturnValue(lView, bindingIndex + 1);
24902
24938
  }
24903
24939
  /**
24904
24940
  * If the value of any provided exp has changed, calls the pure function to return
@@ -24917,7 +24953,7 @@ function pureFunction2Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
24917
24953
  var bindingIndex = bindingRoot + slotOffset;
24918
24954
  return bindingUpdated2(lView, bindingIndex, exp1, exp2) ?
24919
24955
  updateBinding(lView, bindingIndex + 2, thisArg ? pureFn.call(thisArg, exp1, exp2) : pureFn(exp1, exp2)) :
24920
- getBinding(lView, bindingIndex + 2);
24956
+ getPureFunctionReturnValue(lView, bindingIndex + 2);
24921
24957
  }
24922
24958
  /**
24923
24959
  * If the value of any provided exp has changed, calls the pure function to return
@@ -24937,7 +24973,7 @@ function pureFunction3Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
24937
24973
  var bindingIndex = bindingRoot + slotOffset;
24938
24974
  return bindingUpdated3(lView, bindingIndex, exp1, exp2, exp3) ?
24939
24975
  updateBinding(lView, bindingIndex + 3, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3) : pureFn(exp1, exp2, exp3)) :
24940
- getBinding(lView, bindingIndex + 3);
24976
+ getPureFunctionReturnValue(lView, bindingIndex + 3);
24941
24977
  }
24942
24978
  /**
24943
24979
  * If the value of any provided exp has changed, calls the pure function to return
@@ -24959,7 +24995,7 @@ function pureFunction4Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
24959
24995
  var bindingIndex = bindingRoot + slotOffset;
24960
24996
  return bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) ?
24961
24997
  updateBinding(lView, bindingIndex + 4, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3, exp4) : pureFn(exp1, exp2, exp3, exp4)) :
24962
- getBinding(lView, bindingIndex + 4);
24998
+ getPureFunctionReturnValue(lView, bindingIndex + 4);
24963
24999
  }
24964
25000
  /**
24965
25001
  * pureFunction instruction that can support any number of bindings.
@@ -24983,7 +25019,7 @@ function pureFunctionVInternal(lView, bindingRoot, slotOffset, pureFn, exps, thi
24983
25019
  bindingUpdated(lView, bindingIndex++, exps[i]) && (different = true);
24984
25020
  }
24985
25021
  return different ? updateBinding(lView, bindingIndex, pureFn.apply(thisArg, exps)) :
24986
- getBinding(lView, bindingIndex);
25022
+ getPureFunctionReturnValue(lView, bindingIndex);
24987
25023
  }
24988
25024
 
24989
25025
  /**
@@ -25437,7 +25473,7 @@ var unusedValueExportToPlacateAjd$8 = 1;
25437
25473
  * Use of this source code is governed by an MIT-style license that can be
25438
25474
  * found in the LICENSE file at https://angular.io/license
25439
25475
  */
25440
- var unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
25476
+ var unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
25441
25477
  var LQuery_ = /** @class */ (function () {
25442
25478
  function LQuery_(queryList) {
25443
25479
  this.queryList = queryList;
@@ -25748,9 +25784,7 @@ function collectQueryResults(tView, lView, queryIndex, result) {
25748
25784
  for (var i = 0; i < tQueryMatches.length; i += 2) {
25749
25785
  var tNodeIdx = tQueryMatches[i];
25750
25786
  if (tNodeIdx > 0) {
25751
- var viewResult = lViewResults[i / 2];
25752
- ngDevMode && assertDefined(viewResult, 'materialized query result should be defined');
25753
- result.push(viewResult);
25787
+ result.push(lViewResults[i / 2]);
25754
25788
  }
25755
25789
  else {
25756
25790
  var childQueryIndex = tQueryMatches[i + 1];
@@ -26514,6 +26548,17 @@ function transitiveScopesFor(moduleType) {
26514
26548
  pipes: new Set(),
26515
26549
  },
26516
26550
  };
26551
+ maybeUnwrapFn(def.imports).forEach(function (imported) {
26552
+ var importedType = imported;
26553
+ if (!isNgModule(importedType)) {
26554
+ throw new Error("Importing " + importedType.name + " which does not have a \u0275mod property");
26555
+ }
26556
+ // When this module imports another, the imported module's exported directives and pipes are
26557
+ // added to the compilation scope of this module.
26558
+ var importedScope = transitiveScopesFor(importedType);
26559
+ importedScope.exported.directives.forEach(function (entry) { return scopes.compilation.directives.add(entry); });
26560
+ importedScope.exported.pipes.forEach(function (entry) { return scopes.compilation.pipes.add(entry); });
26561
+ });
26517
26562
  maybeUnwrapFn(def.declarations).forEach(function (declared) {
26518
26563
  var declaredWithDefs = declared;
26519
26564
  if (getPipeDef(declaredWithDefs)) {
@@ -26526,17 +26571,6 @@ function transitiveScopesFor(moduleType) {
26526
26571
  scopes.compilation.directives.add(declared);
26527
26572
  }
26528
26573
  });
26529
- maybeUnwrapFn(def.imports).forEach(function (imported) {
26530
- var importedType = imported;
26531
- if (!isNgModule(importedType)) {
26532
- throw new Error("Importing " + importedType.name + " which does not have a \u0275mod property");
26533
- }
26534
- // When this module imports another, the imported module's exported directives and pipes are
26535
- // added to the compilation scope of this module.
26536
- var importedScope = transitiveScopesFor(importedType);
26537
- importedScope.exported.directives.forEach(function (entry) { return scopes.compilation.directives.add(entry); });
26538
- importedScope.exported.pipes.forEach(function (entry) { return scopes.compilation.pipes.add(entry); });
26539
- });
26540
26574
  maybeUnwrapFn(def.exports).forEach(function (exported) {
26541
26575
  var exportedType = exported;
26542
26576
  // Either the type is a module, a pipe, or a component/directive (which may not have a
@@ -32192,5 +32226,5 @@ if (ngDevMode) {
32192
32226
  * Generated bundle index. Do not edit.
32193
32227
  */
32194
32228
 
32195
- export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0, ɵ1, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, getLView as ɵangular_packages_core_core_ba, getPreviousOrParentTNode as ɵangular_packages_core_core_bb, getBindingRoot as ɵangular_packages_core_core_bc, nextContextImpl as ɵangular_packages_core_core_bd, pureFunction1Internal as ɵangular_packages_core_core_bf, pureFunction2Internal as ɵangular_packages_core_core_bg, pureFunction3Internal as ɵangular_packages_core_core_bh, pureFunction4Internal as ɵangular_packages_core_core_bi, pureFunctionVInternal as ɵangular_packages_core_core_bj, getUrlSanitizer as ɵangular_packages_core_core_bk, makeParamDecorator as ɵangular_packages_core_core_bl, makePropDecorator as ɵangular_packages_core_core_bm, getClosureSafeProperty as ɵangular_packages_core_core_bn, noSideEffects as ɵangular_packages_core_core_bp, getRootContext as ɵangular_packages_core_core_bq, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, SCHEDULER as ɵangular_packages_core_core_x, injectAttributeImpl as ɵangular_packages_core_core_y, instructionState as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual$1 as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable$1 as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, looseIdentical as ɵlooseIdentical, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentHostSyntheticListener, ɵɵcontainer, ɵɵcontainerRefreshEnd, ɵɵcontainerRefreshStart, ɵɵcontentQuery, ɵɵdefaultStyleSanitizer, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵembeddedViewEnd, ɵɵembeddedViewStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵstyleSanitizer, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵviewQuery };
32229
+ export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0, ɵ1, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, getLView as ɵangular_packages_core_core_ba, getPreviousOrParentTNode as ɵangular_packages_core_core_bb, getBindingRoot as ɵangular_packages_core_core_bc, nextContextImpl as ɵangular_packages_core_core_bd, pureFunction1Internal as ɵangular_packages_core_core_bf, pureFunction2Internal as ɵangular_packages_core_core_bg, pureFunction3Internal as ɵangular_packages_core_core_bh, pureFunction4Internal as ɵangular_packages_core_core_bi, pureFunctionVInternal as ɵangular_packages_core_core_bj, getUrlSanitizer as ɵangular_packages_core_core_bk, makeParamDecorator as ɵangular_packages_core_core_bl, makePropDecorator as ɵangular_packages_core_core_bm, getClosureSafeProperty as ɵangular_packages_core_core_bn, noSideEffects as ɵangular_packages_core_core_bo, getRootContext as ɵangular_packages_core_core_bq, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, SCHEDULER as ɵangular_packages_core_core_x, injectAttributeImpl as ɵangular_packages_core_core_y, instructionState as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual$1 as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable$1 as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, looseIdentical as ɵlooseIdentical, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentHostSyntheticListener, ɵɵcontainer, ɵɵcontainerRefreshEnd, ɵɵcontainerRefreshStart, ɵɵcontentQuery, ɵɵdefaultStyleSanitizer, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵembeddedViewEnd, ɵɵembeddedViewStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵstyleSanitizer, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵviewQuery };
32196
32230
  //# sourceMappingURL=core.js.map