@angular/core 14.0.0-next.1 → 14.0.0-next.4
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/core.d.ts +93 -90
- package/esm2020/src/application_init.mjs +4 -3
- package/esm2020/src/application_module.mjs +5 -104
- package/esm2020/src/application_ref.mjs +6 -24
- package/esm2020/src/application_tokens.mjs +14 -2
- package/esm2020/src/change_detection/change_detection.mjs +2 -3
- package/esm2020/src/compiler/compiler_facade_interface.mjs +1 -1
- package/esm2020/src/core.mjs +2 -2
- package/esm2020/src/core_private_export.mjs +2 -1
- package/esm2020/src/core_render3_private_export.mjs +2 -1
- package/esm2020/src/debug/debug_node.mjs +137 -53
- package/esm2020/src/i18n/tokens.mjs +39 -3
- package/esm2020/src/linker/compiler.mjs +4 -3
- package/esm2020/src/linker/view_container_ref.mjs +24 -6
- package/esm2020/src/reflection/reflector.mjs +1 -1
- package/esm2020/src/render3/component_ref.mjs +1 -11
- package/esm2020/src/render3/context_discovery.mjs +28 -30
- package/esm2020/src/render3/instructions/element.mjs +7 -1
- package/esm2020/src/render3/instructions/element_container.mjs +7 -1
- package/esm2020/src/render3/instructions/lview_debug.mjs +5 -2
- package/esm2020/src/render3/instructions/shared.mjs +9 -4
- package/esm2020/src/render3/interfaces/context.mjs +35 -2
- package/esm2020/src/render3/interfaces/lview_tracking.mjs +30 -0
- package/esm2020/src/render3/interfaces/view.mjs +3 -2
- package/esm2020/src/render3/jit/directive.mjs +5 -2
- package/esm2020/src/render3/jit/pipe.mjs +5 -2
- package/esm2020/src/render3/node_manipulation.mjs +4 -1
- package/esm2020/src/render3/util/discovery_utils.mjs +33 -22
- package/esm2020/src/util/coercion.mjs +12 -0
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/logger.mjs +3 -3
- package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
- package/fesm2015/core.mjs +392 -249
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/testing.mjs +1 -1
- package/fesm2020/core.mjs +392 -242
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/testing.mjs +1 -1
- package/package.json +1 -1
- package/schematics/migrations/entry-components/util.js +2 -2
- package/schematics/utils/import_manager.js +13 -12
- package/schematics/utils/typescript/imports.js +6 -5
- package/testing/testing.d.ts +1 -1
package/fesm2015/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.0.0-next.
|
|
2
|
+
* @license Angular v14.0.0-next.4
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -1210,6 +1210,7 @@ const DECLARATION_COMPONENT_VIEW = 16;
|
|
|
1210
1210
|
const DECLARATION_LCONTAINER = 17;
|
|
1211
1211
|
const PREORDER_HOOK_FLAGS = 18;
|
|
1212
1212
|
const QUERIES = 19;
|
|
1213
|
+
const ID = 20;
|
|
1213
1214
|
/**
|
|
1214
1215
|
* Size of LView's header. Necessary to adjust for it when setting slots.
|
|
1215
1216
|
*
|
|
@@ -1217,7 +1218,7 @@ const QUERIES = 19;
|
|
|
1217
1218
|
* instruction index into `LView` index. All other indexes should be in the `LView` index space and
|
|
1218
1219
|
* there should be no need to refer to `HEADER_OFFSET` anywhere else.
|
|
1219
1220
|
*/
|
|
1220
|
-
const HEADER_OFFSET =
|
|
1221
|
+
const HEADER_OFFSET = 21;
|
|
1221
1222
|
/**
|
|
1222
1223
|
* Converts `TViewType` into human readable text.
|
|
1223
1224
|
* Make sure this matches with `TViewType`
|
|
@@ -6155,6 +6156,75 @@ function getSanitizer() {
|
|
|
6155
6156
|
return lView && lView[SANITIZER];
|
|
6156
6157
|
}
|
|
6157
6158
|
|
|
6159
|
+
/**
|
|
6160
|
+
* @license
|
|
6161
|
+
* Copyright Google LLC All Rights Reserved.
|
|
6162
|
+
*
|
|
6163
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6164
|
+
* found in the LICENSE file at https://angular.io/license
|
|
6165
|
+
*/
|
|
6166
|
+
// Keeps track of the currently-active LViews.
|
|
6167
|
+
const TRACKED_LVIEWS = new Map();
|
|
6168
|
+
// Used for generating unique IDs for LViews.
|
|
6169
|
+
let uniqueIdCounter = 0;
|
|
6170
|
+
/** Starts tracking an LView and returns a unique ID that can be used for future lookups. */
|
|
6171
|
+
function registerLView(lView) {
|
|
6172
|
+
const id = uniqueIdCounter++;
|
|
6173
|
+
TRACKED_LVIEWS.set(id, lView);
|
|
6174
|
+
return id;
|
|
6175
|
+
}
|
|
6176
|
+
/** Gets an LView by its unique ID. */
|
|
6177
|
+
function getLViewById(id) {
|
|
6178
|
+
ngDevMode && assertNumber(id, 'ID used for LView lookup must be a number');
|
|
6179
|
+
return TRACKED_LVIEWS.get(id) || null;
|
|
6180
|
+
}
|
|
6181
|
+
/** Stops tracking an LView. */
|
|
6182
|
+
function unregisterLView(lView) {
|
|
6183
|
+
ngDevMode && assertNumber(lView[ID], 'Cannot stop tracking an LView that does not have an ID');
|
|
6184
|
+
TRACKED_LVIEWS.delete(lView[ID]);
|
|
6185
|
+
}
|
|
6186
|
+
|
|
6187
|
+
/**
|
|
6188
|
+
* @license
|
|
6189
|
+
* Copyright Google LLC All Rights Reserved.
|
|
6190
|
+
*
|
|
6191
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6192
|
+
* found in the LICENSE file at https://angular.io/license
|
|
6193
|
+
*/
|
|
6194
|
+
/**
|
|
6195
|
+
* The internal view context which is specific to a given DOM element, directive or
|
|
6196
|
+
* component instance. Each value in here (besides the LView and element node details)
|
|
6197
|
+
* can be present, null or undefined. If undefined then it implies the value has not been
|
|
6198
|
+
* looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
|
|
6199
|
+
*
|
|
6200
|
+
* Each value will get filled when the respective value is examined within the getContext
|
|
6201
|
+
* function. The component, element and each directive instance will share the same instance
|
|
6202
|
+
* of the context.
|
|
6203
|
+
*/
|
|
6204
|
+
class LContext {
|
|
6205
|
+
constructor(
|
|
6206
|
+
/**
|
|
6207
|
+
* ID of the component's parent view data.
|
|
6208
|
+
*/
|
|
6209
|
+
lViewId,
|
|
6210
|
+
/**
|
|
6211
|
+
* The index instance of the node.
|
|
6212
|
+
*/
|
|
6213
|
+
nodeIndex,
|
|
6214
|
+
/**
|
|
6215
|
+
* The instance of the DOM node that is attached to the lNode.
|
|
6216
|
+
*/
|
|
6217
|
+
native) {
|
|
6218
|
+
this.lViewId = lViewId;
|
|
6219
|
+
this.nodeIndex = nodeIndex;
|
|
6220
|
+
this.native = native;
|
|
6221
|
+
}
|
|
6222
|
+
/** Component's parent view data. */
|
|
6223
|
+
get lView() {
|
|
6224
|
+
return getLViewById(this.lViewId);
|
|
6225
|
+
}
|
|
6226
|
+
}
|
|
6227
|
+
|
|
6158
6228
|
/**
|
|
6159
6229
|
* @license
|
|
6160
6230
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6187,7 +6257,7 @@ function getLContext(target) {
|
|
|
6187
6257
|
if (mpValue) {
|
|
6188
6258
|
// only when it's an array is it considered an LView instance
|
|
6189
6259
|
// ... otherwise it's an already constructed LContext instance
|
|
6190
|
-
if (
|
|
6260
|
+
if (isLView(mpValue)) {
|
|
6191
6261
|
const lView = mpValue;
|
|
6192
6262
|
let nodeIndex;
|
|
6193
6263
|
let component = undefined;
|
|
@@ -6246,13 +6316,7 @@ function getLContext(target) {
|
|
|
6246
6316
|
while (parent = parent.parentNode) {
|
|
6247
6317
|
const parentContext = readPatchedData(parent);
|
|
6248
6318
|
if (parentContext) {
|
|
6249
|
-
|
|
6250
|
-
if (Array.isArray(parentContext)) {
|
|
6251
|
-
lView = parentContext;
|
|
6252
|
-
}
|
|
6253
|
-
else {
|
|
6254
|
-
lView = parentContext.lView;
|
|
6255
|
-
}
|
|
6319
|
+
const lView = Array.isArray(parentContext) ? parentContext : parentContext.lView;
|
|
6256
6320
|
// the edge of the app was also reached here through another means
|
|
6257
6321
|
// (maybe because the DOM was changed manually).
|
|
6258
6322
|
if (!lView) {
|
|
@@ -6275,14 +6339,7 @@ function getLContext(target) {
|
|
|
6275
6339
|
* Creates an empty instance of a `LContext` context
|
|
6276
6340
|
*/
|
|
6277
6341
|
function createLContext(lView, nodeIndex, native) {
|
|
6278
|
-
return
|
|
6279
|
-
lView,
|
|
6280
|
-
nodeIndex,
|
|
6281
|
-
native,
|
|
6282
|
-
component: undefined,
|
|
6283
|
-
directives: undefined,
|
|
6284
|
-
localRefs: undefined,
|
|
6285
|
-
};
|
|
6342
|
+
return new LContext(lView[ID], nodeIndex, native);
|
|
6286
6343
|
}
|
|
6287
6344
|
/**
|
|
6288
6345
|
* Takes a component instance and returns the view for that component.
|
|
@@ -6291,21 +6348,24 @@ function createLContext(lView, nodeIndex, native) {
|
|
|
6291
6348
|
* @returns The component's view
|
|
6292
6349
|
*/
|
|
6293
6350
|
function getComponentViewByInstance(componentInstance) {
|
|
6294
|
-
let
|
|
6295
|
-
let
|
|
6296
|
-
if (
|
|
6297
|
-
const
|
|
6298
|
-
|
|
6299
|
-
|
|
6351
|
+
let patchedData = readPatchedData(componentInstance);
|
|
6352
|
+
let lView;
|
|
6353
|
+
if (isLView(patchedData)) {
|
|
6354
|
+
const contextLView = patchedData;
|
|
6355
|
+
const nodeIndex = findViaComponent(contextLView, componentInstance);
|
|
6356
|
+
lView = getComponentLViewByIndex(nodeIndex, contextLView);
|
|
6357
|
+
const context = createLContext(contextLView, nodeIndex, lView[HOST]);
|
|
6300
6358
|
context.component = componentInstance;
|
|
6301
6359
|
attachPatchData(componentInstance, context);
|
|
6302
6360
|
attachPatchData(context.native, context);
|
|
6303
6361
|
}
|
|
6304
6362
|
else {
|
|
6305
|
-
const context =
|
|
6306
|
-
|
|
6363
|
+
const context = patchedData;
|
|
6364
|
+
const contextLView = context.lView;
|
|
6365
|
+
ngDevMode && assertLView(contextLView);
|
|
6366
|
+
lView = getComponentLViewByIndex(context.nodeIndex, contextLView);
|
|
6307
6367
|
}
|
|
6308
|
-
return
|
|
6368
|
+
return lView;
|
|
6309
6369
|
}
|
|
6310
6370
|
/**
|
|
6311
6371
|
* This property will be monkey-patched on elements, components and directives.
|
|
@@ -6317,7 +6377,10 @@ const MONKEY_PATCH_KEY_NAME = '__ngContext__';
|
|
|
6317
6377
|
*/
|
|
6318
6378
|
function attachPatchData(target, data) {
|
|
6319
6379
|
ngDevMode && assertDefined(target, 'Target expected');
|
|
6320
|
-
|
|
6380
|
+
// Only attach the ID of the view in order to avoid memory leaks (see #41047). We only do this
|
|
6381
|
+
// for `LView`, because we have control over when an `LView` is created and destroyed, whereas
|
|
6382
|
+
// we can't know when to remove an `LContext`.
|
|
6383
|
+
target[MONKEY_PATCH_KEY_NAME] = isLView(data) ? data[ID] : data;
|
|
6321
6384
|
}
|
|
6322
6385
|
/**
|
|
6323
6386
|
* Returns the monkey-patch value data present on the target (which could be
|
|
@@ -6325,12 +6388,13 @@ function attachPatchData(target, data) {
|
|
|
6325
6388
|
*/
|
|
6326
6389
|
function readPatchedData(target) {
|
|
6327
6390
|
ngDevMode && assertDefined(target, 'Target expected');
|
|
6328
|
-
|
|
6391
|
+
const data = target[MONKEY_PATCH_KEY_NAME];
|
|
6392
|
+
return (typeof data === 'number') ? getLViewById(data) : data || null;
|
|
6329
6393
|
}
|
|
6330
6394
|
function readPatchedLView(target) {
|
|
6331
6395
|
const value = readPatchedData(target);
|
|
6332
6396
|
if (value) {
|
|
6333
|
-
return
|
|
6397
|
+
return isLView(value) ? value : value.lView;
|
|
6334
6398
|
}
|
|
6335
6399
|
return null;
|
|
6336
6400
|
}
|
|
@@ -7277,6 +7341,8 @@ function cleanUpView(tView, lView) {
|
|
|
7277
7341
|
lQueries.detachView(tView);
|
|
7278
7342
|
}
|
|
7279
7343
|
}
|
|
7344
|
+
// Unregister the view once everything else has been cleaned up.
|
|
7345
|
+
unregisterLView(lView);
|
|
7280
7346
|
}
|
|
7281
7347
|
}
|
|
7282
7348
|
/** Removes listeners and unsubscribes from output subscriptions */
|
|
@@ -9057,6 +9123,9 @@ class LViewDebug {
|
|
|
9057
9123
|
get tHost() {
|
|
9058
9124
|
return this._raw_lView[T_HOST];
|
|
9059
9125
|
}
|
|
9126
|
+
get id() {
|
|
9127
|
+
return this._raw_lView[ID];
|
|
9128
|
+
}
|
|
9060
9129
|
get decls() {
|
|
9061
9130
|
return toLViewRange(this.tView, this._raw_lView, HEADER_OFFSET, this.tView.bindingStartIndex);
|
|
9062
9131
|
}
|
|
@@ -9301,6 +9370,7 @@ function createLView(parentLView, tView, context, flags, host, tHostNode, render
|
|
|
9301
9370
|
lView[SANITIZER] = sanitizer || parentLView && parentLView[SANITIZER] || null;
|
|
9302
9371
|
lView[INJECTOR$1] = injector || parentLView && parentLView[INJECTOR$1] || null;
|
|
9303
9372
|
lView[T_HOST] = tHostNode;
|
|
9373
|
+
lView[ID] = registerLView(lView);
|
|
9304
9374
|
ngDevMode &&
|
|
9305
9375
|
assertEqual(tView.type == 2 /* Embedded */ ? parentLView !== null : true, true, 'Embedded views must have parentLView');
|
|
9306
9376
|
lView[DECLARATION_COMPONENT_VIEW] =
|
|
@@ -10825,8 +10895,11 @@ function tickRootContext(rootContext) {
|
|
|
10825
10895
|
for (let i = 0; i < rootContext.components.length; i++) {
|
|
10826
10896
|
const rootComponent = rootContext.components[i];
|
|
10827
10897
|
const lView = readPatchedLView(rootComponent);
|
|
10828
|
-
|
|
10829
|
-
|
|
10898
|
+
// We might not have an `LView` if the component was destroyed.
|
|
10899
|
+
if (lView !== null) {
|
|
10900
|
+
const tView = lView[TVIEW];
|
|
10901
|
+
renderComponentOrTemplate(tView, lView, tView.template, rootComponent);
|
|
10902
|
+
}
|
|
10830
10903
|
}
|
|
10831
10904
|
}
|
|
10832
10905
|
function detectChangesInternal(tView, lView, context) {
|
|
@@ -11685,12 +11758,16 @@ Injector.__NG_ELEMENT_ID__ = -1 /* Injector */;
|
|
|
11685
11758
|
* @globalApi ng
|
|
11686
11759
|
*/
|
|
11687
11760
|
function getComponent$1(element) {
|
|
11688
|
-
assertDomElement(element);
|
|
11761
|
+
ngDevMode && assertDomElement(element);
|
|
11689
11762
|
const context = getLContext(element);
|
|
11690
11763
|
if (context === null)
|
|
11691
11764
|
return null;
|
|
11692
11765
|
if (context.component === undefined) {
|
|
11693
|
-
|
|
11766
|
+
const lView = context.lView;
|
|
11767
|
+
if (lView === null) {
|
|
11768
|
+
return null;
|
|
11769
|
+
}
|
|
11770
|
+
context.component = getComponentAtNodeIndex(context.nodeIndex, lView);
|
|
11694
11771
|
}
|
|
11695
11772
|
return context.component;
|
|
11696
11773
|
}
|
|
@@ -11709,7 +11786,8 @@ function getComponent$1(element) {
|
|
|
11709
11786
|
function getContext(element) {
|
|
11710
11787
|
assertDomElement(element);
|
|
11711
11788
|
const context = getLContext(element);
|
|
11712
|
-
|
|
11789
|
+
const lView = context ? context.lView : null;
|
|
11790
|
+
return lView === null ? null : lView[CONTEXT];
|
|
11713
11791
|
}
|
|
11714
11792
|
/**
|
|
11715
11793
|
* Retrieves the component instance whose view contains the DOM element.
|
|
@@ -11728,11 +11806,10 @@ function getContext(element) {
|
|
|
11728
11806
|
*/
|
|
11729
11807
|
function getOwningComponent(elementOrDir) {
|
|
11730
11808
|
const context = getLContext(elementOrDir);
|
|
11731
|
-
|
|
11809
|
+
let lView = context ? context.lView : null;
|
|
11810
|
+
if (lView === null)
|
|
11732
11811
|
return null;
|
|
11733
|
-
let lView = context.lView;
|
|
11734
11812
|
let parent;
|
|
11735
|
-
ngDevMode && assertLView(lView);
|
|
11736
11813
|
while (lView[TVIEW].type === 2 /* Embedded */ && (parent = getLViewParent(lView))) {
|
|
11737
11814
|
lView = parent;
|
|
11738
11815
|
}
|
|
@@ -11750,7 +11827,8 @@ function getOwningComponent(elementOrDir) {
|
|
|
11750
11827
|
* @globalApi ng
|
|
11751
11828
|
*/
|
|
11752
11829
|
function getRootComponents(elementOrDir) {
|
|
11753
|
-
|
|
11830
|
+
const lView = readPatchedLView(elementOrDir);
|
|
11831
|
+
return lView !== null ? [...getRootContext(lView).components] : [];
|
|
11754
11832
|
}
|
|
11755
11833
|
/**
|
|
11756
11834
|
* Retrieves an `Injector` associated with an element, component or directive instance.
|
|
@@ -11764,10 +11842,11 @@ function getRootComponents(elementOrDir) {
|
|
|
11764
11842
|
*/
|
|
11765
11843
|
function getInjector(elementOrDir) {
|
|
11766
11844
|
const context = getLContext(elementOrDir);
|
|
11767
|
-
|
|
11845
|
+
const lView = context ? context.lView : null;
|
|
11846
|
+
if (lView === null)
|
|
11768
11847
|
return Injector.NULL;
|
|
11769
|
-
const tNode =
|
|
11770
|
-
return new NodeInjector(tNode,
|
|
11848
|
+
const tNode = lView[TVIEW].data[context.nodeIndex];
|
|
11849
|
+
return new NodeInjector(tNode, lView);
|
|
11771
11850
|
}
|
|
11772
11851
|
/**
|
|
11773
11852
|
* Retrieve a set of injection tokens at a given DOM node.
|
|
@@ -11776,9 +11855,9 @@ function getInjector(elementOrDir) {
|
|
|
11776
11855
|
*/
|
|
11777
11856
|
function getInjectionTokens(element) {
|
|
11778
11857
|
const context = getLContext(element);
|
|
11779
|
-
|
|
11858
|
+
const lView = context ? context.lView : null;
|
|
11859
|
+
if (lView === null)
|
|
11780
11860
|
return [];
|
|
11781
|
-
const lView = context.lView;
|
|
11782
11861
|
const tView = lView[TVIEW];
|
|
11783
11862
|
const tNode = tView.data[context.nodeIndex];
|
|
11784
11863
|
const providerTokens = [];
|
|
@@ -11828,10 +11907,10 @@ function getDirectives(node) {
|
|
|
11828
11907
|
return [];
|
|
11829
11908
|
}
|
|
11830
11909
|
const context = getLContext(node);
|
|
11831
|
-
|
|
11910
|
+
const lView = context ? context.lView : null;
|
|
11911
|
+
if (lView === null) {
|
|
11832
11912
|
return [];
|
|
11833
11913
|
}
|
|
11834
|
-
const lView = context.lView;
|
|
11835
11914
|
const tView = lView[TVIEW];
|
|
11836
11915
|
const nodeIndex = context.nodeIndex;
|
|
11837
11916
|
if (!(tView === null || tView === void 0 ? void 0 : tView.data[nodeIndex])) {
|
|
@@ -11891,7 +11970,11 @@ function getLocalRefs(target) {
|
|
|
11891
11970
|
if (context === null)
|
|
11892
11971
|
return {};
|
|
11893
11972
|
if (context.localRefs === undefined) {
|
|
11894
|
-
|
|
11973
|
+
const lView = context.lView;
|
|
11974
|
+
if (lView === null) {
|
|
11975
|
+
return {};
|
|
11976
|
+
}
|
|
11977
|
+
context.localRefs = discoverLocalRefs(lView, context.nodeIndex);
|
|
11895
11978
|
}
|
|
11896
11979
|
return context.localRefs || {};
|
|
11897
11980
|
}
|
|
@@ -11955,11 +12038,11 @@ function getRenderedText(component) {
|
|
|
11955
12038
|
* @globalApi ng
|
|
11956
12039
|
*/
|
|
11957
12040
|
function getListeners(element) {
|
|
11958
|
-
assertDomElement(element);
|
|
12041
|
+
ngDevMode && assertDomElement(element);
|
|
11959
12042
|
const lContext = getLContext(element);
|
|
11960
|
-
|
|
12043
|
+
const lView = lContext === null ? null : lContext.lView;
|
|
12044
|
+
if (lView === null)
|
|
11961
12045
|
return [];
|
|
11962
|
-
const lView = lContext.lView;
|
|
11963
12046
|
const tView = lView[TVIEW];
|
|
11964
12047
|
const lCleanup = lView[CLEANUP];
|
|
11965
12048
|
const tCleanup = tView.cleanup;
|
|
@@ -12010,10 +12093,10 @@ function getDebugNode$1(element) {
|
|
|
12010
12093
|
throw new Error('Expecting instance of DOM Element');
|
|
12011
12094
|
}
|
|
12012
12095
|
const lContext = getLContext(element);
|
|
12013
|
-
|
|
12096
|
+
const lView = lContext ? lContext.lView : null;
|
|
12097
|
+
if (lView === null) {
|
|
12014
12098
|
return null;
|
|
12015
12099
|
}
|
|
12016
|
-
const lView = lContext.lView;
|
|
12017
12100
|
const nodeIndex = lContext.nodeIndex;
|
|
12018
12101
|
if (nodeIndex !== -1) {
|
|
12019
12102
|
const valueInLView = lView[nodeIndex];
|
|
@@ -12038,6 +12121,7 @@ function getComponentLView(target) {
|
|
|
12038
12121
|
const lContext = getLContext(target);
|
|
12039
12122
|
const nodeIndx = lContext.nodeIndex;
|
|
12040
12123
|
const lView = lContext.lView;
|
|
12124
|
+
ngDevMode && assertLView(lView);
|
|
12041
12125
|
const componentLView = lView[nodeIndx];
|
|
12042
12126
|
ngDevMode && assertLView(componentLView);
|
|
12043
12127
|
return componentLView;
|
|
@@ -14492,6 +14576,7 @@ function elementStartFirstCreatePass(index, tView, lView, native, name, attrsInd
|
|
|
14492
14576
|
* @param name Name of the DOM Node
|
|
14493
14577
|
* @param attrsIndex Index of the element's attributes in the `consts` array.
|
|
14494
14578
|
* @param localRefsIndex Index of the element's local references in the `consts` array.
|
|
14579
|
+
* @returns This function returns itself so that it may be chained.
|
|
14495
14580
|
*
|
|
14496
14581
|
* Attributes and localRefs are passed as an array of strings where elements with an even index
|
|
14497
14582
|
* hold an attribute name and elements with an odd index hold an attribute value, ex.:
|
|
@@ -14543,9 +14628,11 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
|
|
|
14543
14628
|
if (localRefsIndex !== null) {
|
|
14544
14629
|
saveResolvedLocalsInData(lView, tNode);
|
|
14545
14630
|
}
|
|
14631
|
+
return ɵɵelementStart;
|
|
14546
14632
|
}
|
|
14547
14633
|
/**
|
|
14548
14634
|
* Mark the end of the element.
|
|
14635
|
+
* @returns This function returns itself so that it may be chained.
|
|
14549
14636
|
*
|
|
14550
14637
|
* @codeGenApi
|
|
14551
14638
|
*/
|
|
@@ -14576,6 +14663,7 @@ function ɵɵelementEnd() {
|
|
|
14576
14663
|
if (tNode.stylesWithoutHost != null && hasStyleInput(tNode)) {
|
|
14577
14664
|
setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.stylesWithoutHost, false);
|
|
14578
14665
|
}
|
|
14666
|
+
return ɵɵelementEnd;
|
|
14579
14667
|
}
|
|
14580
14668
|
/**
|
|
14581
14669
|
* Creates an empty element using {@link elementStart} and {@link elementEnd}
|
|
@@ -14584,12 +14672,14 @@ function ɵɵelementEnd() {
|
|
|
14584
14672
|
* @param name Name of the DOM Node
|
|
14585
14673
|
* @param attrsIndex Index of the element's attributes in the `consts` array.
|
|
14586
14674
|
* @param localRefsIndex Index of the element's local references in the `consts` array.
|
|
14675
|
+
* @returns This function returns itself so that it may be chained.
|
|
14587
14676
|
*
|
|
14588
14677
|
* @codeGenApi
|
|
14589
14678
|
*/
|
|
14590
14679
|
function ɵɵelement(index, name, attrsIndex, localRefsIndex) {
|
|
14591
14680
|
ɵɵelementStart(index, name, attrsIndex, localRefsIndex);
|
|
14592
14681
|
ɵɵelementEnd();
|
|
14682
|
+
return ɵɵelement;
|
|
14593
14683
|
}
|
|
14594
14684
|
function logUnknownElementError(tView, element, tNode, hasDirectives) {
|
|
14595
14685
|
const schemas = tView.schemas;
|
|
@@ -14658,6 +14748,7 @@ function elementContainerStartFirstCreatePass(index, tView, lView, attrsIndex, l
|
|
|
14658
14748
|
* @param index Index of the element in the LView array
|
|
14659
14749
|
* @param attrsIndex Index of the container attributes in the `consts` array.
|
|
14660
14750
|
* @param localRefsIndex Index of the container's local references in the `consts` array.
|
|
14751
|
+
* @returns This function returns itself so that it may be chained.
|
|
14661
14752
|
*
|
|
14662
14753
|
* Even if this instruction accepts a set of attributes no actual attribute values are propagated to
|
|
14663
14754
|
* the DOM (as a comment node can't have attributes). Attributes are here only for directive
|
|
@@ -14688,9 +14779,11 @@ function ɵɵelementContainerStart(index, attrsIndex, localRefsIndex) {
|
|
|
14688
14779
|
if (localRefsIndex != null) {
|
|
14689
14780
|
saveResolvedLocalsInData(lView, tNode);
|
|
14690
14781
|
}
|
|
14782
|
+
return ɵɵelementContainerStart;
|
|
14691
14783
|
}
|
|
14692
14784
|
/**
|
|
14693
14785
|
* Mark the end of the <ng-container>.
|
|
14786
|
+
* @returns This function returns itself so that it may be chained.
|
|
14694
14787
|
*
|
|
14695
14788
|
* @codeGenApi
|
|
14696
14789
|
*/
|
|
@@ -14712,6 +14805,7 @@ function ɵɵelementContainerEnd() {
|
|
|
14712
14805
|
tView.queries.elementEnd(currentTNode);
|
|
14713
14806
|
}
|
|
14714
14807
|
}
|
|
14808
|
+
return ɵɵelementContainerEnd;
|
|
14715
14809
|
}
|
|
14716
14810
|
/**
|
|
14717
14811
|
* Creates an empty logical container using {@link elementContainerStart}
|
|
@@ -14720,12 +14814,14 @@ function ɵɵelementContainerEnd() {
|
|
|
14720
14814
|
* @param index Index of the element in the LView array
|
|
14721
14815
|
* @param attrsIndex Index of the container attributes in the `consts` array.
|
|
14722
14816
|
* @param localRefsIndex Index of the container's local references in the `consts` array.
|
|
14817
|
+
* @returns This function returns itself so that it may be chained.
|
|
14723
14818
|
*
|
|
14724
14819
|
* @codeGenApi
|
|
14725
14820
|
*/
|
|
14726
14821
|
function ɵɵelementContainer(index, attrsIndex, localRefsIndex) {
|
|
14727
14822
|
ɵɵelementContainerStart(index, attrsIndex, localRefsIndex);
|
|
14728
14823
|
ɵɵelementContainerEnd();
|
|
14824
|
+
return ɵɵelementContainer;
|
|
14729
14825
|
}
|
|
14730
14826
|
|
|
14731
14827
|
/**
|
|
@@ -21076,7 +21172,7 @@ class Version {
|
|
|
21076
21172
|
/**
|
|
21077
21173
|
* @publicApi
|
|
21078
21174
|
*/
|
|
21079
|
-
const VERSION = new Version('14.0.0-next.
|
|
21175
|
+
const VERSION = new Version('14.0.0-next.4');
|
|
21080
21176
|
|
|
21081
21177
|
/**
|
|
21082
21178
|
* @license
|
|
@@ -21481,14 +21577,6 @@ function getNamespace(elementName) {
|
|
|
21481
21577
|
const name = elementName.toLowerCase();
|
|
21482
21578
|
return name === 'svg' ? SVG_NAMESPACE : (name === 'math' ? MATH_ML_NAMESPACE : null);
|
|
21483
21579
|
}
|
|
21484
|
-
/**
|
|
21485
|
-
* A change detection scheduler token for {@link RootContext}. This token is the default value used
|
|
21486
|
-
* for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
|
|
21487
|
-
*/
|
|
21488
|
-
const SCHEDULER = new InjectionToken('SCHEDULER_TOKEN', {
|
|
21489
|
-
providedIn: 'root',
|
|
21490
|
-
factory: () => defaultScheduler,
|
|
21491
|
-
});
|
|
21492
21580
|
function createChainedInjector(rootViewInjector, moduleInjector) {
|
|
21493
21581
|
return {
|
|
21494
21582
|
get: (token, notFoundValue, flags) => {
|
|
@@ -22828,11 +22916,29 @@ const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
|
|
|
22828
22916
|
componentFactoryOrType :
|
|
22829
22917
|
new ComponentFactory(getComponentDef(componentFactoryOrType));
|
|
22830
22918
|
const contextInjector = injector || this.parentInjector;
|
|
22831
|
-
|
|
22832
|
-
|
|
22833
|
-
//
|
|
22834
|
-
//
|
|
22835
|
-
|
|
22919
|
+
// If an `NgModuleRef` is not provided explicitly, try retrieving it from the DI tree.
|
|
22920
|
+
if (!ngModuleRef && componentFactory.ngModule == null) {
|
|
22921
|
+
// For the `ComponentFactory` case, entering this logic is very unlikely, since we expect that
|
|
22922
|
+
// an instance of a `ComponentFactory`, resolved via `ComponentFactoryResolver` would have an
|
|
22923
|
+
// `ngModule` field. This is possible in some test scenarios and potentially in some JIT-based
|
|
22924
|
+
// use-cases. For the `ComponentFactory` case we preserve backwards-compatibility and try
|
|
22925
|
+
// using a provided injector first, then fall back to the parent injector of this
|
|
22926
|
+
// `ViewContainerRef` instance.
|
|
22927
|
+
//
|
|
22928
|
+
// For the factory-less case, it's critical to establish a connection with the module
|
|
22929
|
+
// injector tree (by retrieving an instance of an `NgModuleRef` and accessing its injector),
|
|
22930
|
+
// so that a component can use DI tokens provided in MgModules. For this reason, we can not
|
|
22931
|
+
// rely on the provided injector, since it might be detached from the DI tree (for example, if
|
|
22932
|
+
// it was created via `Injector.create` without specifying a parent injector, or if an
|
|
22933
|
+
// injector is retrieved from an `NgModuleRef` created via `createNgModuleRef` using an
|
|
22934
|
+
// NgModule outside of a module tree). Instead, we always use `ViewContainerRef`'s parent
|
|
22935
|
+
// injector, which is normally connected to the DI tree, which includes module injector
|
|
22936
|
+
// subtree.
|
|
22937
|
+
const _injector = isComponentFactory ? contextInjector : this.parentInjector;
|
|
22938
|
+
// DO NOT REFACTOR. The code here used to have a `injector.get(NgModuleRef, null) ||
|
|
22939
|
+
// undefined` expression which seems to cause internal google apps to fail. This is documented
|
|
22940
|
+
// in the following internal bug issue: go/b/142967802
|
|
22941
|
+
const result = _injector.get(NgModuleRef$1, null);
|
|
22836
22942
|
if (result) {
|
|
22837
22943
|
ngModuleRef = result;
|
|
22838
22944
|
}
|
|
@@ -24336,7 +24442,10 @@ function directiveMetadata(type, metadata) {
|
|
|
24336
24442
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
24337
24443
|
exportAs: extractExportAs(metadata.exportAs),
|
|
24338
24444
|
providers: metadata.providers || null,
|
|
24339
|
-
viewQueries: extractQueriesMetadata(type, propMetadata, isViewQuery)
|
|
24445
|
+
viewQueries: extractQueriesMetadata(type, propMetadata, isViewQuery),
|
|
24446
|
+
// TODO(alxhub): pass through the standalone flag from the directive metadata once standalone
|
|
24447
|
+
// functionality is fully rolled out.
|
|
24448
|
+
isStandalone: false,
|
|
24340
24449
|
};
|
|
24341
24450
|
}
|
|
24342
24451
|
/**
|
|
@@ -24480,7 +24589,10 @@ function getPipeMetadata(type, meta) {
|
|
|
24480
24589
|
type: type,
|
|
24481
24590
|
name: type.name,
|
|
24482
24591
|
pipeName: meta.name,
|
|
24483
|
-
pure: meta.pure !== undefined ? meta.pure : true
|
|
24592
|
+
pure: meta.pure !== undefined ? meta.pure : true,
|
|
24593
|
+
// TODO(alxhub): pass through the standalone flag from the pipe metadata once standalone
|
|
24594
|
+
// functionality is fully rolled out.
|
|
24595
|
+
isStandalone: false,
|
|
24484
24596
|
};
|
|
24485
24597
|
}
|
|
24486
24598
|
|
|
@@ -24774,10 +24886,11 @@ class ApplicationInitStatus {
|
|
|
24774
24886
|
}
|
|
24775
24887
|
}
|
|
24776
24888
|
ApplicationInitStatus.ɵfac = function ApplicationInitStatus_Factory(t) { return new (t || ApplicationInitStatus)(ɵɵinject(APP_INITIALIZER, 8)); };
|
|
24777
|
-
ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac });
|
|
24889
|
+
ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac, providedIn: 'root' });
|
|
24778
24890
|
(function () {
|
|
24779
24891
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationInitStatus, [{
|
|
24780
|
-
type: Injectable
|
|
24892
|
+
type: Injectable,
|
|
24893
|
+
args: [{ providedIn: 'root' }]
|
|
24781
24894
|
}], function () {
|
|
24782
24895
|
return [{ type: undefined, decorators: [{
|
|
24783
24896
|
type: Inject,
|
|
@@ -24806,7 +24919,10 @@ ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Appli
|
|
|
24806
24919
|
*
|
|
24807
24920
|
* @publicApi
|
|
24808
24921
|
*/
|
|
24809
|
-
const APP_ID = new InjectionToken('AppId'
|
|
24922
|
+
const APP_ID = new InjectionToken('AppId', {
|
|
24923
|
+
providedIn: 'root',
|
|
24924
|
+
factory: _appIdRandomProviderFactory,
|
|
24925
|
+
});
|
|
24810
24926
|
function _appIdRandomProviderFactory() {
|
|
24811
24927
|
return `${_randomChar()}${_randomChar()}${_randomChar()}`;
|
|
24812
24928
|
}
|
|
@@ -24849,6 +24965,15 @@ const APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');
|
|
|
24849
24965
|
* @publicApi
|
|
24850
24966
|
*/
|
|
24851
24967
|
const PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');
|
|
24968
|
+
// We keep this token here, rather than the animations package, so that modules that only care
|
|
24969
|
+
// about which animations module is loaded (e.g. the CDK) can retrieve it without having to
|
|
24970
|
+
// include extra dependencies. See #44970 for more context.
|
|
24971
|
+
/**
|
|
24972
|
+
* A [DI token](guide/glossary#di-token "DI token definition") that indicates which animations
|
|
24973
|
+
* module has been loaded.
|
|
24974
|
+
* @publicApi
|
|
24975
|
+
*/
|
|
24976
|
+
const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
|
|
24852
24977
|
|
|
24853
24978
|
/**
|
|
24854
24979
|
* @license
|
|
@@ -24883,6 +25008,33 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
|
|
|
24883
25008
|
* Use of this source code is governed by an MIT-style license that can be
|
|
24884
25009
|
* found in the LICENSE file at https://angular.io/license
|
|
24885
25010
|
*/
|
|
25011
|
+
/**
|
|
25012
|
+
* Work out the locale from the potential global properties.
|
|
25013
|
+
*
|
|
25014
|
+
* * Closure Compiler: use `goog.getLocale()`.
|
|
25015
|
+
* * Ivy enabled: use `$localize.locale`
|
|
25016
|
+
*/
|
|
25017
|
+
function getGlobalLocale() {
|
|
25018
|
+
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
|
|
25019
|
+
typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
|
|
25020
|
+
// * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
|
|
25021
|
+
// * In order to preserve backwards compatibility, we use Angular default value over
|
|
25022
|
+
// Closure Compiler's one.
|
|
25023
|
+
return goog.getLocale();
|
|
25024
|
+
}
|
|
25025
|
+
else {
|
|
25026
|
+
// KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
|
|
25027
|
+
// COMPILE-TIME INLINER.
|
|
25028
|
+
//
|
|
25029
|
+
// * During compile time inlining of translations the expression will be replaced
|
|
25030
|
+
// with a string literal that is the current locale. Other forms of this expression are not
|
|
25031
|
+
// guaranteed to be replaced.
|
|
25032
|
+
//
|
|
25033
|
+
// * During runtime translation evaluation, the developer is required to set `$localize.locale`
|
|
25034
|
+
// if required, or just to provide their own `LOCALE_ID` provider.
|
|
25035
|
+
return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
|
|
25036
|
+
}
|
|
25037
|
+
}
|
|
24886
25038
|
/**
|
|
24887
25039
|
* Provide this token to set the locale of your application.
|
|
24888
25040
|
* It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
|
|
@@ -24905,7 +25057,10 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
|
|
|
24905
25057
|
*
|
|
24906
25058
|
* @publicApi
|
|
24907
25059
|
*/
|
|
24908
|
-
const LOCALE_ID = new InjectionToken('LocaleId'
|
|
25060
|
+
const LOCALE_ID = new InjectionToken('LocaleId', {
|
|
25061
|
+
providedIn: 'root',
|
|
25062
|
+
factory: () => inject(LOCALE_ID, InjectFlags.Optional | InjectFlags.SkipSelf) || getGlobalLocale(),
|
|
25063
|
+
});
|
|
24909
25064
|
/**
|
|
24910
25065
|
* Provide this token to set the default currency code your application uses for
|
|
24911
25066
|
* CurrencyPipe when there is no currency code passed into it. This is only used by
|
|
@@ -24944,7 +25099,10 @@ const LOCALE_ID = new InjectionToken('LocaleId');
|
|
|
24944
25099
|
*
|
|
24945
25100
|
* @publicApi
|
|
24946
25101
|
*/
|
|
24947
|
-
const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode'
|
|
25102
|
+
const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode', {
|
|
25103
|
+
providedIn: 'root',
|
|
25104
|
+
factory: () => USD_CURRENCY_CODE,
|
|
25105
|
+
});
|
|
24948
25106
|
/**
|
|
24949
25107
|
* Use this token at bootstrap to provide the content of your translation file (`xtb`,
|
|
24950
25108
|
* `xlf` or `xlf2`) when you want to translate your application in another language.
|
|
@@ -25111,10 +25269,11 @@ class Compiler {
|
|
|
25111
25269
|
}
|
|
25112
25270
|
}
|
|
25113
25271
|
Compiler.ɵfac = function Compiler_Factory(t) { return new (t || Compiler)(); };
|
|
25114
|
-
Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac });
|
|
25272
|
+
Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac, providedIn: 'root' });
|
|
25115
25273
|
(function () {
|
|
25116
25274
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Compiler, [{
|
|
25117
|
-
type: Injectable
|
|
25275
|
+
type: Injectable,
|
|
25276
|
+
args: [{ providedIn: 'root' }]
|
|
25118
25277
|
}], null, null);
|
|
25119
25278
|
})();
|
|
25120
25279
|
/**
|
|
@@ -25992,26 +26151,7 @@ class PlatformRef {
|
|
|
25992
26151
|
this._destroyed = false;
|
|
25993
26152
|
}
|
|
25994
26153
|
/**
|
|
25995
|
-
* Creates an instance of an `@NgModule` for the given platform
|
|
25996
|
-
*
|
|
25997
|
-
* @usageNotes
|
|
25998
|
-
*
|
|
25999
|
-
* The following example creates the NgModule for a browser platform.
|
|
26000
|
-
*
|
|
26001
|
-
* ```typescript
|
|
26002
|
-
* my_module.ts:
|
|
26003
|
-
*
|
|
26004
|
-
* @NgModule({
|
|
26005
|
-
* imports: [BrowserModule]
|
|
26006
|
-
* })
|
|
26007
|
-
* class MyModule {}
|
|
26008
|
-
*
|
|
26009
|
-
* main.ts:
|
|
26010
|
-
* import {MyModuleNgFactory} from './my_module.ngfactory';
|
|
26011
|
-
* import {platformBrowser} from '@angular/platform-browser';
|
|
26012
|
-
*
|
|
26013
|
-
* let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);
|
|
26014
|
-
* ```
|
|
26154
|
+
* Creates an instance of an `@NgModule` for the given platform.
|
|
26015
26155
|
*
|
|
26016
26156
|
* @deprecated Passing NgModule factories as the `PlatformRef.bootstrapModuleFactory` function
|
|
26017
26157
|
* argument is deprecated. Use the `PlatformRef.bootstrapModule` API instead.
|
|
@@ -26065,7 +26205,7 @@ class PlatformRef {
|
|
|
26065
26205
|
});
|
|
26066
26206
|
}
|
|
26067
26207
|
/**
|
|
26068
|
-
* Creates an instance of an `@NgModule` for a given platform
|
|
26208
|
+
* Creates an instance of an `@NgModule` for a given platform.
|
|
26069
26209
|
*
|
|
26070
26210
|
* @usageNotes
|
|
26071
26211
|
* ### Simple Example
|
|
@@ -26501,10 +26641,11 @@ class ApplicationRef {
|
|
|
26501
26641
|
}
|
|
26502
26642
|
}
|
|
26503
26643
|
ApplicationRef.ɵfac = function ApplicationRef_Factory(t) { return new (t || ApplicationRef)(ɵɵinject(NgZone), ɵɵinject(Injector), ɵɵinject(ErrorHandler), ɵɵinject(ComponentFactoryResolver$1), ɵɵinject(ApplicationInitStatus)); };
|
|
26504
|
-
ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac });
|
|
26644
|
+
ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac, providedIn: 'root' });
|
|
26505
26645
|
(function () {
|
|
26506
26646
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
|
|
26507
|
-
type: Injectable
|
|
26647
|
+
type: Injectable,
|
|
26648
|
+
args: [{ providedIn: 'root' }]
|
|
26508
26649
|
}], function () { return [{ type: NgZone }, { type: Injector }, { type: ErrorHandler }, { type: ComponentFactoryResolver$1 }, { type: ApplicationInitStatus }]; }, null);
|
|
26509
26650
|
})();
|
|
26510
26651
|
function remove(list, el) {
|
|
@@ -26812,8 +26953,6 @@ var ng_module_factory_loader_impl = {};
|
|
|
26812
26953
|
* Use of this source code is governed by an MIT-style license that can be
|
|
26813
26954
|
* found in the LICENSE file at https://angular.io/license
|
|
26814
26955
|
*/
|
|
26815
|
-
// TODO(alxhub): recombine the interfaces and implementations here and move the docs back onto the
|
|
26816
|
-
// original classes.
|
|
26817
26956
|
/**
|
|
26818
26957
|
* @publicApi
|
|
26819
26958
|
*/
|
|
@@ -26829,47 +26968,92 @@ class DebugEventListener {
|
|
|
26829
26968
|
function asNativeElements(debugEls) {
|
|
26830
26969
|
return debugEls.map((el) => el.nativeElement);
|
|
26831
26970
|
}
|
|
26832
|
-
|
|
26971
|
+
/**
|
|
26972
|
+
* @publicApi
|
|
26973
|
+
*/
|
|
26974
|
+
class DebugNode {
|
|
26833
26975
|
constructor(nativeNode) {
|
|
26834
26976
|
this.nativeNode = nativeNode;
|
|
26835
26977
|
}
|
|
26978
|
+
/**
|
|
26979
|
+
* The `DebugElement` parent. Will be `null` if this is the root element.
|
|
26980
|
+
*/
|
|
26836
26981
|
get parent() {
|
|
26837
26982
|
const parent = this.nativeNode.parentNode;
|
|
26838
|
-
return parent ? new
|
|
26983
|
+
return parent ? new DebugElement(parent) : null;
|
|
26839
26984
|
}
|
|
26985
|
+
/**
|
|
26986
|
+
* The host dependency injector. For example, the root element's component instance injector.
|
|
26987
|
+
*/
|
|
26840
26988
|
get injector() {
|
|
26841
26989
|
return getInjector(this.nativeNode);
|
|
26842
26990
|
}
|
|
26991
|
+
/**
|
|
26992
|
+
* The element's own component instance, if it has one.
|
|
26993
|
+
*/
|
|
26843
26994
|
get componentInstance() {
|
|
26844
26995
|
const nativeElement = this.nativeNode;
|
|
26845
26996
|
return nativeElement &&
|
|
26846
26997
|
(getComponent$1(nativeElement) || getOwningComponent(nativeElement));
|
|
26847
26998
|
}
|
|
26999
|
+
/**
|
|
27000
|
+
* An object that provides parent context for this element. Often an ancestor component instance
|
|
27001
|
+
* that governs this element.
|
|
27002
|
+
*
|
|
27003
|
+
* When an element is repeated within *ngFor, the context is an `NgForOf` whose `$implicit`
|
|
27004
|
+
* property is the value of the row instance value. For example, the `hero` in `*ngFor="let hero
|
|
27005
|
+
* of heroes"`.
|
|
27006
|
+
*/
|
|
26848
27007
|
get context() {
|
|
26849
27008
|
return getComponent$1(this.nativeNode) || getContext(this.nativeNode);
|
|
26850
27009
|
}
|
|
27010
|
+
/**
|
|
27011
|
+
* The callbacks attached to the component's @Output properties and/or the element's event
|
|
27012
|
+
* properties.
|
|
27013
|
+
*/
|
|
26851
27014
|
get listeners() {
|
|
26852
27015
|
return getListeners(this.nativeNode).filter(listener => listener.type === 'dom');
|
|
26853
27016
|
}
|
|
27017
|
+
/**
|
|
27018
|
+
* Dictionary of objects associated with template local variables (e.g. #foo), keyed by the local
|
|
27019
|
+
* variable name.
|
|
27020
|
+
*/
|
|
26854
27021
|
get references() {
|
|
26855
27022
|
return getLocalRefs(this.nativeNode);
|
|
26856
27023
|
}
|
|
27024
|
+
/**
|
|
27025
|
+
* This component's injector lookup tokens. Includes the component itself plus the tokens that the
|
|
27026
|
+
* component lists in its providers metadata.
|
|
27027
|
+
*/
|
|
26857
27028
|
get providerTokens() {
|
|
26858
27029
|
return getInjectionTokens(this.nativeNode);
|
|
26859
27030
|
}
|
|
26860
27031
|
}
|
|
26861
|
-
|
|
27032
|
+
/**
|
|
27033
|
+
* @publicApi
|
|
27034
|
+
*
|
|
27035
|
+
* @see [Component testing scenarios](guide/testing-components-scenarios)
|
|
27036
|
+
* @see [Basics of testing components](guide/testing-components-basics)
|
|
27037
|
+
* @see [Testing utility APIs](guide/testing-utility-apis)
|
|
27038
|
+
*/
|
|
27039
|
+
class DebugElement extends DebugNode {
|
|
26862
27040
|
constructor(nativeNode) {
|
|
26863
27041
|
ngDevMode && assertDomNode(nativeNode);
|
|
26864
27042
|
super(nativeNode);
|
|
26865
27043
|
}
|
|
27044
|
+
/**
|
|
27045
|
+
* The underlying DOM element at the root of the component.
|
|
27046
|
+
*/
|
|
26866
27047
|
get nativeElement() {
|
|
26867
27048
|
return this.nativeNode.nodeType == Node.ELEMENT_NODE ? this.nativeNode : null;
|
|
26868
27049
|
}
|
|
27050
|
+
/**
|
|
27051
|
+
* The element tag name, if it is an element.
|
|
27052
|
+
*/
|
|
26869
27053
|
get name() {
|
|
26870
27054
|
const context = getLContext(this.nativeNode);
|
|
26871
|
-
|
|
26872
|
-
|
|
27055
|
+
const lView = context ? context.lView : null;
|
|
27056
|
+
if (lView !== null) {
|
|
26873
27057
|
const tData = lView[TVIEW].data;
|
|
26874
27058
|
const tNode = tData[context.nodeIndex];
|
|
26875
27059
|
return tNode.value;
|
|
@@ -26892,10 +27076,10 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26892
27076
|
*/
|
|
26893
27077
|
get properties() {
|
|
26894
27078
|
const context = getLContext(this.nativeNode);
|
|
26895
|
-
|
|
27079
|
+
const lView = context ? context.lView : null;
|
|
27080
|
+
if (lView === null) {
|
|
26896
27081
|
return {};
|
|
26897
27082
|
}
|
|
26898
|
-
const lView = context.lView;
|
|
26899
27083
|
const tData = lView[TVIEW].data;
|
|
26900
27084
|
const tNode = tData[context.nodeIndex];
|
|
26901
27085
|
const properties = {};
|
|
@@ -26906,6 +27090,9 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26906
27090
|
collectPropertyBindings(properties, tNode, lView, tData);
|
|
26907
27091
|
return properties;
|
|
26908
27092
|
}
|
|
27093
|
+
/**
|
|
27094
|
+
* A map of attribute names to attribute values for an element.
|
|
27095
|
+
*/
|
|
26909
27096
|
get attributes() {
|
|
26910
27097
|
const attributes = {};
|
|
26911
27098
|
const element = this.nativeElement;
|
|
@@ -26913,10 +27100,10 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26913
27100
|
return attributes;
|
|
26914
27101
|
}
|
|
26915
27102
|
const context = getLContext(element);
|
|
26916
|
-
|
|
27103
|
+
const lView = context ? context.lView : null;
|
|
27104
|
+
if (lView === null) {
|
|
26917
27105
|
return {};
|
|
26918
27106
|
}
|
|
26919
|
-
const lView = context.lView;
|
|
26920
27107
|
const tNodeAttrs = lView[TVIEW].data[context.nodeIndex].attrs;
|
|
26921
27108
|
const lowercaseTNodeAttrs = [];
|
|
26922
27109
|
// For debug nodes we take the element's attribute directly from the DOM since it allows us
|
|
@@ -26954,12 +27141,29 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26954
27141
|
}
|
|
26955
27142
|
return attributes;
|
|
26956
27143
|
}
|
|
27144
|
+
/**
|
|
27145
|
+
* The inline styles of the DOM element.
|
|
27146
|
+
*
|
|
27147
|
+
* Will be `null` if there is no `style` property on the underlying DOM element.
|
|
27148
|
+
*
|
|
27149
|
+
* @see [ElementCSSInlineStyle](https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style)
|
|
27150
|
+
*/
|
|
26957
27151
|
get styles() {
|
|
26958
27152
|
if (this.nativeElement && this.nativeElement.style) {
|
|
26959
27153
|
return this.nativeElement.style;
|
|
26960
27154
|
}
|
|
26961
27155
|
return {};
|
|
26962
27156
|
}
|
|
27157
|
+
/**
|
|
27158
|
+
* A map containing the class names on the element as keys.
|
|
27159
|
+
*
|
|
27160
|
+
* This map is derived from the `className` property of the DOM element.
|
|
27161
|
+
*
|
|
27162
|
+
* Note: The values of this object will always be `true`. The class key will not appear in the KV
|
|
27163
|
+
* object if it does not exist on the element.
|
|
27164
|
+
*
|
|
27165
|
+
* @see [Element.className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className)
|
|
27166
|
+
*/
|
|
26963
27167
|
get classes() {
|
|
26964
27168
|
const result = {};
|
|
26965
27169
|
const element = this.nativeElement;
|
|
@@ -26969,15 +27173,23 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26969
27173
|
classes.forEach((value) => result[value] = true);
|
|
26970
27174
|
return result;
|
|
26971
27175
|
}
|
|
27176
|
+
/**
|
|
27177
|
+
* The `childNodes` of the DOM element as a `DebugNode` array.
|
|
27178
|
+
*
|
|
27179
|
+
* @see [Node.childNodes](https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes)
|
|
27180
|
+
*/
|
|
26972
27181
|
get childNodes() {
|
|
26973
27182
|
const childNodes = this.nativeNode.childNodes;
|
|
26974
27183
|
const children = [];
|
|
26975
27184
|
for (let i = 0; i < childNodes.length; i++) {
|
|
26976
27185
|
const element = childNodes[i];
|
|
26977
|
-
children.push(
|
|
27186
|
+
children.push(getDebugNode(element));
|
|
26978
27187
|
}
|
|
26979
27188
|
return children;
|
|
26980
27189
|
}
|
|
27190
|
+
/**
|
|
27191
|
+
* The immediate `DebugElement` children. Walk the tree by descending through `children`.
|
|
27192
|
+
*/
|
|
26981
27193
|
get children() {
|
|
26982
27194
|
const nativeElement = this.nativeElement;
|
|
26983
27195
|
if (!nativeElement)
|
|
@@ -26986,24 +27198,45 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26986
27198
|
const children = [];
|
|
26987
27199
|
for (let i = 0; i < childNodes.length; i++) {
|
|
26988
27200
|
const element = childNodes[i];
|
|
26989
|
-
children.push(
|
|
27201
|
+
children.push(getDebugNode(element));
|
|
26990
27202
|
}
|
|
26991
27203
|
return children;
|
|
26992
27204
|
}
|
|
27205
|
+
/**
|
|
27206
|
+
* @returns the first `DebugElement` that matches the predicate at any depth in the subtree.
|
|
27207
|
+
*/
|
|
26993
27208
|
query(predicate) {
|
|
26994
27209
|
const results = this.queryAll(predicate);
|
|
26995
27210
|
return results[0] || null;
|
|
26996
27211
|
}
|
|
27212
|
+
/**
|
|
27213
|
+
* @returns All `DebugElement` matches for the predicate at any depth in the subtree.
|
|
27214
|
+
*/
|
|
26997
27215
|
queryAll(predicate) {
|
|
26998
27216
|
const matches = [];
|
|
26999
|
-
|
|
27217
|
+
_queryAll(this, predicate, matches, true);
|
|
27000
27218
|
return matches;
|
|
27001
27219
|
}
|
|
27220
|
+
/**
|
|
27221
|
+
* @returns All `DebugNode` matches for the predicate at any depth in the subtree.
|
|
27222
|
+
*/
|
|
27002
27223
|
queryAllNodes(predicate) {
|
|
27003
27224
|
const matches = [];
|
|
27004
|
-
|
|
27225
|
+
_queryAll(this, predicate, matches, false);
|
|
27005
27226
|
return matches;
|
|
27006
27227
|
}
|
|
27228
|
+
/**
|
|
27229
|
+
* Triggers the event by its name if there is a corresponding listener in the element's
|
|
27230
|
+
* `listeners` collection.
|
|
27231
|
+
*
|
|
27232
|
+
* If the event lacks a listener or there's some other problem, consider
|
|
27233
|
+
* calling `nativeElement.dispatchEvent(eventObject)`.
|
|
27234
|
+
*
|
|
27235
|
+
* @param eventName The name of the event to trigger
|
|
27236
|
+
* @param eventObj The _event object_ expected by the handler
|
|
27237
|
+
*
|
|
27238
|
+
* @see [Testing components scenarios](guide/testing-components-scenarios#trigger-event-handler)
|
|
27239
|
+
*/
|
|
27007
27240
|
triggerEventHandler(eventName, eventObj) {
|
|
27008
27241
|
const node = this.nativeNode;
|
|
27009
27242
|
const invokedListeners = [];
|
|
@@ -27062,11 +27295,12 @@ function isPrimitiveValue(value) {
|
|
|
27062
27295
|
return typeof value === 'string' || typeof value === 'boolean' || typeof value === 'number' ||
|
|
27063
27296
|
value === null;
|
|
27064
27297
|
}
|
|
27065
|
-
function
|
|
27298
|
+
function _queryAll(parentElement, predicate, matches, elementsOnly) {
|
|
27066
27299
|
const context = getLContext(parentElement.nativeNode);
|
|
27067
|
-
|
|
27068
|
-
|
|
27069
|
-
|
|
27300
|
+
const lView = context ? context.lView : null;
|
|
27301
|
+
if (lView !== null) {
|
|
27302
|
+
const parentTNode = lView[TVIEW].data[context.nodeIndex];
|
|
27303
|
+
_queryNodeChildren(parentTNode, lView, predicate, matches, elementsOnly, parentElement.nativeNode);
|
|
27070
27304
|
}
|
|
27071
27305
|
else {
|
|
27072
27306
|
// If the context is null, then `parentElement` was either created with Renderer2 or native DOM
|
|
@@ -27084,26 +27318,26 @@ function _queryAllR3(parentElement, predicate, matches, elementsOnly) {
|
|
|
27084
27318
|
* @param elementsOnly whether only elements should be searched
|
|
27085
27319
|
* @param rootNativeNode the root native node on which predicate should not be matched
|
|
27086
27320
|
*/
|
|
27087
|
-
function
|
|
27321
|
+
function _queryNodeChildren(tNode, lView, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27088
27322
|
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
27089
27323
|
const nativeNode = getNativeByTNodeOrNull(tNode, lView);
|
|
27090
27324
|
// For each type of TNode, specific logic is executed.
|
|
27091
27325
|
if (tNode.type & (3 /* AnyRNode */ | 8 /* ElementContainer */)) {
|
|
27092
27326
|
// Case 1: the TNode is an element
|
|
27093
27327
|
// The native node has to be checked.
|
|
27094
|
-
|
|
27328
|
+
_addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode);
|
|
27095
27329
|
if (isComponentHost(tNode)) {
|
|
27096
27330
|
// If the element is the host of a component, then all nodes in its view have to be processed.
|
|
27097
27331
|
// Note: the component's content (tNode.child) will be processed from the insertion points.
|
|
27098
27332
|
const componentView = getComponentLViewByIndex(tNode.index, lView);
|
|
27099
27333
|
if (componentView && componentView[TVIEW].firstChild) {
|
|
27100
|
-
|
|
27334
|
+
_queryNodeChildren(componentView[TVIEW].firstChild, componentView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27101
27335
|
}
|
|
27102
27336
|
}
|
|
27103
27337
|
else {
|
|
27104
27338
|
if (tNode.child) {
|
|
27105
27339
|
// Otherwise, its children have to be processed.
|
|
27106
|
-
|
|
27340
|
+
_queryNodeChildren(tNode.child, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27107
27341
|
}
|
|
27108
27342
|
// We also have to query the DOM directly in order to catch elements inserted through
|
|
27109
27343
|
// Renderer2. Note that this is __not__ optimal, because we're walking similar trees multiple
|
|
@@ -27119,16 +27353,16 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27119
27353
|
// processed.
|
|
27120
27354
|
const nodeOrContainer = lView[tNode.index];
|
|
27121
27355
|
if (isLContainer(nodeOrContainer)) {
|
|
27122
|
-
|
|
27356
|
+
_queryNodeChildrenInContainer(nodeOrContainer, predicate, matches, elementsOnly, rootNativeNode);
|
|
27123
27357
|
}
|
|
27124
27358
|
}
|
|
27125
27359
|
else if (tNode.type & 4 /* Container */) {
|
|
27126
27360
|
// Case 2: the TNode is a container
|
|
27127
27361
|
// The native node has to be checked.
|
|
27128
27362
|
const lContainer = lView[tNode.index];
|
|
27129
|
-
|
|
27363
|
+
_addQueryMatch(lContainer[NATIVE], predicate, matches, elementsOnly, rootNativeNode);
|
|
27130
27364
|
// Each view inside the container has to be processed.
|
|
27131
|
-
|
|
27365
|
+
_queryNodeChildrenInContainer(lContainer, predicate, matches, elementsOnly, rootNativeNode);
|
|
27132
27366
|
}
|
|
27133
27367
|
else if (tNode.type & 16 /* Projection */) {
|
|
27134
27368
|
// Case 3: the TNode is a projection insertion point (i.e. a <ng-content>).
|
|
@@ -27138,18 +27372,18 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27138
27372
|
const head = componentHost.projection[tNode.projection];
|
|
27139
27373
|
if (Array.isArray(head)) {
|
|
27140
27374
|
for (let nativeNode of head) {
|
|
27141
|
-
|
|
27375
|
+
_addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode);
|
|
27142
27376
|
}
|
|
27143
27377
|
}
|
|
27144
27378
|
else if (head) {
|
|
27145
27379
|
const nextLView = componentView[PARENT];
|
|
27146
27380
|
const nextTNode = nextLView[TVIEW].data[head.index];
|
|
27147
|
-
|
|
27381
|
+
_queryNodeChildren(nextTNode, nextLView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27148
27382
|
}
|
|
27149
27383
|
}
|
|
27150
27384
|
else if (tNode.child) {
|
|
27151
27385
|
// Case 4: the TNode is a view.
|
|
27152
|
-
|
|
27386
|
+
_queryNodeChildren(tNode.child, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27153
27387
|
}
|
|
27154
27388
|
// We don't want to go to the next sibling of the root node.
|
|
27155
27389
|
if (rootNativeNode !== nativeNode) {
|
|
@@ -27157,7 +27391,7 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27157
27391
|
// link, depending on whether the current node has been projected.
|
|
27158
27392
|
const nextTNode = (tNode.flags & 4 /* isProjected */) ? tNode.projectionNext : tNode.next;
|
|
27159
27393
|
if (nextTNode) {
|
|
27160
|
-
|
|
27394
|
+
_queryNodeChildren(nextTNode, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27161
27395
|
}
|
|
27162
27396
|
}
|
|
27163
27397
|
}
|
|
@@ -27170,12 +27404,12 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27170
27404
|
* @param elementsOnly whether only elements should be searched
|
|
27171
27405
|
* @param rootNativeNode the root native node on which predicate should not be matched
|
|
27172
27406
|
*/
|
|
27173
|
-
function
|
|
27407
|
+
function _queryNodeChildrenInContainer(lContainer, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27174
27408
|
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
27175
27409
|
const childView = lContainer[i];
|
|
27176
27410
|
const firstChild = childView[TVIEW].firstChild;
|
|
27177
27411
|
if (firstChild) {
|
|
27178
|
-
|
|
27412
|
+
_queryNodeChildren(firstChild, childView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27179
27413
|
}
|
|
27180
27414
|
}
|
|
27181
27415
|
}
|
|
@@ -27188,7 +27422,7 @@ function _queryNodeChildrenInContainerR3(lContainer, predicate, matches, element
|
|
|
27188
27422
|
* @param elementsOnly whether only elements should be searched
|
|
27189
27423
|
* @param rootNativeNode the root native node on which predicate should not be matched
|
|
27190
27424
|
*/
|
|
27191
|
-
function
|
|
27425
|
+
function _addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27192
27426
|
if (rootNativeNode !== nativeNode) {
|
|
27193
27427
|
const debugNode = getDebugNode(nativeNode);
|
|
27194
27428
|
if (!debugNode) {
|
|
@@ -27197,7 +27431,7 @@ function _addQueryMatchR3(nativeNode, predicate, matches, elementsOnly, rootNati
|
|
|
27197
27431
|
// Type of the "predicate and "matches" array are set based on the value of
|
|
27198
27432
|
// the "elementsOnly" parameter. TypeScript is not able to properly infer these
|
|
27199
27433
|
// types with generics, so we manually cast the parameters accordingly.
|
|
27200
|
-
if (elementsOnly && debugNode instanceof
|
|
27434
|
+
if (elementsOnly && (debugNode instanceof DebugElement) && predicate(debugNode) &&
|
|
27201
27435
|
matches.indexOf(debugNode) === -1) {
|
|
27202
27436
|
matches.push(debugNode);
|
|
27203
27437
|
}
|
|
@@ -27222,7 +27456,7 @@ function _queryNativeNodeDescendants(parentNode, predicate, matches, elementsOnl
|
|
|
27222
27456
|
const node = nodes[i];
|
|
27223
27457
|
const debugNode = getDebugNode(node);
|
|
27224
27458
|
if (debugNode) {
|
|
27225
|
-
if (elementsOnly && debugNode instanceof
|
|
27459
|
+
if (elementsOnly && (debugNode instanceof DebugElement) && predicate(debugNode) &&
|
|
27226
27460
|
matches.indexOf(debugNode) === -1) {
|
|
27227
27461
|
matches.push(debugNode);
|
|
27228
27462
|
}
|
|
@@ -27263,25 +27497,24 @@ function collectPropertyBindings(properties, tNode, lView, tData) {
|
|
|
27263
27497
|
// Need to keep the nodes in a global Map so that multiple angular apps are supported.
|
|
27264
27498
|
const _nativeNodeToDebugNode = new Map();
|
|
27265
27499
|
const NG_DEBUG_PROPERTY = '__ng_debug__';
|
|
27266
|
-
|
|
27500
|
+
/**
|
|
27501
|
+
* @publicApi
|
|
27502
|
+
*/
|
|
27503
|
+
function getDebugNode(nativeNode) {
|
|
27267
27504
|
if (nativeNode instanceof Node) {
|
|
27268
27505
|
if (!(nativeNode.hasOwnProperty(NG_DEBUG_PROPERTY))) {
|
|
27269
27506
|
nativeNode[NG_DEBUG_PROPERTY] = nativeNode.nodeType == Node.ELEMENT_NODE ?
|
|
27270
|
-
new
|
|
27271
|
-
new
|
|
27507
|
+
new DebugElement(nativeNode) :
|
|
27508
|
+
new DebugNode(nativeNode);
|
|
27272
27509
|
}
|
|
27273
27510
|
return nativeNode[NG_DEBUG_PROPERTY];
|
|
27274
27511
|
}
|
|
27275
27512
|
return null;
|
|
27276
27513
|
}
|
|
27277
|
-
|
|
27278
|
-
|
|
27279
|
-
*/
|
|
27280
|
-
const getDebugNode = getDebugNode__POST_R3__;
|
|
27281
|
-
function getDebugNodeR2__POST_R3__(_nativeNode) {
|
|
27514
|
+
// TODO: cleanup all references to this function and remove it.
|
|
27515
|
+
function getDebugNodeR2(_nativeNode) {
|
|
27282
27516
|
return null;
|
|
27283
27517
|
}
|
|
27284
|
-
const getDebugNodeR2 = getDebugNodeR2__POST_R3__;
|
|
27285
27518
|
function getAllDebugNodes() {
|
|
27286
27519
|
return Array.from(_nativeNodeToDebugNode.values());
|
|
27287
27520
|
}
|
|
@@ -27291,14 +27524,6 @@ function indexDebugNode(node) {
|
|
|
27291
27524
|
function removeDebugNodeFromIndex(node) {
|
|
27292
27525
|
_nativeNodeToDebugNode.delete(node.nativeNode);
|
|
27293
27526
|
}
|
|
27294
|
-
/**
|
|
27295
|
-
* @publicApi
|
|
27296
|
-
*/
|
|
27297
|
-
const DebugNode = DebugNode__POST_R3__;
|
|
27298
|
-
/**
|
|
27299
|
-
* @publicApi
|
|
27300
|
-
*/
|
|
27301
|
-
const DebugElement = DebugElement__POST_R3__;
|
|
27302
27527
|
|
|
27303
27528
|
/**
|
|
27304
27529
|
* @license
|
|
@@ -28420,102 +28645,9 @@ const _CORE_PLATFORM_PROVIDERS = [
|
|
|
28420
28645
|
const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS);
|
|
28421
28646
|
|
|
28422
28647
|
/**
|
|
28423
|
-
* @license
|
|
28424
|
-
* Copyright Google LLC All Rights Reserved.
|
|
28425
|
-
*
|
|
28426
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
28427
|
-
* found in the LICENSE file at https://angular.io/license
|
|
28428
|
-
*/
|
|
28429
|
-
function _iterableDiffersFactory() {
|
|
28430
|
-
return defaultIterableDiffers;
|
|
28431
|
-
}
|
|
28432
|
-
function _keyValueDiffersFactory() {
|
|
28433
|
-
return defaultKeyValueDiffers;
|
|
28434
|
-
}
|
|
28435
|
-
function _localeFactory(locale) {
|
|
28436
|
-
return locale || getGlobalLocale();
|
|
28437
|
-
}
|
|
28438
|
-
/**
|
|
28439
|
-
* Work out the locale from the potential global properties.
|
|
28440
|
-
*
|
|
28441
|
-
* * Closure Compiler: use `goog.getLocale()`.
|
|
28442
|
-
* * Ivy enabled: use `$localize.locale`
|
|
28443
|
-
*/
|
|
28444
|
-
function getGlobalLocale() {
|
|
28445
|
-
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
|
|
28446
|
-
typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
|
|
28447
|
-
// * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
|
|
28448
|
-
// * In order to preserve backwards compatibility, we use Angular default value over
|
|
28449
|
-
// Closure Compiler's one.
|
|
28450
|
-
return goog.getLocale();
|
|
28451
|
-
}
|
|
28452
|
-
else {
|
|
28453
|
-
// KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
|
|
28454
|
-
// COMPILE-TIME INLINER.
|
|
28455
|
-
//
|
|
28456
|
-
// * During compile time inlining of translations the expression will be replaced
|
|
28457
|
-
// with a string literal that is the current locale. Other forms of this expression are not
|
|
28458
|
-
// guaranteed to be replaced.
|
|
28459
|
-
//
|
|
28460
|
-
// * During runtime translation evaluation, the developer is required to set `$localize.locale`
|
|
28461
|
-
// if required, or just to provide their own `LOCALE_ID` provider.
|
|
28462
|
-
return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
|
|
28463
|
-
}
|
|
28464
|
-
}
|
|
28465
|
-
/**
|
|
28466
|
-
* A built-in [dependency injection token](guide/glossary#di-token)
|
|
28467
|
-
* that is used to configure the root injector for bootstrapping.
|
|
28468
|
-
*/
|
|
28469
|
-
const APPLICATION_MODULE_PROVIDERS = [
|
|
28470
|
-
{
|
|
28471
|
-
provide: ApplicationRef,
|
|
28472
|
-
useClass: ApplicationRef,
|
|
28473
|
-
deps: [NgZone, Injector, ErrorHandler, ComponentFactoryResolver$1, ApplicationInitStatus]
|
|
28474
|
-
},
|
|
28475
|
-
{ provide: SCHEDULER, deps: [NgZone], useFactory: zoneSchedulerFactory },
|
|
28476
|
-
{
|
|
28477
|
-
provide: ApplicationInitStatus,
|
|
28478
|
-
useClass: ApplicationInitStatus,
|
|
28479
|
-
deps: [[new Optional(), APP_INITIALIZER]]
|
|
28480
|
-
},
|
|
28481
|
-
{ provide: Compiler, useClass: Compiler, deps: [] },
|
|
28482
|
-
APP_ID_RANDOM_PROVIDER,
|
|
28483
|
-
{ provide: IterableDiffers, useFactory: _iterableDiffersFactory, deps: [] },
|
|
28484
|
-
{ provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory, deps: [] },
|
|
28485
|
-
{
|
|
28486
|
-
provide: LOCALE_ID,
|
|
28487
|
-
useFactory: _localeFactory,
|
|
28488
|
-
deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]
|
|
28489
|
-
},
|
|
28490
|
-
{ provide: DEFAULT_CURRENCY_CODE, useValue: USD_CURRENCY_CODE },
|
|
28491
|
-
];
|
|
28492
|
-
/**
|
|
28493
|
-
* Schedule work at next available slot.
|
|
28494
|
-
*
|
|
28495
|
-
* In Ivy this is just `requestAnimationFrame`. For compatibility reasons when bootstrapped
|
|
28496
|
-
* using `platformRef.bootstrap` we need to use `NgZone.onStable` as the scheduling mechanism.
|
|
28497
|
-
* This overrides the scheduling mechanism in Ivy to `NgZone.onStable`.
|
|
28498
|
-
*
|
|
28499
|
-
* @param ngZone NgZone to use for scheduling.
|
|
28500
|
-
*/
|
|
28501
|
-
function zoneSchedulerFactory(ngZone) {
|
|
28502
|
-
let queue = [];
|
|
28503
|
-
ngZone.onStable.subscribe(() => {
|
|
28504
|
-
while (queue.length) {
|
|
28505
|
-
queue.pop()();
|
|
28506
|
-
}
|
|
28507
|
-
});
|
|
28508
|
-
return function (fn) {
|
|
28509
|
-
queue.push(fn);
|
|
28510
|
-
};
|
|
28511
|
-
}
|
|
28512
|
-
/**
|
|
28513
|
-
* Configures the root injector for an app with
|
|
28514
|
-
* providers of `@angular/core` dependencies that `ApplicationRef` needs
|
|
28515
|
-
* to bootstrap components.
|
|
28516
|
-
*
|
|
28517
28648
|
* Re-exported by `BrowserModule`, which is included automatically in the root
|
|
28518
|
-
* `AppModule` when you create a new app with the CLI `new` command.
|
|
28649
|
+
* `AppModule` when you create a new app with the CLI `new` command. Eagerly injects
|
|
28650
|
+
* `ApplicationRef` to instantiate it.
|
|
28519
28651
|
*
|
|
28520
28652
|
* @publicApi
|
|
28521
28653
|
*/
|
|
@@ -28525,14 +28657,25 @@ class ApplicationModule {
|
|
|
28525
28657
|
}
|
|
28526
28658
|
ApplicationModule.ɵfac = function ApplicationModule_Factory(t) { return new (t || ApplicationModule)(ɵɵinject(ApplicationRef)); };
|
|
28527
28659
|
ApplicationModule.ɵmod = /*@__PURE__*/ ɵɵdefineNgModule({ type: ApplicationModule });
|
|
28528
|
-
ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({
|
|
28660
|
+
ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({});
|
|
28529
28661
|
(function () {
|
|
28530
28662
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationModule, [{
|
|
28531
|
-
type: NgModule
|
|
28532
|
-
args: [{ providers: APPLICATION_MODULE_PROVIDERS }]
|
|
28663
|
+
type: NgModule
|
|
28533
28664
|
}], function () { return [{ type: ApplicationRef }]; }, null);
|
|
28534
28665
|
})();
|
|
28535
28666
|
|
|
28667
|
+
/**
|
|
28668
|
+
* @license
|
|
28669
|
+
* Copyright Google LLC All Rights Reserved.
|
|
28670
|
+
*
|
|
28671
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
28672
|
+
* found in the LICENSE file at https://angular.io/license
|
|
28673
|
+
*/
|
|
28674
|
+
/** Coerces a value (typically a string) to a boolean. */
|
|
28675
|
+
function coerceToBoolean(value) {
|
|
28676
|
+
return typeof value === 'boolean' ? value : (value != null && value !== 'false');
|
|
28677
|
+
}
|
|
28678
|
+
|
|
28536
28679
|
/**
|
|
28537
28680
|
* @license
|
|
28538
28681
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -28691,5 +28834,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
28691
28834
|
* Generated bundle index. Do not edit.
|
|
28692
28835
|
*/
|
|
28693
28836
|
|
|
28694
|
-
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$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as 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, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as 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, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, asNativeElements, assertPlatform, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, 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, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, 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 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, ViewRef$1 as ɵViewRef, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getDebugNode as ɵgetDebugNode, getDebugNodeR2 as ɵgetDebugNodeR2, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, isBoundToModule as ɵisBoundToModule, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, publishDefaultGlobalUtils$1 as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, registerLocaleData as ɵregisterLocaleData, registerNgModuleType as ɵregisterNgModuleType, renderComponent 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, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵ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, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵ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, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵviewQuery };
|
|
28837
|
+
export { ANALYZE_FOR_ENTRY_COMPONENTS, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as 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, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as 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, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, asNativeElements, assertPlatform, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, 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, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LContext as ɵLContext, 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 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, ViewRef$1 as ɵViewRef, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, coerceToBoolean as ɵcoerceToBoolean, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getDebugNode as ɵgetDebugNode, getDebugNodeR2 as ɵgetDebugNodeR2, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, isBoundToModule as ɵisBoundToModule, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, publishDefaultGlobalUtils$1 as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, registerLocaleData as ɵregisterLocaleData, registerNgModuleType as ɵregisterNgModuleType, renderComponent 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, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵ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, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵ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, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵviewQuery };
|
|
28695
28838
|
//# sourceMappingURL=core.mjs.map
|