@angular/core 9.1.3 → 9.1.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.
- package/bundles/core-testing.umd.js +1 -1
- package/bundles/core-testing.umd.min.js +1 -1
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +251 -360
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +109 -117
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +37 -70
- package/core.metadata.json +1 -1
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/core.js +2 -2
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/i18n/localization.js +7 -16
- package/esm2015/src/render3/assert.js +1 -8
- package/esm2015/src/render3/component_ref.js +15 -13
- package/esm2015/src/render3/hooks.js +3 -3
- package/esm2015/src/render3/index.js +2 -2
- package/esm2015/src/render3/instructions/all.js +3 -4
- package/esm2015/src/render3/instructions/host_property.js +6 -4
- package/esm2015/src/render3/instructions/listener.js +7 -5
- package/esm2015/src/render3/instructions/lview_debug.js +7 -3
- package/esm2015/src/render3/instructions/shared.js +166 -76
- package/esm2015/src/render3/instructions/styling.js +3 -15
- package/esm2015/src/render3/instructions/template.js +100 -0
- package/esm2015/src/render3/interfaces/container.js +8 -11
- package/esm2015/src/render3/interfaces/view.js +22 -7
- package/esm2015/src/render3/jit/environment.js +1 -6
- package/esm2015/src/render3/node_manipulation.js +20 -16
- package/esm2015/src/render3/state.js +23 -2
- package/esm2015/src/render3/util/view_utils.js +26 -2
- package/esm2015/src/render3/view_ref.js +15 -5
- package/esm2015/src/version.js +1 -1
- package/esm5/src/core_render3_private_export.js +2 -2
- package/esm5/src/i18n/localization.js +5 -16
- package/esm5/src/render3/assert.js +1 -4
- package/esm5/src/render3/component_ref.js +13 -9
- package/esm5/src/render3/hooks.js +3 -3
- package/esm5/src/render3/index.js +2 -2
- package/esm5/src/render3/instructions/all.js +2 -3
- package/esm5/src/render3/instructions/host_property.js +5 -4
- package/esm5/src/render3/instructions/listener.js +5 -4
- package/esm5/src/render3/instructions/lview_debug.js +6 -3
- package/esm5/src/render3/instructions/shared.js +148 -67
- package/esm5/src/render3/instructions/styling.js +3 -13
- package/esm5/src/render3/instructions/template.js +73 -0
- package/esm5/src/render3/interfaces/container.js +5 -5
- package/esm5/src/render3/interfaces/view.js +4 -3
- package/esm5/src/render3/jit/environment.js +1 -6
- package/esm5/src/render3/node_manipulation.js +19 -15
- package/esm5/src/render3/state.js +20 -2
- package/esm5/src/render3/util/view_utils.js +21 -2
- package/esm5/src/render3/view_ref.js +15 -6
- package/esm5/src/version.js +1 -1
- package/fesm2015/core.js +309 -431
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +1 -1
- package/fesm5/core.js +252 -356
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +1 -1
- package/package.json +1 -1
- package/src/r3_symbols.d.ts +1 -1
- package/testing/testing.d.ts +1 -1
- package/testing.d.ts +1 -1
- package/esm2015/src/render3/instructions/container.js +0 -227
- package/esm2015/src/render3/instructions/embedded_view.js +0 -151
- package/esm5/src/render3/instructions/container.js +0 -173
- package/esm5/src/render3/instructions/embedded_view.js +0 -127
package/fesm2015/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v9.1.
|
|
2
|
+
* @license Angular v9.1.7
|
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2247,7 +2247,7 @@ const PARENT = 3;
|
|
|
2247
2247
|
/** @type {?} */
|
|
2248
2248
|
const NEXT = 4;
|
|
2249
2249
|
/** @type {?} */
|
|
2250
|
-
const
|
|
2250
|
+
const TRANSPLANTED_VIEWS_TO_REFRESH = 5;
|
|
2251
2251
|
/** @type {?} */
|
|
2252
2252
|
const T_HOST = 6;
|
|
2253
2253
|
/** @type {?} */
|
|
@@ -2274,11 +2274,13 @@ const DECLARATION_COMPONENT_VIEW = 16;
|
|
|
2274
2274
|
const DECLARATION_LCONTAINER = 17;
|
|
2275
2275
|
/** @type {?} */
|
|
2276
2276
|
const PREORDER_HOOK_FLAGS = 18;
|
|
2277
|
+
/** @type {?} */
|
|
2278
|
+
const QUERIES = 19;
|
|
2277
2279
|
/**
|
|
2278
2280
|
* Size of LView's header. Necessary to adjust for it when setting slots.
|
|
2279
2281
|
* @type {?}
|
|
2280
2282
|
*/
|
|
2281
|
-
const HEADER_OFFSET =
|
|
2283
|
+
const HEADER_OFFSET = 20;
|
|
2282
2284
|
/**
|
|
2283
2285
|
* @record
|
|
2284
2286
|
*/
|
|
@@ -2338,6 +2340,8 @@ if (false) {
|
|
|
2338
2340
|
[DECLARATION_LCONTAINER]: LContainer|null;*/
|
|
2339
2341
|
/* Skipping unnamed member:
|
|
2340
2342
|
[PREORDER_HOOK_FLAGS]: PreOrderHookFlags;*/
|
|
2343
|
+
/* Skipping unnamed member:
|
|
2344
|
+
[TRANSPLANTED_VIEWS_TO_REFRESH]: number;*/
|
|
2341
2345
|
}
|
|
2342
2346
|
/** @enum {number} */
|
|
2343
2347
|
const LViewFlags = {
|
|
@@ -2388,11 +2392,16 @@ const LViewFlags = {
|
|
|
2388
2392
|
/** Whether or not this view is the root view */
|
|
2389
2393
|
IsRoot: 512,
|
|
2390
2394
|
/**
|
|
2391
|
-
*
|
|
2395
|
+
* Whether this moved LView was needs to be refreshed at the insertion location because the
|
|
2396
|
+
* declaration was dirty.
|
|
2392
2397
|
*/
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2398
|
+
RefreshTransplantedView: 1024,
|
|
2399
|
+
/**
|
|
2400
|
+
* Index of the current init phase on last 21 bits
|
|
2401
|
+
*/
|
|
2402
|
+
IndexWithinInitPhaseIncrementer: 2048,
|
|
2403
|
+
IndexWithinInitPhaseShift: 11,
|
|
2404
|
+
IndexWithinInitPhaseReset: 2047,
|
|
2396
2405
|
};
|
|
2397
2406
|
/** @enum {number} */
|
|
2398
2407
|
const InitPhaseState = {
|
|
@@ -2715,6 +2724,12 @@ if (false) {
|
|
|
2715
2724
|
* @type {?}
|
|
2716
2725
|
*/
|
|
2717
2726
|
TView.prototype.consts;
|
|
2727
|
+
/**
|
|
2728
|
+
* Indicates that there was an error before we managed to complete the first create pass of the
|
|
2729
|
+
* view. This means that the view is likely corrupted and we should try to recover it.
|
|
2730
|
+
* @type {?}
|
|
2731
|
+
*/
|
|
2732
|
+
TView.prototype.incompleteFirstPass;
|
|
2718
2733
|
}
|
|
2719
2734
|
/** @enum {number} */
|
|
2720
2735
|
const RootContextFlags = {
|
|
@@ -2783,16 +2798,16 @@ const TYPE = 1;
|
|
|
2783
2798
|
* @type {?}
|
|
2784
2799
|
*/
|
|
2785
2800
|
const ACTIVE_INDEX = 2;
|
|
2786
|
-
// PARENT
|
|
2801
|
+
// PARENT, NEXT, TRANSPLANTED_VIEWS_TO_REFRESH are indices 3, 4, and 5
|
|
2787
2802
|
// As we already have these constants in LView, we don't need to re-create them.
|
|
2788
|
-
/** @type {?} */
|
|
2789
|
-
const MOVED_VIEWS = 5;
|
|
2790
2803
|
// T_HOST is index 6
|
|
2791
2804
|
// We already have this constants in LView, we don't need to re-create it.
|
|
2792
2805
|
/** @type {?} */
|
|
2793
2806
|
const NATIVE = 7;
|
|
2794
2807
|
/** @type {?} */
|
|
2795
2808
|
const VIEW_REFS = 8;
|
|
2809
|
+
/** @type {?} */
|
|
2810
|
+
const MOVED_VIEWS = 9;
|
|
2796
2811
|
/**
|
|
2797
2812
|
* Size of LContainer's header. Represents the index after which all views in the
|
|
2798
2813
|
* container will be inserted. We need to keep a record of current views so we know
|
|
@@ -2800,7 +2815,7 @@ const VIEW_REFS = 8;
|
|
|
2800
2815
|
* remove views from the DOM when they are no longer required.
|
|
2801
2816
|
* @type {?}
|
|
2802
2817
|
*/
|
|
2803
|
-
const CONTAINER_HEADER_OFFSET =
|
|
2818
|
+
const CONTAINER_HEADER_OFFSET = 10;
|
|
2804
2819
|
/** @enum {number} */
|
|
2805
2820
|
const ActiveIndexFlag = {
|
|
2806
2821
|
/**
|
|
@@ -2820,11 +2835,6 @@ const ActiveIndexFlag = {
|
|
|
2820
2835
|
* Number of bits to shift inline embedded views counter to make space for other flags.
|
|
2821
2836
|
*/
|
|
2822
2837
|
SHIFT: 1,
|
|
2823
|
-
/**
|
|
2824
|
-
* When incrementing the active index for inline embedded views, the amount to increment to leave
|
|
2825
|
-
* space for other flags.
|
|
2826
|
-
*/
|
|
2827
|
-
INCREMENT: 2,
|
|
2828
2838
|
};
|
|
2829
2839
|
/**
|
|
2830
2840
|
* The state associated with a container.
|
|
@@ -2848,6 +2858,8 @@ if (false) {
|
|
|
2848
2858
|
/* Skipping unnamed member:
|
|
2849
2859
|
[NEXT]: LView|LContainer|null;*/
|
|
2850
2860
|
/* Skipping unnamed member:
|
|
2861
|
+
[TRANSPLANTED_VIEWS_TO_REFRESH]: number;*/
|
|
2862
|
+
/* Skipping unnamed member:
|
|
2851
2863
|
[MOVED_VIEWS]: LView[]|null;*/
|
|
2852
2864
|
/* Skipping unnamed member:
|
|
2853
2865
|
[T_HOST]: TNode;*/
|
|
@@ -2982,13 +2994,6 @@ function assertDataNext(lView, index, arr) {
|
|
|
2982
2994
|
arr = lView;
|
|
2983
2995
|
assertEqual(arr.length, index, `index ${index} expected to be at the end of arr (length ${arr.length})`);
|
|
2984
2996
|
}
|
|
2985
|
-
/**
|
|
2986
|
-
* @param {?} value
|
|
2987
|
-
* @return {?}
|
|
2988
|
-
*/
|
|
2989
|
-
function assertLContainerOrUndefined(value) {
|
|
2990
|
-
value && assertEqual(isLContainer(value), true, 'Expecting LContainer or undefined or null');
|
|
2991
|
-
}
|
|
2992
2997
|
/**
|
|
2993
2998
|
* @param {?} value
|
|
2994
2999
|
* @return {?}
|
|
@@ -3792,6 +3797,30 @@ function getLContainerActiveIndex(lContainer) {
|
|
|
3792
3797
|
function setLContainerActiveIndex(lContainer, index) {
|
|
3793
3798
|
lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
|
|
3794
3799
|
}
|
|
3800
|
+
/**
|
|
3801
|
+
* Updates the `TRANSPLANTED_VIEWS_TO_REFRESH` counter on the `LContainer` as well as the parents
|
|
3802
|
+
* whose
|
|
3803
|
+
* 1. counter goes from 0 to 1, indicating that there is a new child that has a view to refresh
|
|
3804
|
+
* or
|
|
3805
|
+
* 2. counter goes from 1 to 0, indicating there are no more descendant views to refresh
|
|
3806
|
+
* @param {?} lContainer
|
|
3807
|
+
* @param {?} amount
|
|
3808
|
+
* @return {?}
|
|
3809
|
+
*/
|
|
3810
|
+
function updateTransplantedViewCount(lContainer, amount) {
|
|
3811
|
+
lContainer[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;
|
|
3812
|
+
/** @type {?} */
|
|
3813
|
+
let viewOrContainer = lContainer;
|
|
3814
|
+
/** @type {?} */
|
|
3815
|
+
let parent = lContainer[PARENT];
|
|
3816
|
+
while (parent !== null &&
|
|
3817
|
+
((amount === 1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 1) ||
|
|
3818
|
+
(amount === -1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 0))) {
|
|
3819
|
+
parent[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;
|
|
3820
|
+
viewOrContainer = parent;
|
|
3821
|
+
parent = parent[PARENT];
|
|
3822
|
+
}
|
|
3823
|
+
}
|
|
3795
3824
|
|
|
3796
3825
|
/**
|
|
3797
3826
|
* @fileoverview added by tsickle
|
|
@@ -4173,7 +4202,7 @@ function setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex)
|
|
|
4173
4202
|
/** @type {?} */
|
|
4174
4203
|
const lFrame = instructionState.lFrame;
|
|
4175
4204
|
lFrame.bindingIndex = lFrame.bindingRootIndex = bindingRootIndex;
|
|
4176
|
-
|
|
4205
|
+
setCurrentDirectiveIndex(currentDirectiveIndex);
|
|
4177
4206
|
}
|
|
4178
4207
|
/**
|
|
4179
4208
|
* When host binding is executing this points to the directive index.
|
|
@@ -4184,6 +4213,27 @@ function setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex)
|
|
|
4184
4213
|
function getCurrentDirectiveIndex() {
|
|
4185
4214
|
return instructionState.lFrame.currentDirectiveIndex;
|
|
4186
4215
|
}
|
|
4216
|
+
/**
|
|
4217
|
+
* Sets an index of a directive whose `hostBindings` are being processed.
|
|
4218
|
+
*
|
|
4219
|
+
* @param {?} currentDirectiveIndex `TData` index where current directive instance can be found.
|
|
4220
|
+
* @return {?}
|
|
4221
|
+
*/
|
|
4222
|
+
function setCurrentDirectiveIndex(currentDirectiveIndex) {
|
|
4223
|
+
instructionState.lFrame.currentDirectiveIndex = currentDirectiveIndex;
|
|
4224
|
+
}
|
|
4225
|
+
/**
|
|
4226
|
+
* Retrieve the current `DirectiveDef` which is active when `hostBindings` instruction is being
|
|
4227
|
+
* executed.
|
|
4228
|
+
*
|
|
4229
|
+
* @param {?} tData Current `TData` where the `DirectiveDef` will be looked up at.
|
|
4230
|
+
* @return {?}
|
|
4231
|
+
*/
|
|
4232
|
+
function getCurrentDirectiveDef(tData) {
|
|
4233
|
+
/** @type {?} */
|
|
4234
|
+
const currentDirectiveIndex = instructionState.lFrame.currentDirectiveIndex;
|
|
4235
|
+
return currentDirectiveIndex === -1 ? null : (/** @type {?} */ (tData[currentDirectiveIndex]));
|
|
4236
|
+
}
|
|
4187
4237
|
/**
|
|
4188
4238
|
* @return {?}
|
|
4189
4239
|
*/
|
|
@@ -4623,7 +4673,7 @@ function incrementInitPhaseFlags(lView, initPhase) {
|
|
|
4623
4673
|
/** @type {?} */
|
|
4624
4674
|
let flags = lView[FLAGS];
|
|
4625
4675
|
if ((flags & 3 /* InitPhaseStateMask */) === initPhase) {
|
|
4626
|
-
flags &=
|
|
4676
|
+
flags &= 2047 /* IndexWithinInitPhaseReset */;
|
|
4627
4677
|
flags += 1 /* InitPhaseStateIncrementer */;
|
|
4628
4678
|
lView[FLAGS] = flags;
|
|
4629
4679
|
}
|
|
@@ -4698,13 +4748,13 @@ function callHook(currentView, initPhase, arr, i) {
|
|
|
4698
4748
|
const directive = currentView[directiveIndex];
|
|
4699
4749
|
if (isInitHook) {
|
|
4700
4750
|
/** @type {?} */
|
|
4701
|
-
const indexWithintInitPhase = currentView[FLAGS] >>
|
|
4751
|
+
const indexWithintInitPhase = currentView[FLAGS] >> 11 /* IndexWithinInitPhaseShift */;
|
|
4702
4752
|
// The init phase state must be always checked here as it may have been recursively
|
|
4703
4753
|
// updated
|
|
4704
4754
|
if (indexWithintInitPhase <
|
|
4705
4755
|
(currentView[PREORDER_HOOK_FLAGS] >> 16 /* NumberOfInitHooksCalledShift */) &&
|
|
4706
4756
|
(currentView[FLAGS] & 3 /* InitPhaseStateMask */) === initPhase) {
|
|
4707
|
-
currentView[FLAGS] +=
|
|
4757
|
+
currentView[FLAGS] += 2048 /* IndexWithinInitPhaseIncrementer */;
|
|
4708
4758
|
hook.call(directive);
|
|
4709
4759
|
}
|
|
4710
4760
|
}
|
|
@@ -10435,6 +10485,7 @@ const TViewConstructor = class TView {
|
|
|
10435
10485
|
* @param {?} firstChild
|
|
10436
10486
|
* @param {?} schemas
|
|
10437
10487
|
* @param {?} consts
|
|
10488
|
+
* @param {?} incompleteFirstPass
|
|
10438
10489
|
*/
|
|
10439
10490
|
constructor(type, //
|
|
10440
10491
|
id, //
|
|
@@ -10465,7 +10516,9 @@ const TViewConstructor = class TView {
|
|
|
10465
10516
|
pipeRegistry, //
|
|
10466
10517
|
firstChild, //
|
|
10467
10518
|
schemas, //
|
|
10468
|
-
consts
|
|
10519
|
+
consts, //
|
|
10520
|
+
incompleteFirstPass //
|
|
10521
|
+
) {
|
|
10469
10522
|
this.type = type;
|
|
10470
10523
|
this.id = id;
|
|
10471
10524
|
this.blueprint = blueprint;
|
|
@@ -10496,6 +10549,7 @@ const TViewConstructor = class TView {
|
|
|
10496
10549
|
this.firstChild = firstChild;
|
|
10497
10550
|
this.schemas = schemas;
|
|
10498
10551
|
this.consts = consts;
|
|
10552
|
+
this.incompleteFirstPass = incompleteFirstPass;
|
|
10499
10553
|
}
|
|
10500
10554
|
/**
|
|
10501
10555
|
* @return {?}
|
|
@@ -10938,7 +10992,7 @@ class LViewDebug {
|
|
|
10938
10992
|
attached: !!(flags & 128 /* Attached */),
|
|
10939
10993
|
destroyed: !!(flags & 256 /* Destroyed */),
|
|
10940
10994
|
isRoot: !!(flags & 512 /* IsRoot */),
|
|
10941
|
-
indexWithinInitPhase: flags >>
|
|
10995
|
+
indexWithinInitPhase: flags >> 11 /* IndexWithinInitPhaseShift */,
|
|
10942
10996
|
};
|
|
10943
10997
|
}
|
|
10944
10998
|
/**
|
|
@@ -11871,6 +11925,14 @@ function renderView(tView, lView, context) {
|
|
|
11871
11925
|
renderChildComponents(lView, components);
|
|
11872
11926
|
}
|
|
11873
11927
|
}
|
|
11928
|
+
catch (error) {
|
|
11929
|
+
// If we didn't manage to get past the first template pass due to
|
|
11930
|
+
// an error, mark the view as corrupted so we can try to recover.
|
|
11931
|
+
if (tView.firstCreatePass) {
|
|
11932
|
+
tView.incompleteFirstPass = true;
|
|
11933
|
+
}
|
|
11934
|
+
throw error;
|
|
11935
|
+
}
|
|
11874
11936
|
finally {
|
|
11875
11937
|
lView[FLAGS] &= ~4 /* CreationMode */;
|
|
11876
11938
|
leaveView();
|
|
@@ -11926,6 +11988,10 @@ function refreshView(tView, lView, templateFn, context) {
|
|
|
11926
11988
|
incrementInitPhaseFlags(lView, 0 /* OnInitHooksToBeRun */);
|
|
11927
11989
|
}
|
|
11928
11990
|
}
|
|
11991
|
+
// First mark transplanted views that are declared in this lView as needing a refresh at their
|
|
11992
|
+
// insertion points. This is needed to avoid the situation where the template is defined in this
|
|
11993
|
+
// `LView` but its declaration appears after the insertion component.
|
|
11994
|
+
markTransplantedViewsForRefresh(lView);
|
|
11929
11995
|
refreshDynamicEmbeddedViews(lView);
|
|
11930
11996
|
// Content query results must be refreshed before content hooks are called.
|
|
11931
11997
|
if (tView.contentQueries !== null) {
|
|
@@ -12002,6 +12068,10 @@ function refreshView(tView, lView, templateFn, context) {
|
|
|
12002
12068
|
if (!checkNoChangesMode) {
|
|
12003
12069
|
lView[FLAGS] &= ~(64 /* Dirty */ | 8 /* FirstLViewPass */);
|
|
12004
12070
|
}
|
|
12071
|
+
if (lView[FLAGS] & 1024 /* RefreshTransplantedView */) {
|
|
12072
|
+
lView[FLAGS] &= ~1024 /* RefreshTransplantedView */;
|
|
12073
|
+
updateTransplantedViewCount((/** @type {?} */ (lView[PARENT])), -1);
|
|
12074
|
+
}
|
|
12005
12075
|
}
|
|
12006
12076
|
finally {
|
|
12007
12077
|
leaveView();
|
|
@@ -12134,8 +12204,14 @@ function saveResolvedLocalsInData(viewData, tNode, localRefExtractor = getNative
|
|
|
12134
12204
|
* @return {?} TView
|
|
12135
12205
|
*/
|
|
12136
12206
|
function getOrCreateTComponentView(def) {
|
|
12137
|
-
|
|
12138
|
-
|
|
12207
|
+
/** @type {?} */
|
|
12208
|
+
const tView = def.tView;
|
|
12209
|
+
// Create a TView if there isn't one, or recreate it if the first create pass didn't
|
|
12210
|
+
// complete successfuly since we can't know for sure whether it's in a usable shape.
|
|
12211
|
+
if (tView === null || tView.incompleteFirstPass) {
|
|
12212
|
+
return def.tView = createTView(1 /* Component */, -1, def.template, def.decls, def.vars, def.directiveDefs, def.pipeDefs, def.viewQuery, def.schemas, def.consts);
|
|
12213
|
+
}
|
|
12214
|
+
return tView;
|
|
12139
12215
|
}
|
|
12140
12216
|
/**
|
|
12141
12217
|
* Creates a TView instance
|
|
@@ -12193,7 +12269,9 @@ function createTView(type, viewIndex, templateFn, decls, vars, directives, pipes
|
|
|
12193
12269
|
typeof pipes === 'function' ? pipes() : pipes, // pipeRegistry: PipeDefList|null,
|
|
12194
12270
|
null, // firstChild: TNode|null,
|
|
12195
12271
|
schemas, // schemas: SchemaMetadata[]|null,
|
|
12196
|
-
consts
|
|
12272
|
+
consts, // consts: TConstants|null
|
|
12273
|
+
false // incompleteFirstPass: boolean
|
|
12274
|
+
) :
|
|
12197
12275
|
{
|
|
12198
12276
|
type: type,
|
|
12199
12277
|
id: viewIndex,
|
|
@@ -12225,6 +12303,7 @@ function createTView(type, viewIndex, templateFn, decls, vars, directives, pipes
|
|
|
12225
12303
|
firstChild: null,
|
|
12226
12304
|
schemas: schemas,
|
|
12227
12305
|
consts: consts,
|
|
12306
|
+
incompleteFirstPass: false
|
|
12228
12307
|
};
|
|
12229
12308
|
}
|
|
12230
12309
|
/**
|
|
@@ -12900,13 +12979,16 @@ function invokeDirectivesHostBindings(tView, lView, tNode) {
|
|
|
12900
12979
|
const firstCreatePass = tView.firstCreatePass;
|
|
12901
12980
|
/** @type {?} */
|
|
12902
12981
|
const elementIndex = tNode.index - HEADER_OFFSET;
|
|
12982
|
+
/** @type {?} */
|
|
12983
|
+
const currentDirectiveIndex = getCurrentDirectiveIndex();
|
|
12903
12984
|
try {
|
|
12904
12985
|
setSelectedIndex(elementIndex);
|
|
12905
|
-
for (let
|
|
12986
|
+
for (let dirIndex = start; dirIndex < end; dirIndex++) {
|
|
12906
12987
|
/** @type {?} */
|
|
12907
|
-
const def = (/** @type {?} */ (tView.data[
|
|
12988
|
+
const def = (/** @type {?} */ (tView.data[dirIndex]));
|
|
12908
12989
|
/** @type {?} */
|
|
12909
|
-
const directive = lView[
|
|
12990
|
+
const directive = lView[dirIndex];
|
|
12991
|
+
setCurrentDirectiveIndex(dirIndex);
|
|
12910
12992
|
if (def.hostBindings !== null || def.hostVars !== 0 || def.hostAttrs !== null) {
|
|
12911
12993
|
invokeHostBindingsInCreationMode(def, directive);
|
|
12912
12994
|
}
|
|
@@ -12917,6 +12999,7 @@ function invokeDirectivesHostBindings(tView, lView, tNode) {
|
|
|
12917
12999
|
}
|
|
12918
13000
|
finally {
|
|
12919
13001
|
setSelectedIndex(-1);
|
|
13002
|
+
setCurrentDirectiveIndex(currentDirectiveIndex);
|
|
12920
13003
|
}
|
|
12921
13004
|
}
|
|
12922
13005
|
/**
|
|
@@ -13249,10 +13332,13 @@ function createLContainer(hostNative, currentView, native, tNode) {
|
|
|
13249
13332
|
-1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */ << 1 /* SHIFT */, // active index
|
|
13250
13333
|
currentView, // parent
|
|
13251
13334
|
null, // next
|
|
13252
|
-
|
|
13335
|
+
0, // transplanted views to refresh count
|
|
13253
13336
|
tNode, // t_host
|
|
13254
13337
|
native, // native,
|
|
13338
|
+
null, // view refs
|
|
13255
13339
|
null);
|
|
13340
|
+
ngDevMode &&
|
|
13341
|
+
assertEqual(lContainer.length, CONTAINER_HEADER_OFFSET, 'Should allocate correct number of slots for LContainer header.');
|
|
13256
13342
|
ngDevMode && attachLContainerDebug(lContainer);
|
|
13257
13343
|
return lContainer;
|
|
13258
13344
|
}
|
|
@@ -13263,77 +13349,82 @@ function createLContainer(hostNative, currentView, native, tNode) {
|
|
|
13263
13349
|
* @return {?}
|
|
13264
13350
|
*/
|
|
13265
13351
|
function refreshDynamicEmbeddedViews(lView) {
|
|
13266
|
-
|
|
13267
|
-
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
|
|
13272
|
-
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
-1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */) {
|
|
13276
|
-
for (let i = CONTAINER_HEADER_OFFSET; i < viewOrContainer.length; i++) {
|
|
13277
|
-
/** @type {?} */
|
|
13278
|
-
const embeddedLView = (/** @type {?} */ (viewOrContainer[i]));
|
|
13279
|
-
/** @type {?} */
|
|
13280
|
-
const embeddedTView = embeddedLView[TVIEW];
|
|
13281
|
-
ngDevMode && assertDefined(embeddedTView, 'TView must be allocated');
|
|
13282
|
-
if (viewAttachedToChangeDetector(embeddedLView)) {
|
|
13283
|
-
refreshView(embeddedTView, embeddedLView, embeddedTView.template, (/** @type {?} */ (embeddedLView[CONTEXT])));
|
|
13284
|
-
}
|
|
13285
|
-
}
|
|
13286
|
-
if ((activeIndexFlag & 1 /* HAS_TRANSPLANTED_VIEWS */) !== 0) {
|
|
13287
|
-
// We should only CD moved views if the component where they were inserted does not match
|
|
13288
|
-
// the component where they were declared and insertion is on-push. Moved views also
|
|
13289
|
-
// contains intra component moves, or check-always which need to be skipped.
|
|
13290
|
-
refreshTransplantedViews(viewOrContainer, (/** @type {?} */ (lView[DECLARATION_COMPONENT_VIEW])));
|
|
13352
|
+
for (let lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
|
|
13353
|
+
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
13354
|
+
/** @type {?} */
|
|
13355
|
+
const embeddedLView = lContainer[i];
|
|
13356
|
+
/** @type {?} */
|
|
13357
|
+
const embeddedTView = embeddedLView[TVIEW];
|
|
13358
|
+
ngDevMode && assertDefined(embeddedTView, 'TView must be allocated');
|
|
13359
|
+
if (viewAttachedToChangeDetector(embeddedLView)) {
|
|
13360
|
+
refreshView(embeddedTView, embeddedLView, embeddedTView.template, (/** @type {?} */ (embeddedLView[CONTEXT])));
|
|
13291
13361
|
}
|
|
13292
13362
|
}
|
|
13363
|
+
}
|
|
13364
|
+
}
|
|
13365
|
+
/**
|
|
13366
|
+
* Gets the first `LContainer` in the LView or `null` if none exists.
|
|
13367
|
+
* @param {?} lView
|
|
13368
|
+
* @return {?}
|
|
13369
|
+
*/
|
|
13370
|
+
function getFirstLContainer(lView) {
|
|
13371
|
+
/** @type {?} */
|
|
13372
|
+
let viewOrContainer = lView[CHILD_HEAD];
|
|
13373
|
+
while (viewOrContainer !== null &&
|
|
13374
|
+
!(isLContainer(viewOrContainer) &&
|
|
13375
|
+
viewOrContainer[ACTIVE_INDEX] >> 1 /* SHIFT */ ===
|
|
13376
|
+
-1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */)) {
|
|
13293
13377
|
viewOrContainer = viewOrContainer[NEXT];
|
|
13294
13378
|
}
|
|
13379
|
+
return viewOrContainer;
|
|
13295
13380
|
}
|
|
13296
13381
|
/**
|
|
13297
|
-
*
|
|
13382
|
+
* Gets the next `LContainer` that is a sibling of the given container.
|
|
13383
|
+
* @param {?} container
|
|
13384
|
+
* @return {?}
|
|
13385
|
+
*/
|
|
13386
|
+
function getNextLContainer(container) {
|
|
13387
|
+
/** @type {?} */
|
|
13388
|
+
let viewOrContainer = container[NEXT];
|
|
13389
|
+
while (viewOrContainer !== null &&
|
|
13390
|
+
!(isLContainer(viewOrContainer) &&
|
|
13391
|
+
viewOrContainer[ACTIVE_INDEX] >> 1 /* SHIFT */ ===
|
|
13392
|
+
-1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */)) {
|
|
13393
|
+
viewOrContainer = viewOrContainer[NEXT];
|
|
13394
|
+
}
|
|
13395
|
+
return viewOrContainer;
|
|
13396
|
+
}
|
|
13397
|
+
/**
|
|
13398
|
+
* Mark transplanted views as needing to be refreshed at their insertion points.
|
|
13298
13399
|
*
|
|
13299
13400
|
* See: `ActiveIndexFlag.HAS_TRANSPLANTED_VIEWS` and `LView[DECLARATION_COMPONENT_VIEW]` for
|
|
13300
13401
|
* explanation of transplanted views.
|
|
13301
13402
|
*
|
|
13302
|
-
* @param {?}
|
|
13303
|
-
* @param {?} declaredComponentLView The `lContainer` parent component `LView`.
|
|
13403
|
+
* @param {?} lView The `LView` that may have transplanted views.
|
|
13304
13404
|
* @return {?}
|
|
13305
13405
|
*/
|
|
13306
|
-
function
|
|
13307
|
-
|
|
13308
|
-
|
|
13309
|
-
ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
|
|
13310
|
-
for (let i = 0; i < movedViews.length; i++) {
|
|
13311
|
-
/** @type {?} */
|
|
13312
|
-
const movedLView = (/** @type {?} */ (movedViews[i]));
|
|
13313
|
-
/** @type {?} */
|
|
13314
|
-
const insertionLContainer = (/** @type {?} */ (movedLView[PARENT]));
|
|
13315
|
-
ngDevMode && assertLContainer(insertionLContainer);
|
|
13316
|
-
/** @type {?} */
|
|
13317
|
-
const insertedComponentLView = (/** @type {?} */ (insertionLContainer[PARENT][DECLARATION_COMPONENT_VIEW]));
|
|
13318
|
-
ngDevMode && assertDefined(insertedComponentLView, 'Missing LView');
|
|
13319
|
-
// Check if we have a transplanted view by compering declaration and insertion location.
|
|
13320
|
-
if (insertedComponentLView !== declaredComponentLView) {
|
|
13321
|
-
// Yes the `LView` is transplanted.
|
|
13322
|
-
// Here we would like to know if the component is `OnPush`. We don't have
|
|
13323
|
-
// explicit `OnPush` flag instead we set `CheckAlways` to false (which is `OnPush`)
|
|
13324
|
-
// Not to be confused with `ManualOnPush` which is used with wether a DOM event
|
|
13325
|
-
// should automatically mark a view as dirty.
|
|
13406
|
+
function markTransplantedViewsForRefresh(lView) {
|
|
13407
|
+
for (let lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
|
|
13408
|
+
if ((lContainer[ACTIVE_INDEX] & 1 /* HAS_TRANSPLANTED_VIEWS */) !== 0) {
|
|
13326
13409
|
/** @type {?} */
|
|
13327
|
-
const
|
|
13328
|
-
|
|
13329
|
-
|
|
13330
|
-
|
|
13331
|
-
|
|
13332
|
-
// point.
|
|
13410
|
+
const movedViews = (/** @type {?} */ (lContainer[MOVED_VIEWS]));
|
|
13411
|
+
ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
|
|
13412
|
+
for (let i = 0; i < movedViews.length; i++) {
|
|
13413
|
+
/** @type {?} */
|
|
13414
|
+
const movedLView = (/** @type {?} */ (movedViews[i]));
|
|
13333
13415
|
/** @type {?} */
|
|
13334
|
-
const
|
|
13335
|
-
ngDevMode &&
|
|
13336
|
-
|
|
13416
|
+
const insertionLContainer = (/** @type {?} */ (movedLView[PARENT]));
|
|
13417
|
+
ngDevMode && assertLContainer(insertionLContainer);
|
|
13418
|
+
// We don't want to increment the counter if the moved LView was already marked for
|
|
13419
|
+
// refresh.
|
|
13420
|
+
if ((movedLView[FLAGS] & 1024 /* RefreshTransplantedView */) === 0) {
|
|
13421
|
+
updateTransplantedViewCount(insertionLContainer, 1);
|
|
13422
|
+
}
|
|
13423
|
+
// Note, it is possible that the `movedViews` is tracking views that are transplanted *and*
|
|
13424
|
+
// those that aren't (declaration component === insertion component). In the latter case,
|
|
13425
|
+
// it's fine to add the flag, as we will clear it immediately in
|
|
13426
|
+
// `refreshDynamicEmbeddedViews` for the view currently being refreshed.
|
|
13427
|
+
movedLView[FLAGS] |= 1024 /* RefreshTransplantedView */;
|
|
13337
13428
|
}
|
|
13338
13429
|
}
|
|
13339
13430
|
}
|
|
@@ -13351,11 +13442,56 @@ function refreshComponent(hostLView, componentHostIdx) {
|
|
|
13351
13442
|
/** @type {?} */
|
|
13352
13443
|
const componentView = getComponentLViewByIndex(componentHostIdx, hostLView);
|
|
13353
13444
|
// Only attached components that are CheckAlways or OnPush and dirty should be refreshed
|
|
13354
|
-
if (viewAttachedToChangeDetector(componentView)
|
|
13355
|
-
componentView[FLAGS] & (16 /* CheckAlways */ | 64 /* Dirty */)) {
|
|
13445
|
+
if (viewAttachedToChangeDetector(componentView)) {
|
|
13356
13446
|
/** @type {?} */
|
|
13357
|
-
const
|
|
13358
|
-
|
|
13447
|
+
const tView = componentView[TVIEW];
|
|
13448
|
+
if (componentView[FLAGS] & (16 /* CheckAlways */ | 64 /* Dirty */)) {
|
|
13449
|
+
refreshView(tView, componentView, tView.template, componentView[CONTEXT]);
|
|
13450
|
+
}
|
|
13451
|
+
else if (componentView[TRANSPLANTED_VIEWS_TO_REFRESH] > 0) {
|
|
13452
|
+
// Only attached components that are CheckAlways or OnPush and dirty should be refreshed
|
|
13453
|
+
refreshContainsDirtyView(componentView);
|
|
13454
|
+
}
|
|
13455
|
+
}
|
|
13456
|
+
}
|
|
13457
|
+
/**
|
|
13458
|
+
* Refreshes all transplanted views marked with `LViewFlags.RefreshTransplantedView` that are
|
|
13459
|
+
* children or descendants of the given lView.
|
|
13460
|
+
*
|
|
13461
|
+
* @param {?} lView The lView which contains descendant transplanted views that need to be refreshed.
|
|
13462
|
+
* @return {?}
|
|
13463
|
+
*/
|
|
13464
|
+
function refreshContainsDirtyView(lView) {
|
|
13465
|
+
for (let lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
|
|
13466
|
+
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
13467
|
+
/** @type {?} */
|
|
13468
|
+
const embeddedLView = lContainer[i];
|
|
13469
|
+
if (embeddedLView[FLAGS] & 1024 /* RefreshTransplantedView */) {
|
|
13470
|
+
/** @type {?} */
|
|
13471
|
+
const embeddedTView = embeddedLView[TVIEW];
|
|
13472
|
+
ngDevMode && assertDefined(embeddedTView, 'TView must be allocated');
|
|
13473
|
+
refreshView(embeddedTView, embeddedLView, embeddedTView.template, (/** @type {?} */ (embeddedLView[CONTEXT])));
|
|
13474
|
+
}
|
|
13475
|
+
else if (embeddedLView[TRANSPLANTED_VIEWS_TO_REFRESH] > 0) {
|
|
13476
|
+
refreshContainsDirtyView(embeddedLView);
|
|
13477
|
+
}
|
|
13478
|
+
}
|
|
13479
|
+
}
|
|
13480
|
+
/** @type {?} */
|
|
13481
|
+
const tView = lView[TVIEW];
|
|
13482
|
+
// Refresh child component views.
|
|
13483
|
+
/** @type {?} */
|
|
13484
|
+
const components = tView.components;
|
|
13485
|
+
if (components !== null) {
|
|
13486
|
+
for (let i = 0; i < components.length; i++) {
|
|
13487
|
+
/** @type {?} */
|
|
13488
|
+
const componentView = getComponentLViewByIndex(components[i], lView);
|
|
13489
|
+
// Only attached components that are CheckAlways or OnPush and dirty should be refreshed
|
|
13490
|
+
if (viewAttachedToChangeDetector(componentView) &&
|
|
13491
|
+
componentView[TRANSPLANTED_VIEWS_TO_REFRESH] > 0) {
|
|
13492
|
+
refreshContainsDirtyView(componentView);
|
|
13493
|
+
}
|
|
13494
|
+
}
|
|
13359
13495
|
}
|
|
13360
13496
|
}
|
|
13361
13497
|
/**
|
|
@@ -13664,14 +13800,22 @@ function getTViewCleanup(tView) {
|
|
|
13664
13800
|
/**
|
|
13665
13801
|
* There are cases where the sub component's renderer needs to be included
|
|
13666
13802
|
* instead of the current renderer (see the componentSyntheticHost* instructions).
|
|
13803
|
+
* @param {?} currentDef
|
|
13667
13804
|
* @param {?} tNode
|
|
13668
13805
|
* @param {?} lView
|
|
13669
13806
|
* @return {?}
|
|
13670
13807
|
*/
|
|
13671
|
-
function loadComponentRenderer(tNode, lView) {
|
|
13672
|
-
|
|
13673
|
-
|
|
13674
|
-
|
|
13808
|
+
function loadComponentRenderer(currentDef, tNode, lView) {
|
|
13809
|
+
// TODO(FW-2043): the `currentDef` is null when host bindings are invoked while creating root
|
|
13810
|
+
// component (see packages/core/src/render3/component.ts). This is not consistent with the process
|
|
13811
|
+
// of creating inner components, when current directive index is available in the state. In order
|
|
13812
|
+
// to avoid relying on current def being `null` (thus special-casing root component creation), the
|
|
13813
|
+
// process of creating root component should be unified with the process of creating inner
|
|
13814
|
+
// components.
|
|
13815
|
+
if (currentDef === null || isComponentDef(currentDef)) {
|
|
13816
|
+
lView = (/** @type {?} */ (unwrapLView(lView[tNode.index])));
|
|
13817
|
+
}
|
|
13818
|
+
return lView[RENDERER];
|
|
13675
13819
|
}
|
|
13676
13820
|
/**
|
|
13677
13821
|
* Handles an error thrown in an LView.
|
|
@@ -14004,18 +14148,13 @@ function trackMovedView(declarationContainer, lView) {
|
|
|
14004
14148
|
const insertedComponentLView = (/** @type {?} */ (insertedLContainer[PARENT]))[DECLARATION_COMPONENT_VIEW];
|
|
14005
14149
|
ngDevMode && assertDefined(insertedComponentLView, 'Missing insertedComponentLView');
|
|
14006
14150
|
/** @type {?} */
|
|
14007
|
-
const
|
|
14008
|
-
|
|
14009
|
-
|
|
14010
|
-
|
|
14011
|
-
|
|
14012
|
-
|
|
14013
|
-
|
|
14014
|
-
// on-push mode, this means that this is a transplanted view. Mark the declared lView as
|
|
14015
|
-
// having
|
|
14016
|
-
// transplanted views so that those views can participate in CD.
|
|
14017
|
-
declarationContainer[ACTIVE_INDEX] |= 1 /* HAS_TRANSPLANTED_VIEWS */;
|
|
14018
|
-
}
|
|
14151
|
+
const declaredComponentLView = lView[DECLARATION_COMPONENT_VIEW];
|
|
14152
|
+
ngDevMode && assertDefined(declaredComponentLView, 'Missing declaredComponentLView');
|
|
14153
|
+
if (declaredComponentLView !== insertedComponentLView) {
|
|
14154
|
+
// At this point the declaration-component is not same as insertion-component; this means that
|
|
14155
|
+
// this is a transplanted view. Mark the declared lView as having transplanted views so that
|
|
14156
|
+
// those views can participate in CD.
|
|
14157
|
+
declarationContainer[ACTIVE_INDEX] |= 1 /* HAS_TRANSPLANTED_VIEWS */;
|
|
14019
14158
|
}
|
|
14020
14159
|
if (movedViews === null) {
|
|
14021
14160
|
declarationContainer[MOVED_VIEWS] = [lView];
|
|
@@ -14036,8 +14175,17 @@ function detachMovedView(declarationContainer, lView) {
|
|
|
14036
14175
|
/** @type {?} */
|
|
14037
14176
|
const movedViews = (/** @type {?} */ (declarationContainer[MOVED_VIEWS]));
|
|
14038
14177
|
/** @type {?} */
|
|
14039
|
-
const
|
|
14040
|
-
|
|
14178
|
+
const declarationViewIndex = movedViews.indexOf(lView);
|
|
14179
|
+
/** @type {?} */
|
|
14180
|
+
const insertionLContainer = (/** @type {?} */ (lView[PARENT]));
|
|
14181
|
+
ngDevMode && assertLContainer(insertionLContainer);
|
|
14182
|
+
// If the view was marked for refresh but then detached before it was checked (where the flag
|
|
14183
|
+
// would be cleared and the counter decremented), we need to decrement the view counter here
|
|
14184
|
+
// instead.
|
|
14185
|
+
if (lView[FLAGS] & 1024 /* RefreshTransplantedView */) {
|
|
14186
|
+
updateTransplantedViewCount(insertionLContainer, -1);
|
|
14187
|
+
}
|
|
14188
|
+
movedViews.splice(declarationViewIndex, 1);
|
|
14041
14189
|
}
|
|
14042
14190
|
/**
|
|
14043
14191
|
* Detaches a view from a container.
|
|
@@ -15318,11 +15466,20 @@ function collectNativeNodes(tView, lView, tNode, result, isProjection = false) {
|
|
|
15318
15466
|
/** @type {?} */
|
|
15319
15467
|
const componentHost = (/** @type {?} */ (componentView[T_HOST]));
|
|
15320
15468
|
/** @type {?} */
|
|
15321
|
-
const
|
|
15469
|
+
const slotIdx = (/** @type {?} */ (tNode.projection));
|
|
15470
|
+
ngDevMode &&
|
|
15471
|
+
assertDefined(componentHost.projection, 'Components with projection nodes (<ng-content>) must have projection slots defined.');
|
|
15322
15472
|
/** @type {?} */
|
|
15323
|
-
|
|
15324
|
-
if (
|
|
15325
|
-
|
|
15473
|
+
const nodesInSlot = (/** @type {?} */ (componentHost.projection))[slotIdx];
|
|
15474
|
+
if (Array.isArray(nodesInSlot)) {
|
|
15475
|
+
result.push(...nodesInSlot);
|
|
15476
|
+
}
|
|
15477
|
+
else {
|
|
15478
|
+
/** @type {?} */
|
|
15479
|
+
const parentView = (/** @type {?} */ (getLViewParent(componentView)));
|
|
15480
|
+
ngDevMode &&
|
|
15481
|
+
assertDefined(parentView, 'Component views should always have a parent view (component\'s host view)');
|
|
15482
|
+
collectNativeNodes(parentView[TVIEW], parentView, nodesInSlot, result, true);
|
|
15326
15483
|
}
|
|
15327
15484
|
}
|
|
15328
15485
|
tNode = isProjection ? tNode.projectionNext : tNode.next;
|
|
@@ -20810,33 +20967,9 @@ function tick(component) {
|
|
|
20810
20967
|
|
|
20811
20968
|
/**
|
|
20812
20969
|
* @fileoverview added by tsickle
|
|
20813
|
-
* Generated from: packages/core/src/render3/instructions/
|
|
20970
|
+
* Generated from: packages/core/src/render3/instructions/template.ts
|
|
20814
20971
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
20815
20972
|
*/
|
|
20816
|
-
/**
|
|
20817
|
-
* Creates an LContainer for inline views, e.g.
|
|
20818
|
-
*
|
|
20819
|
-
* % if (showing) {
|
|
20820
|
-
* <div></div>
|
|
20821
|
-
* % }
|
|
20822
|
-
*
|
|
20823
|
-
* \@codeGenApi
|
|
20824
|
-
* @param {?} index The index of the container in the data array
|
|
20825
|
-
*
|
|
20826
|
-
* @return {?}
|
|
20827
|
-
*/
|
|
20828
|
-
function ɵɵcontainer(index) {
|
|
20829
|
-
/** @type {?} */
|
|
20830
|
-
const lView = getLView();
|
|
20831
|
-
/** @type {?} */
|
|
20832
|
-
const tView = getTView();
|
|
20833
|
-
/** @type {?} */
|
|
20834
|
-
const tNode = containerInternal(tView, lView, index, null, null);
|
|
20835
|
-
if (tView.firstCreatePass) {
|
|
20836
|
-
tNode.tViews = [];
|
|
20837
|
-
}
|
|
20838
|
-
setIsNotParent();
|
|
20839
|
-
}
|
|
20840
20973
|
/**
|
|
20841
20974
|
* @param {?} index
|
|
20842
20975
|
* @param {?} tView
|
|
@@ -20915,106 +21048,6 @@ function ɵɵtemplate(index, templateFn, decls, vars, tagName, attrsIndex, local
|
|
|
20915
21048
|
saveResolvedLocalsInData(lView, tNode, localRefExtractor);
|
|
20916
21049
|
}
|
|
20917
21050
|
}
|
|
20918
|
-
/**
|
|
20919
|
-
* Sets a container up to receive views.
|
|
20920
|
-
*
|
|
20921
|
-
* \@codeGenApi
|
|
20922
|
-
* @param {?} index The index of the container in the data array
|
|
20923
|
-
*
|
|
20924
|
-
* @return {?}
|
|
20925
|
-
*/
|
|
20926
|
-
function ɵɵcontainerRefreshStart(index) {
|
|
20927
|
-
/** @type {?} */
|
|
20928
|
-
const lView = getLView();
|
|
20929
|
-
/** @type {?} */
|
|
20930
|
-
const tView = getTView();
|
|
20931
|
-
/** @type {?} */
|
|
20932
|
-
let previousOrParentTNode = (/** @type {?} */ (load(tView.data, index)));
|
|
20933
|
-
ngDevMode && assertNodeType(previousOrParentTNode, 0 /* Container */);
|
|
20934
|
-
setPreviousOrParentTNode(previousOrParentTNode, true);
|
|
20935
|
-
lView[index + HEADER_OFFSET][ACTIVE_INDEX] = 0;
|
|
20936
|
-
// We need to execute init hooks here so ngOnInit hooks are called in top level views
|
|
20937
|
-
// before they are called in embedded views (for backwards compatibility).
|
|
20938
|
-
if (!getCheckNoChangesMode()) {
|
|
20939
|
-
/** @type {?} */
|
|
20940
|
-
const hooksInitPhaseCompleted = (lView[FLAGS] & 3 /* InitPhaseStateMask */) === 3 /* InitPhaseCompleted */;
|
|
20941
|
-
if (hooksInitPhaseCompleted) {
|
|
20942
|
-
/** @type {?} */
|
|
20943
|
-
const preOrderCheckHooks = tView.preOrderCheckHooks;
|
|
20944
|
-
if (preOrderCheckHooks !== null) {
|
|
20945
|
-
executeCheckHooks(lView, preOrderCheckHooks, null);
|
|
20946
|
-
}
|
|
20947
|
-
}
|
|
20948
|
-
else {
|
|
20949
|
-
/** @type {?} */
|
|
20950
|
-
const preOrderHooks = tView.preOrderHooks;
|
|
20951
|
-
if (preOrderHooks !== null) {
|
|
20952
|
-
executeInitAndCheckHooks(lView, preOrderHooks, 0 /* OnInitHooksToBeRun */, null);
|
|
20953
|
-
}
|
|
20954
|
-
incrementInitPhaseFlags(lView, 0 /* OnInitHooksToBeRun */);
|
|
20955
|
-
}
|
|
20956
|
-
}
|
|
20957
|
-
}
|
|
20958
|
-
/**
|
|
20959
|
-
* Marks the end of the LContainer.
|
|
20960
|
-
*
|
|
20961
|
-
* Marking the end of LContainer is the time when to child views get inserted or removed.
|
|
20962
|
-
*
|
|
20963
|
-
* \@codeGenApi
|
|
20964
|
-
* @return {?}
|
|
20965
|
-
*/
|
|
20966
|
-
function ɵɵcontainerRefreshEnd() {
|
|
20967
|
-
/** @type {?} */
|
|
20968
|
-
let previousOrParentTNode = getPreviousOrParentTNode();
|
|
20969
|
-
if (getIsParent()) {
|
|
20970
|
-
setIsNotParent();
|
|
20971
|
-
}
|
|
20972
|
-
else {
|
|
20973
|
-
ngDevMode && assertNodeType(previousOrParentTNode, 2 /* View */);
|
|
20974
|
-
ngDevMode && assertHasParent(previousOrParentTNode);
|
|
20975
|
-
previousOrParentTNode = (/** @type {?} */ (previousOrParentTNode.parent));
|
|
20976
|
-
setPreviousOrParentTNode(previousOrParentTNode, false);
|
|
20977
|
-
}
|
|
20978
|
-
ngDevMode && assertNodeType(previousOrParentTNode, 0 /* Container */);
|
|
20979
|
-
/** @type {?} */
|
|
20980
|
-
const lContainer = getLView()[previousOrParentTNode.index];
|
|
20981
|
-
/** @type {?} */
|
|
20982
|
-
const nextIndex = getLContainerActiveIndex(lContainer);
|
|
20983
|
-
// remove extra views at the end of the container
|
|
20984
|
-
while (nextIndex < lContainer.length - CONTAINER_HEADER_OFFSET) {
|
|
20985
|
-
removeView(lContainer, nextIndex);
|
|
20986
|
-
}
|
|
20987
|
-
}
|
|
20988
|
-
/**
|
|
20989
|
-
* @param {?} tView
|
|
20990
|
-
* @param {?} lView
|
|
20991
|
-
* @param {?} nodeIndex
|
|
20992
|
-
* @param {?} tagName
|
|
20993
|
-
* @param {?} attrs
|
|
20994
|
-
* @return {?}
|
|
20995
|
-
*/
|
|
20996
|
-
function containerInternal(tView, lView, nodeIndex, tagName, attrs) {
|
|
20997
|
-
ngDevMode &&
|
|
20998
|
-
assertEqual(getBindingIndex(), tView.bindingStartIndex, 'container nodes should be created before any bindings');
|
|
20999
|
-
/** @type {?} */
|
|
21000
|
-
const adjustedIndex = nodeIndex + HEADER_OFFSET;
|
|
21001
|
-
ngDevMode && assertDataInRange(lView, nodeIndex + HEADER_OFFSET);
|
|
21002
|
-
ngDevMode && ngDevMode.rendererCreateComment++;
|
|
21003
|
-
/** @type {?} */
|
|
21004
|
-
const comment = lView[adjustedIndex] =
|
|
21005
|
-
lView[RENDERER].createComment(ngDevMode ? 'container' : '');
|
|
21006
|
-
/** @type {?} */
|
|
21007
|
-
const tNode = getOrCreateTNode(tView, lView[T_HOST], nodeIndex, 0 /* Container */, tagName, attrs);
|
|
21008
|
-
/** @type {?} */
|
|
21009
|
-
const lContainer = lView[adjustedIndex] = createLContainer(comment, lView, comment, tNode);
|
|
21010
|
-
appendChild(tView, lView, comment, tNode);
|
|
21011
|
-
attachPatchData(comment, lView);
|
|
21012
|
-
// Containers are added to the current view tree instead of their embedded views
|
|
21013
|
-
// because views can be removed and re-inserted.
|
|
21014
|
-
addToViewTree(lView, lContainer);
|
|
21015
|
-
ngDevMode && assertNodeType(getPreviousOrParentTNode(), 0 /* Container */);
|
|
21016
|
-
return tNode;
|
|
21017
|
-
}
|
|
21018
21051
|
|
|
21019
21052
|
/**
|
|
21020
21053
|
* @fileoverview added by tsickle
|
|
@@ -21490,141 +21523,6 @@ function ɵɵelementContainer(index, attrsIndex, localRefsIndex) {
|
|
|
21490
21523
|
ɵɵelementContainerEnd();
|
|
21491
21524
|
}
|
|
21492
21525
|
|
|
21493
|
-
/**
|
|
21494
|
-
* @fileoverview added by tsickle
|
|
21495
|
-
* Generated from: packages/core/src/render3/instructions/embedded_view.ts
|
|
21496
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
21497
|
-
*/
|
|
21498
|
-
/**
|
|
21499
|
-
* Marks the start of an embedded view.
|
|
21500
|
-
*
|
|
21501
|
-
* \@codeGenApi
|
|
21502
|
-
* @param {?} viewBlockId The ID of this view
|
|
21503
|
-
* @param {?} decls
|
|
21504
|
-
* @param {?} vars
|
|
21505
|
-
* @return {?} boolean Whether or not this view is in creation mode
|
|
21506
|
-
*
|
|
21507
|
-
*/
|
|
21508
|
-
function ɵɵembeddedViewStart(viewBlockId, decls, vars) {
|
|
21509
|
-
/** @type {?} */
|
|
21510
|
-
const lView = getLView();
|
|
21511
|
-
/** @type {?} */
|
|
21512
|
-
const previousOrParentTNode = getPreviousOrParentTNode();
|
|
21513
|
-
// The previous node can be a view node if we are processing an inline for loop
|
|
21514
|
-
/** @type {?} */
|
|
21515
|
-
const containerTNode = previousOrParentTNode.type === 2 /* View */ ?
|
|
21516
|
-
(/** @type {?} */ (previousOrParentTNode.parent)) :
|
|
21517
|
-
previousOrParentTNode;
|
|
21518
|
-
/** @type {?} */
|
|
21519
|
-
const lContainer = (/** @type {?} */ (lView[containerTNode.index]));
|
|
21520
|
-
ngDevMode && assertNodeType(containerTNode, 0 /* Container */);
|
|
21521
|
-
/** @type {?} */
|
|
21522
|
-
let viewToRender = scanForView(lContainer, getLContainerActiveIndex(lContainer), viewBlockId);
|
|
21523
|
-
if (viewToRender) {
|
|
21524
|
-
setIsParent();
|
|
21525
|
-
enterView(viewToRender, viewToRender[TVIEW].node);
|
|
21526
|
-
}
|
|
21527
|
-
else {
|
|
21528
|
-
// When we create a new LView, we always reset the state of the instructions.
|
|
21529
|
-
viewToRender = createLView(lView, getOrCreateEmbeddedTView(viewBlockId, decls, vars, (/** @type {?} */ (containerTNode))), null, 16 /* CheckAlways */, null, null);
|
|
21530
|
-
/** @type {?} */
|
|
21531
|
-
const tParentNode = getIsParent() ? previousOrParentTNode :
|
|
21532
|
-
previousOrParentTNode && previousOrParentTNode.parent;
|
|
21533
|
-
assignTViewNodeToLView(viewToRender[TVIEW], tParentNode, viewBlockId, viewToRender);
|
|
21534
|
-
enterView(viewToRender, viewToRender[TVIEW].node);
|
|
21535
|
-
}
|
|
21536
|
-
if (lContainer) {
|
|
21537
|
-
if (isCreationMode(viewToRender)) {
|
|
21538
|
-
// it is a new view, insert it into collection of views for a given container
|
|
21539
|
-
insertView(viewToRender[TVIEW], viewToRender, lContainer, getLContainerActiveIndex(lContainer));
|
|
21540
|
-
}
|
|
21541
|
-
lContainer[ACTIVE_INDEX] += 2 /* INCREMENT */;
|
|
21542
|
-
}
|
|
21543
|
-
return isCreationMode(viewToRender) ? 1 /* Create */ | 2 /* Update */ :
|
|
21544
|
-
2 /* Update */;
|
|
21545
|
-
}
|
|
21546
|
-
/**
|
|
21547
|
-
* Initialize the TView (e.g. static data) for the active embedded view.
|
|
21548
|
-
*
|
|
21549
|
-
* Each embedded view block must create or retrieve its own TView. Otherwise, the embedded view's
|
|
21550
|
-
* static data for a particular node would overwrite the static data for a node in the view above
|
|
21551
|
-
* it with the same index (since it's in the same template).
|
|
21552
|
-
*
|
|
21553
|
-
* @param {?} viewIndex The index of the TView in TNode.tViews
|
|
21554
|
-
* @param {?} decls The number of nodes, local refs, and pipes in this template
|
|
21555
|
-
* @param {?} vars The number of bindings and pure function bindings in this template
|
|
21556
|
-
* @param {?} parent
|
|
21557
|
-
* @return {?} TView
|
|
21558
|
-
*/
|
|
21559
|
-
function getOrCreateEmbeddedTView(viewIndex, decls, vars, parent) {
|
|
21560
|
-
/** @type {?} */
|
|
21561
|
-
const tView = getLView()[TVIEW];
|
|
21562
|
-
ngDevMode && assertNodeType(parent, 0 /* Container */);
|
|
21563
|
-
/** @type {?} */
|
|
21564
|
-
const containerTViews = (/** @type {?} */ (parent.tViews));
|
|
21565
|
-
ngDevMode && assertDefined(containerTViews, 'TView expected');
|
|
21566
|
-
ngDevMode && assertEqual(Array.isArray(containerTViews), true, 'TViews should be in an array');
|
|
21567
|
-
if (viewIndex >= containerTViews.length || containerTViews[viewIndex] == null) {
|
|
21568
|
-
containerTViews[viewIndex] = createTView(2 /* Embedded */, viewIndex, null, decls, vars, tView.directiveRegistry, tView.pipeRegistry, null, null, tView.consts);
|
|
21569
|
-
}
|
|
21570
|
-
return containerTViews[viewIndex];
|
|
21571
|
-
}
|
|
21572
|
-
/**
|
|
21573
|
-
* Looks for a view with a given view block id inside a provided LContainer.
|
|
21574
|
-
* Removes views that need to be deleted in the process.
|
|
21575
|
-
*
|
|
21576
|
-
* @param {?} lContainer to search for views
|
|
21577
|
-
* @param {?} startIdx starting index in the views array to search from
|
|
21578
|
-
* @param {?} viewBlockId exact view block id to look for
|
|
21579
|
-
* @return {?}
|
|
21580
|
-
*/
|
|
21581
|
-
function scanForView(lContainer, startIdx, viewBlockId) {
|
|
21582
|
-
for (let i = startIdx + CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
21583
|
-
/** @type {?} */
|
|
21584
|
-
const viewAtPositionId = lContainer[i][TVIEW].id;
|
|
21585
|
-
if (viewAtPositionId === viewBlockId) {
|
|
21586
|
-
return lContainer[i];
|
|
21587
|
-
}
|
|
21588
|
-
else if (viewAtPositionId < viewBlockId) {
|
|
21589
|
-
// found a view that should not be at this position - remove
|
|
21590
|
-
removeView(lContainer, i - CONTAINER_HEADER_OFFSET);
|
|
21591
|
-
}
|
|
21592
|
-
else {
|
|
21593
|
-
// found a view with id greater than the one we are searching for
|
|
21594
|
-
// which means that required view doesn't exist and can't be found at
|
|
21595
|
-
// later positions in the views array - stop the searchdef.cont here
|
|
21596
|
-
break;
|
|
21597
|
-
}
|
|
21598
|
-
}
|
|
21599
|
-
return null;
|
|
21600
|
-
}
|
|
21601
|
-
/**
|
|
21602
|
-
* Marks the end of an embedded view.
|
|
21603
|
-
*
|
|
21604
|
-
* \@codeGenApi
|
|
21605
|
-
* @return {?}
|
|
21606
|
-
*/
|
|
21607
|
-
function ɵɵembeddedViewEnd() {
|
|
21608
|
-
/** @type {?} */
|
|
21609
|
-
const lView = getLView();
|
|
21610
|
-
/** @type {?} */
|
|
21611
|
-
const tView = getTView();
|
|
21612
|
-
/** @type {?} */
|
|
21613
|
-
const viewHost = lView[T_HOST];
|
|
21614
|
-
/** @type {?} */
|
|
21615
|
-
const context = lView[CONTEXT];
|
|
21616
|
-
if (isCreationMode(lView)) {
|
|
21617
|
-
renderView(tView, lView, context); // creation mode pass
|
|
21618
|
-
}
|
|
21619
|
-
refreshView(tView, lView, tView.template, context); // update mode pass
|
|
21620
|
-
// update mode pass
|
|
21621
|
-
/** @type {?} */
|
|
21622
|
-
const lContainer = (/** @type {?} */ (lView[PARENT]));
|
|
21623
|
-
ngDevMode && assertLContainerOrUndefined(lContainer);
|
|
21624
|
-
leaveView();
|
|
21625
|
-
setPreviousOrParentTNode((/** @type {?} */ (viewHost)), false);
|
|
21626
|
-
}
|
|
21627
|
-
|
|
21628
21526
|
/**
|
|
21629
21527
|
* @fileoverview added by tsickle
|
|
21630
21528
|
* Generated from: packages/core/src/render3/instructions/get_current_view.ts
|
|
@@ -21699,7 +21597,7 @@ function ɵɵlistener(eventName, listenerFn, useCapture = false, eventTargetReso
|
|
|
21699
21597
|
return ɵɵlistener;
|
|
21700
21598
|
}
|
|
21701
21599
|
/**
|
|
21702
|
-
* Registers a synthetic host listener (e.g. `(\@foo.start)`) on a component.
|
|
21600
|
+
* Registers a synthetic host listener (e.g. `(\@foo.start)`) on a component or directive.
|
|
21703
21601
|
*
|
|
21704
21602
|
* This instruction is for compatibility purposes and is designed to ensure that a
|
|
21705
21603
|
* synthetic host listener (e.g. `\@HostListener('\@foo.start')`) properly gets rendered
|
|
@@ -21726,9 +21624,11 @@ function ɵɵcomponentHostSyntheticListener(eventName, listenerFn, useCapture =
|
|
|
21726
21624
|
/** @type {?} */
|
|
21727
21625
|
const lView = getLView();
|
|
21728
21626
|
/** @type {?} */
|
|
21729
|
-
const renderer = loadComponentRenderer(tNode, lView);
|
|
21730
|
-
/** @type {?} */
|
|
21731
21627
|
const tView = getTView();
|
|
21628
|
+
/** @type {?} */
|
|
21629
|
+
const currentDef = getCurrentDirectiveDef(tView.data);
|
|
21630
|
+
/** @type {?} */
|
|
21631
|
+
const renderer = loadComponentRenderer(currentDef, tNode, lView);
|
|
21732
21632
|
listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn, useCapture, eventTargetResolver);
|
|
21733
21633
|
return ɵɵcomponentHostSyntheticListener;
|
|
21734
21634
|
}
|
|
@@ -23718,7 +23618,7 @@ function stylingFirstUpdatePass(tView, tStylingKey, bindingIndex, isClassBased)
|
|
|
23718
23618
|
*/
|
|
23719
23619
|
function wrapInStaticStylingKey(tData, tNode, stylingKey, isClassBased) {
|
|
23720
23620
|
/** @type {?} */
|
|
23721
|
-
const hostDirectiveDef =
|
|
23621
|
+
const hostDirectiveDef = getCurrentDirectiveDef(tData);
|
|
23722
23622
|
/** @type {?} */
|
|
23723
23623
|
let residual = isClassBased ? tNode.residualClasses : tNode.residualStyles;
|
|
23724
23624
|
if (hostDirectiveDef === null) {
|
|
@@ -23967,18 +23867,6 @@ function collectStylingFromTAttrs(stylingKey, attrs, isClassBased) {
|
|
|
23967
23867
|
}
|
|
23968
23868
|
return stylingKey === undefined ? null : stylingKey;
|
|
23969
23869
|
}
|
|
23970
|
-
/**
|
|
23971
|
-
* Retrieve the current `DirectiveDef` which is active when `hostBindings` style instruction is
|
|
23972
|
-
* being executed (or `null` if we are in `template`.)
|
|
23973
|
-
*
|
|
23974
|
-
* @param {?} tData Current `TData` where the `DirectiveDef` will be looked up at.
|
|
23975
|
-
* @return {?}
|
|
23976
|
-
*/
|
|
23977
|
-
function getHostDirectiveDef(tData) {
|
|
23978
|
-
/** @type {?} */
|
|
23979
|
-
const currentDirectiveIndex = getCurrentDirectiveIndex();
|
|
23980
|
-
return currentDirectiveIndex === -1 ? null : (/** @type {?} */ (tData[currentDirectiveIndex]));
|
|
23981
|
-
}
|
|
23982
23870
|
/**
|
|
23983
23871
|
* Convert user input to `KeyValueArray`.
|
|
23984
23872
|
*
|
|
@@ -25798,7 +25686,7 @@ function ɵɵhostProperty(propName, value, sanitizer) {
|
|
|
25798
25686
|
return ɵɵhostProperty;
|
|
25799
25687
|
}
|
|
25800
25688
|
/**
|
|
25801
|
-
* Updates a synthetic host binding (e.g. `[\@foo]`) on a component.
|
|
25689
|
+
* Updates a synthetic host binding (e.g. `[\@foo]`) on a component or directive.
|
|
25802
25690
|
*
|
|
25803
25691
|
* This instruction is for compatibility purposes and is designed to ensure that a
|
|
25804
25692
|
* synthetic host binding (e.g. `\@HostBinding('\@foo')`) properly gets rendered in
|
|
@@ -25830,7 +25718,9 @@ function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
|
|
|
25830
25718
|
/** @type {?} */
|
|
25831
25719
|
const tNode = getSelectedTNode();
|
|
25832
25720
|
/** @type {?} */
|
|
25833
|
-
const
|
|
25721
|
+
const currentDef = getCurrentDirectiveDef(tView.data);
|
|
25722
|
+
/** @type {?} */
|
|
25723
|
+
const renderer = loadComponentRenderer(currentDef, tNode, lView);
|
|
25834
25724
|
elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
|
|
25835
25725
|
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
|
|
25836
25726
|
}
|
|
@@ -28288,7 +28178,7 @@ if (false) {
|
|
|
28288
28178
|
* \@publicApi
|
|
28289
28179
|
* @type {?}
|
|
28290
28180
|
*/
|
|
28291
|
-
const VERSION = new Version('9.1.
|
|
28181
|
+
const VERSION = new Version('9.1.7');
|
|
28292
28182
|
|
|
28293
28183
|
/**
|
|
28294
28184
|
* @fileoverview added by tsickle
|
|
@@ -34195,18 +34085,20 @@ class ComponentFactory$1 extends ComponentFactory {
|
|
|
34195
34085
|
}
|
|
34196
34086
|
}
|
|
34197
34087
|
}
|
|
34198
|
-
tElementNode = (/** @type {?} */ (getTNode(
|
|
34199
|
-
if (projectableNodes) {
|
|
34200
|
-
|
|
34201
|
-
|
|
34202
|
-
|
|
34203
|
-
|
|
34204
|
-
|
|
34205
|
-
|
|
34206
|
-
|
|
34207
|
-
|
|
34208
|
-
|
|
34209
|
-
|
|
34088
|
+
tElementNode = (/** @type {?} */ (getTNode(rootTView, 0)));
|
|
34089
|
+
if (projectableNodes !== undefined) {
|
|
34090
|
+
/** @type {?} */
|
|
34091
|
+
const projection = tElementNode.projection = [];
|
|
34092
|
+
for (let i = 0; i < this.ngContentSelectors.length; i++) {
|
|
34093
|
+
/** @type {?} */
|
|
34094
|
+
const nodesforSlot = projectableNodes[i];
|
|
34095
|
+
// Projectable nodes can be passed as array of arrays or an array of iterables (ngUpgrade
|
|
34096
|
+
// case). Here we do normalize passed data structure to be an array of arrays to avoid
|
|
34097
|
+
// complex checks down the line.
|
|
34098
|
+
// We also normalize the length of the passed in projectable nodes (to match the number of
|
|
34099
|
+
// <ng-container> slots defined by a component).
|
|
34100
|
+
projection.push(nodesforSlot != null ? Array.from(nodesforSlot) : null);
|
|
34101
|
+
}
|
|
34210
34102
|
}
|
|
34211
34103
|
// TODO: should LifecycleHooksFeature and other host features be generated by the compiler and
|
|
34212
34104
|
// executed here?
|
|
@@ -34607,6 +34499,8 @@ function normalizeLocale(locale) {
|
|
|
34607
34499
|
* Generated from: packages/core/src/i18n/localization.ts
|
|
34608
34500
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
34609
34501
|
*/
|
|
34502
|
+
/** @type {?} */
|
|
34503
|
+
const pluralMapping = ['zero', 'one', 'two', 'few', 'many'];
|
|
34610
34504
|
/**
|
|
34611
34505
|
* Returns the plural case based on the locale
|
|
34612
34506
|
* @param {?} value
|
|
@@ -34615,21 +34509,10 @@ function normalizeLocale(locale) {
|
|
|
34615
34509
|
*/
|
|
34616
34510
|
function getPluralCase(value, locale) {
|
|
34617
34511
|
/** @type {?} */
|
|
34618
|
-
const plural = getLocalePluralCase(locale)(value);
|
|
34619
|
-
|
|
34620
|
-
|
|
34621
|
-
|
|
34622
|
-
case 1:
|
|
34623
|
-
return 'one';
|
|
34624
|
-
case 2:
|
|
34625
|
-
return 'two';
|
|
34626
|
-
case 3:
|
|
34627
|
-
return 'few';
|
|
34628
|
-
case 4:
|
|
34629
|
-
return 'many';
|
|
34630
|
-
default:
|
|
34631
|
-
return 'other';
|
|
34632
|
-
}
|
|
34512
|
+
const plural = getLocalePluralCase(locale)(parseInt(value, 10));
|
|
34513
|
+
/** @type {?} */
|
|
34514
|
+
const result = pluralMapping[plural];
|
|
34515
|
+
return (result !== undefined) ? result : 'other';
|
|
34633
34516
|
}
|
|
34634
34517
|
/**
|
|
34635
34518
|
* The locale id that the application is using by default (for translations and ICU expressions).
|
|
@@ -39029,10 +38912,7 @@ const ɵ0$d = /**
|
|
|
39029
38912
|
'ɵɵProvidersFeature': ɵɵProvidersFeature,
|
|
39030
38913
|
'ɵɵCopyDefinitionFeature': ɵɵCopyDefinitionFeature,
|
|
39031
38914
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
39032
|
-
'ɵɵcontainer': ɵɵcontainer,
|
|
39033
38915
|
'ɵɵnextContext': ɵɵnextContext,
|
|
39034
|
-
'ɵɵcontainerRefreshStart': ɵɵcontainerRefreshStart,
|
|
39035
|
-
'ɵɵcontainerRefreshEnd': ɵɵcontainerRefreshEnd,
|
|
39036
38916
|
'ɵɵnamespaceHTML': ɵɵnamespaceHTML,
|
|
39037
38917
|
'ɵɵnamespaceMathML': ɵɵnamespaceMathML,
|
|
39038
38918
|
'ɵɵnamespaceSVG': ɵɵnamespaceSVG,
|
|
@@ -39132,8 +39012,6 @@ const ɵ0$d = /**
|
|
|
39132
39012
|
'ɵɵtextInterpolate7': ɵɵtextInterpolate7,
|
|
39133
39013
|
'ɵɵtextInterpolate8': ɵɵtextInterpolate8,
|
|
39134
39014
|
'ɵɵtextInterpolateV': ɵɵtextInterpolateV,
|
|
39135
|
-
'ɵɵembeddedViewStart': ɵɵembeddedViewStart,
|
|
39136
|
-
'ɵɵembeddedViewEnd': ɵɵembeddedViewEnd,
|
|
39137
39015
|
'ɵɵi18n': ɵɵi18n,
|
|
39138
39016
|
'ɵɵi18nAttributes': ɵɵi18nAttributes,
|
|
39139
39017
|
'ɵɵi18nExp': ɵɵi18nExp,
|
|
@@ -48502,5 +48380,5 @@ if (ngDevMode) {
|
|
|
48502
48380
|
* Generated bundle index. Do not edit.
|
|
48503
48381
|
*/
|
|
48504
48382
|
|
|
48505
|
-
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$1 as 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, 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, resetJitOptions as ɵresetJitOptions, 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 };
|
|
48383
|
+
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$1 as 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, 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, resetJitOptions as ɵresetJitOptions, 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, ɵɵcontentQuery, ɵɵdefaultStyleSanitizer, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵ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 };
|
|
48506
48384
|
//# sourceMappingURL=core.js.map
|