@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/fesm2020/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
|
*/
|
|
@@ -1172,6 +1172,7 @@ const DECLARATION_COMPONENT_VIEW = 16;
|
|
|
1172
1172
|
const DECLARATION_LCONTAINER = 17;
|
|
1173
1173
|
const PREORDER_HOOK_FLAGS = 18;
|
|
1174
1174
|
const QUERIES = 19;
|
|
1175
|
+
const ID = 20;
|
|
1175
1176
|
/**
|
|
1176
1177
|
* Size of LView's header. Necessary to adjust for it when setting slots.
|
|
1177
1178
|
*
|
|
@@ -1179,7 +1180,7 @@ const QUERIES = 19;
|
|
|
1179
1180
|
* instruction index into `LView` index. All other indexes should be in the `LView` index space and
|
|
1180
1181
|
* there should be no need to refer to `HEADER_OFFSET` anywhere else.
|
|
1181
1182
|
*/
|
|
1182
|
-
const HEADER_OFFSET =
|
|
1183
|
+
const HEADER_OFFSET = 21;
|
|
1183
1184
|
/**
|
|
1184
1185
|
* Converts `TViewType` into human readable text.
|
|
1185
1186
|
* Make sure this matches with `TViewType`
|
|
@@ -6170,6 +6171,75 @@ function getSanitizer() {
|
|
|
6170
6171
|
return lView && lView[SANITIZER];
|
|
6171
6172
|
}
|
|
6172
6173
|
|
|
6174
|
+
/**
|
|
6175
|
+
* @license
|
|
6176
|
+
* Copyright Google LLC All Rights Reserved.
|
|
6177
|
+
*
|
|
6178
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6179
|
+
* found in the LICENSE file at https://angular.io/license
|
|
6180
|
+
*/
|
|
6181
|
+
// Keeps track of the currently-active LViews.
|
|
6182
|
+
const TRACKED_LVIEWS = new Map();
|
|
6183
|
+
// Used for generating unique IDs for LViews.
|
|
6184
|
+
let uniqueIdCounter = 0;
|
|
6185
|
+
/** Starts tracking an LView and returns a unique ID that can be used for future lookups. */
|
|
6186
|
+
function registerLView(lView) {
|
|
6187
|
+
const id = uniqueIdCounter++;
|
|
6188
|
+
TRACKED_LVIEWS.set(id, lView);
|
|
6189
|
+
return id;
|
|
6190
|
+
}
|
|
6191
|
+
/** Gets an LView by its unique ID. */
|
|
6192
|
+
function getLViewById(id) {
|
|
6193
|
+
ngDevMode && assertNumber(id, 'ID used for LView lookup must be a number');
|
|
6194
|
+
return TRACKED_LVIEWS.get(id) || null;
|
|
6195
|
+
}
|
|
6196
|
+
/** Stops tracking an LView. */
|
|
6197
|
+
function unregisterLView(lView) {
|
|
6198
|
+
ngDevMode && assertNumber(lView[ID], 'Cannot stop tracking an LView that does not have an ID');
|
|
6199
|
+
TRACKED_LVIEWS.delete(lView[ID]);
|
|
6200
|
+
}
|
|
6201
|
+
|
|
6202
|
+
/**
|
|
6203
|
+
* @license
|
|
6204
|
+
* Copyright Google LLC All Rights Reserved.
|
|
6205
|
+
*
|
|
6206
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6207
|
+
* found in the LICENSE file at https://angular.io/license
|
|
6208
|
+
*/
|
|
6209
|
+
/**
|
|
6210
|
+
* The internal view context which is specific to a given DOM element, directive or
|
|
6211
|
+
* component instance. Each value in here (besides the LView and element node details)
|
|
6212
|
+
* can be present, null or undefined. If undefined then it implies the value has not been
|
|
6213
|
+
* looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
|
|
6214
|
+
*
|
|
6215
|
+
* Each value will get filled when the respective value is examined within the getContext
|
|
6216
|
+
* function. The component, element and each directive instance will share the same instance
|
|
6217
|
+
* of the context.
|
|
6218
|
+
*/
|
|
6219
|
+
class LContext {
|
|
6220
|
+
constructor(
|
|
6221
|
+
/**
|
|
6222
|
+
* ID of the component's parent view data.
|
|
6223
|
+
*/
|
|
6224
|
+
lViewId,
|
|
6225
|
+
/**
|
|
6226
|
+
* The index instance of the node.
|
|
6227
|
+
*/
|
|
6228
|
+
nodeIndex,
|
|
6229
|
+
/**
|
|
6230
|
+
* The instance of the DOM node that is attached to the lNode.
|
|
6231
|
+
*/
|
|
6232
|
+
native) {
|
|
6233
|
+
this.lViewId = lViewId;
|
|
6234
|
+
this.nodeIndex = nodeIndex;
|
|
6235
|
+
this.native = native;
|
|
6236
|
+
}
|
|
6237
|
+
/** Component's parent view data. */
|
|
6238
|
+
get lView() {
|
|
6239
|
+
return getLViewById(this.lViewId);
|
|
6240
|
+
}
|
|
6241
|
+
}
|
|
6242
|
+
|
|
6173
6243
|
/**
|
|
6174
6244
|
* @license
|
|
6175
6245
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6202,7 +6272,7 @@ function getLContext(target) {
|
|
|
6202
6272
|
if (mpValue) {
|
|
6203
6273
|
// only when it's an array is it considered an LView instance
|
|
6204
6274
|
// ... otherwise it's an already constructed LContext instance
|
|
6205
|
-
if (
|
|
6275
|
+
if (isLView(mpValue)) {
|
|
6206
6276
|
const lView = mpValue;
|
|
6207
6277
|
let nodeIndex;
|
|
6208
6278
|
let component = undefined;
|
|
@@ -6261,13 +6331,7 @@ function getLContext(target) {
|
|
|
6261
6331
|
while (parent = parent.parentNode) {
|
|
6262
6332
|
const parentContext = readPatchedData(parent);
|
|
6263
6333
|
if (parentContext) {
|
|
6264
|
-
|
|
6265
|
-
if (Array.isArray(parentContext)) {
|
|
6266
|
-
lView = parentContext;
|
|
6267
|
-
}
|
|
6268
|
-
else {
|
|
6269
|
-
lView = parentContext.lView;
|
|
6270
|
-
}
|
|
6334
|
+
const lView = Array.isArray(parentContext) ? parentContext : parentContext.lView;
|
|
6271
6335
|
// the edge of the app was also reached here through another means
|
|
6272
6336
|
// (maybe because the DOM was changed manually).
|
|
6273
6337
|
if (!lView) {
|
|
@@ -6290,14 +6354,7 @@ function getLContext(target) {
|
|
|
6290
6354
|
* Creates an empty instance of a `LContext` context
|
|
6291
6355
|
*/
|
|
6292
6356
|
function createLContext(lView, nodeIndex, native) {
|
|
6293
|
-
return
|
|
6294
|
-
lView,
|
|
6295
|
-
nodeIndex,
|
|
6296
|
-
native,
|
|
6297
|
-
component: undefined,
|
|
6298
|
-
directives: undefined,
|
|
6299
|
-
localRefs: undefined,
|
|
6300
|
-
};
|
|
6357
|
+
return new LContext(lView[ID], nodeIndex, native);
|
|
6301
6358
|
}
|
|
6302
6359
|
/**
|
|
6303
6360
|
* Takes a component instance and returns the view for that component.
|
|
@@ -6306,21 +6363,24 @@ function createLContext(lView, nodeIndex, native) {
|
|
|
6306
6363
|
* @returns The component's view
|
|
6307
6364
|
*/
|
|
6308
6365
|
function getComponentViewByInstance(componentInstance) {
|
|
6309
|
-
let
|
|
6310
|
-
let
|
|
6311
|
-
if (
|
|
6312
|
-
const
|
|
6313
|
-
|
|
6314
|
-
|
|
6366
|
+
let patchedData = readPatchedData(componentInstance);
|
|
6367
|
+
let lView;
|
|
6368
|
+
if (isLView(patchedData)) {
|
|
6369
|
+
const contextLView = patchedData;
|
|
6370
|
+
const nodeIndex = findViaComponent(contextLView, componentInstance);
|
|
6371
|
+
lView = getComponentLViewByIndex(nodeIndex, contextLView);
|
|
6372
|
+
const context = createLContext(contextLView, nodeIndex, lView[HOST]);
|
|
6315
6373
|
context.component = componentInstance;
|
|
6316
6374
|
attachPatchData(componentInstance, context);
|
|
6317
6375
|
attachPatchData(context.native, context);
|
|
6318
6376
|
}
|
|
6319
6377
|
else {
|
|
6320
|
-
const context =
|
|
6321
|
-
|
|
6378
|
+
const context = patchedData;
|
|
6379
|
+
const contextLView = context.lView;
|
|
6380
|
+
ngDevMode && assertLView(contextLView);
|
|
6381
|
+
lView = getComponentLViewByIndex(context.nodeIndex, contextLView);
|
|
6322
6382
|
}
|
|
6323
|
-
return
|
|
6383
|
+
return lView;
|
|
6324
6384
|
}
|
|
6325
6385
|
/**
|
|
6326
6386
|
* This property will be monkey-patched on elements, components and directives.
|
|
@@ -6332,7 +6392,10 @@ const MONKEY_PATCH_KEY_NAME = '__ngContext__';
|
|
|
6332
6392
|
*/
|
|
6333
6393
|
function attachPatchData(target, data) {
|
|
6334
6394
|
ngDevMode && assertDefined(target, 'Target expected');
|
|
6335
|
-
|
|
6395
|
+
// Only attach the ID of the view in order to avoid memory leaks (see #41047). We only do this
|
|
6396
|
+
// for `LView`, because we have control over when an `LView` is created and destroyed, whereas
|
|
6397
|
+
// we can't know when to remove an `LContext`.
|
|
6398
|
+
target[MONKEY_PATCH_KEY_NAME] = isLView(data) ? data[ID] : data;
|
|
6336
6399
|
}
|
|
6337
6400
|
/**
|
|
6338
6401
|
* Returns the monkey-patch value data present on the target (which could be
|
|
@@ -6340,12 +6403,13 @@ function attachPatchData(target, data) {
|
|
|
6340
6403
|
*/
|
|
6341
6404
|
function readPatchedData(target) {
|
|
6342
6405
|
ngDevMode && assertDefined(target, 'Target expected');
|
|
6343
|
-
|
|
6406
|
+
const data = target[MONKEY_PATCH_KEY_NAME];
|
|
6407
|
+
return (typeof data === 'number') ? getLViewById(data) : data || null;
|
|
6344
6408
|
}
|
|
6345
6409
|
function readPatchedLView(target) {
|
|
6346
6410
|
const value = readPatchedData(target);
|
|
6347
6411
|
if (value) {
|
|
6348
|
-
return
|
|
6412
|
+
return isLView(value) ? value : value.lView;
|
|
6349
6413
|
}
|
|
6350
6414
|
return null;
|
|
6351
6415
|
}
|
|
@@ -7292,6 +7356,8 @@ function cleanUpView(tView, lView) {
|
|
|
7292
7356
|
lQueries.detachView(tView);
|
|
7293
7357
|
}
|
|
7294
7358
|
}
|
|
7359
|
+
// Unregister the view once everything else has been cleaned up.
|
|
7360
|
+
unregisterLView(lView);
|
|
7295
7361
|
}
|
|
7296
7362
|
}
|
|
7297
7363
|
/** Removes listeners and unsubscribes from output subscriptions */
|
|
@@ -9072,6 +9138,9 @@ class LViewDebug {
|
|
|
9072
9138
|
get tHost() {
|
|
9073
9139
|
return this._raw_lView[T_HOST];
|
|
9074
9140
|
}
|
|
9141
|
+
get id() {
|
|
9142
|
+
return this._raw_lView[ID];
|
|
9143
|
+
}
|
|
9075
9144
|
get decls() {
|
|
9076
9145
|
return toLViewRange(this.tView, this._raw_lView, HEADER_OFFSET, this.tView.bindingStartIndex);
|
|
9077
9146
|
}
|
|
@@ -9316,6 +9385,7 @@ function createLView(parentLView, tView, context, flags, host, tHostNode, render
|
|
|
9316
9385
|
lView[SANITIZER] = sanitizer || parentLView && parentLView[SANITIZER] || null;
|
|
9317
9386
|
lView[INJECTOR$1] = injector || parentLView && parentLView[INJECTOR$1] || null;
|
|
9318
9387
|
lView[T_HOST] = tHostNode;
|
|
9388
|
+
lView[ID] = registerLView(lView);
|
|
9319
9389
|
ngDevMode &&
|
|
9320
9390
|
assertEqual(tView.type == 2 /* Embedded */ ? parentLView !== null : true, true, 'Embedded views must have parentLView');
|
|
9321
9391
|
lView[DECLARATION_COMPONENT_VIEW] =
|
|
@@ -10840,8 +10910,11 @@ function tickRootContext(rootContext) {
|
|
|
10840
10910
|
for (let i = 0; i < rootContext.components.length; i++) {
|
|
10841
10911
|
const rootComponent = rootContext.components[i];
|
|
10842
10912
|
const lView = readPatchedLView(rootComponent);
|
|
10843
|
-
|
|
10844
|
-
|
|
10913
|
+
// We might not have an `LView` if the component was destroyed.
|
|
10914
|
+
if (lView !== null) {
|
|
10915
|
+
const tView = lView[TVIEW];
|
|
10916
|
+
renderComponentOrTemplate(tView, lView, tView.template, rootComponent);
|
|
10917
|
+
}
|
|
10845
10918
|
}
|
|
10846
10919
|
}
|
|
10847
10920
|
function detectChangesInternal(tView, lView, context) {
|
|
@@ -11699,12 +11772,16 @@ Injector.__NG_ELEMENT_ID__ = -1 /* Injector */;
|
|
|
11699
11772
|
* @globalApi ng
|
|
11700
11773
|
*/
|
|
11701
11774
|
function getComponent$1(element) {
|
|
11702
|
-
assertDomElement(element);
|
|
11775
|
+
ngDevMode && assertDomElement(element);
|
|
11703
11776
|
const context = getLContext(element);
|
|
11704
11777
|
if (context === null)
|
|
11705
11778
|
return null;
|
|
11706
11779
|
if (context.component === undefined) {
|
|
11707
|
-
|
|
11780
|
+
const lView = context.lView;
|
|
11781
|
+
if (lView === null) {
|
|
11782
|
+
return null;
|
|
11783
|
+
}
|
|
11784
|
+
context.component = getComponentAtNodeIndex(context.nodeIndex, lView);
|
|
11708
11785
|
}
|
|
11709
11786
|
return context.component;
|
|
11710
11787
|
}
|
|
@@ -11723,7 +11800,8 @@ function getComponent$1(element) {
|
|
|
11723
11800
|
function getContext(element) {
|
|
11724
11801
|
assertDomElement(element);
|
|
11725
11802
|
const context = getLContext(element);
|
|
11726
|
-
|
|
11803
|
+
const lView = context ? context.lView : null;
|
|
11804
|
+
return lView === null ? null : lView[CONTEXT];
|
|
11727
11805
|
}
|
|
11728
11806
|
/**
|
|
11729
11807
|
* Retrieves the component instance whose view contains the DOM element.
|
|
@@ -11742,11 +11820,10 @@ function getContext(element) {
|
|
|
11742
11820
|
*/
|
|
11743
11821
|
function getOwningComponent(elementOrDir) {
|
|
11744
11822
|
const context = getLContext(elementOrDir);
|
|
11745
|
-
|
|
11823
|
+
let lView = context ? context.lView : null;
|
|
11824
|
+
if (lView === null)
|
|
11746
11825
|
return null;
|
|
11747
|
-
let lView = context.lView;
|
|
11748
11826
|
let parent;
|
|
11749
|
-
ngDevMode && assertLView(lView);
|
|
11750
11827
|
while (lView[TVIEW].type === 2 /* Embedded */ && (parent = getLViewParent(lView))) {
|
|
11751
11828
|
lView = parent;
|
|
11752
11829
|
}
|
|
@@ -11764,7 +11841,8 @@ function getOwningComponent(elementOrDir) {
|
|
|
11764
11841
|
* @globalApi ng
|
|
11765
11842
|
*/
|
|
11766
11843
|
function getRootComponents(elementOrDir) {
|
|
11767
|
-
|
|
11844
|
+
const lView = readPatchedLView(elementOrDir);
|
|
11845
|
+
return lView !== null ? [...getRootContext(lView).components] : [];
|
|
11768
11846
|
}
|
|
11769
11847
|
/**
|
|
11770
11848
|
* Retrieves an `Injector` associated with an element, component or directive instance.
|
|
@@ -11778,10 +11856,11 @@ function getRootComponents(elementOrDir) {
|
|
|
11778
11856
|
*/
|
|
11779
11857
|
function getInjector(elementOrDir) {
|
|
11780
11858
|
const context = getLContext(elementOrDir);
|
|
11781
|
-
|
|
11859
|
+
const lView = context ? context.lView : null;
|
|
11860
|
+
if (lView === null)
|
|
11782
11861
|
return Injector.NULL;
|
|
11783
|
-
const tNode =
|
|
11784
|
-
return new NodeInjector(tNode,
|
|
11862
|
+
const tNode = lView[TVIEW].data[context.nodeIndex];
|
|
11863
|
+
return new NodeInjector(tNode, lView);
|
|
11785
11864
|
}
|
|
11786
11865
|
/**
|
|
11787
11866
|
* Retrieve a set of injection tokens at a given DOM node.
|
|
@@ -11790,9 +11869,9 @@ function getInjector(elementOrDir) {
|
|
|
11790
11869
|
*/
|
|
11791
11870
|
function getInjectionTokens(element) {
|
|
11792
11871
|
const context = getLContext(element);
|
|
11793
|
-
|
|
11872
|
+
const lView = context ? context.lView : null;
|
|
11873
|
+
if (lView === null)
|
|
11794
11874
|
return [];
|
|
11795
|
-
const lView = context.lView;
|
|
11796
11875
|
const tView = lView[TVIEW];
|
|
11797
11876
|
const tNode = tView.data[context.nodeIndex];
|
|
11798
11877
|
const providerTokens = [];
|
|
@@ -11842,10 +11921,10 @@ function getDirectives(node) {
|
|
|
11842
11921
|
return [];
|
|
11843
11922
|
}
|
|
11844
11923
|
const context = getLContext(node);
|
|
11845
|
-
|
|
11924
|
+
const lView = context ? context.lView : null;
|
|
11925
|
+
if (lView === null) {
|
|
11846
11926
|
return [];
|
|
11847
11927
|
}
|
|
11848
|
-
const lView = context.lView;
|
|
11849
11928
|
const tView = lView[TVIEW];
|
|
11850
11929
|
const nodeIndex = context.nodeIndex;
|
|
11851
11930
|
if (!tView?.data[nodeIndex]) {
|
|
@@ -11905,7 +11984,11 @@ function getLocalRefs(target) {
|
|
|
11905
11984
|
if (context === null)
|
|
11906
11985
|
return {};
|
|
11907
11986
|
if (context.localRefs === undefined) {
|
|
11908
|
-
|
|
11987
|
+
const lView = context.lView;
|
|
11988
|
+
if (lView === null) {
|
|
11989
|
+
return {};
|
|
11990
|
+
}
|
|
11991
|
+
context.localRefs = discoverLocalRefs(lView, context.nodeIndex);
|
|
11909
11992
|
}
|
|
11910
11993
|
return context.localRefs || {};
|
|
11911
11994
|
}
|
|
@@ -11969,11 +12052,11 @@ function getRenderedText(component) {
|
|
|
11969
12052
|
* @globalApi ng
|
|
11970
12053
|
*/
|
|
11971
12054
|
function getListeners(element) {
|
|
11972
|
-
assertDomElement(element);
|
|
12055
|
+
ngDevMode && assertDomElement(element);
|
|
11973
12056
|
const lContext = getLContext(element);
|
|
11974
|
-
|
|
12057
|
+
const lView = lContext === null ? null : lContext.lView;
|
|
12058
|
+
if (lView === null)
|
|
11975
12059
|
return [];
|
|
11976
|
-
const lView = lContext.lView;
|
|
11977
12060
|
const tView = lView[TVIEW];
|
|
11978
12061
|
const lCleanup = lView[CLEANUP];
|
|
11979
12062
|
const tCleanup = tView.cleanup;
|
|
@@ -12024,10 +12107,10 @@ function getDebugNode$1(element) {
|
|
|
12024
12107
|
throw new Error('Expecting instance of DOM Element');
|
|
12025
12108
|
}
|
|
12026
12109
|
const lContext = getLContext(element);
|
|
12027
|
-
|
|
12110
|
+
const lView = lContext ? lContext.lView : null;
|
|
12111
|
+
if (lView === null) {
|
|
12028
12112
|
return null;
|
|
12029
12113
|
}
|
|
12030
|
-
const lView = lContext.lView;
|
|
12031
12114
|
const nodeIndex = lContext.nodeIndex;
|
|
12032
12115
|
if (nodeIndex !== -1) {
|
|
12033
12116
|
const valueInLView = lView[nodeIndex];
|
|
@@ -12052,6 +12135,7 @@ function getComponentLView(target) {
|
|
|
12052
12135
|
const lContext = getLContext(target);
|
|
12053
12136
|
const nodeIndx = lContext.nodeIndex;
|
|
12054
12137
|
const lView = lContext.lView;
|
|
12138
|
+
ngDevMode && assertLView(lView);
|
|
12055
12139
|
const componentLView = lView[nodeIndx];
|
|
12056
12140
|
ngDevMode && assertLView(componentLView);
|
|
12057
12141
|
return componentLView;
|
|
@@ -14506,6 +14590,7 @@ function elementStartFirstCreatePass(index, tView, lView, native, name, attrsInd
|
|
|
14506
14590
|
* @param name Name of the DOM Node
|
|
14507
14591
|
* @param attrsIndex Index of the element's attributes in the `consts` array.
|
|
14508
14592
|
* @param localRefsIndex Index of the element's local references in the `consts` array.
|
|
14593
|
+
* @returns This function returns itself so that it may be chained.
|
|
14509
14594
|
*
|
|
14510
14595
|
* Attributes and localRefs are passed as an array of strings where elements with an even index
|
|
14511
14596
|
* hold an attribute name and elements with an odd index hold an attribute value, ex.:
|
|
@@ -14557,9 +14642,11 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
|
|
|
14557
14642
|
if (localRefsIndex !== null) {
|
|
14558
14643
|
saveResolvedLocalsInData(lView, tNode);
|
|
14559
14644
|
}
|
|
14645
|
+
return ɵɵelementStart;
|
|
14560
14646
|
}
|
|
14561
14647
|
/**
|
|
14562
14648
|
* Mark the end of the element.
|
|
14649
|
+
* @returns This function returns itself so that it may be chained.
|
|
14563
14650
|
*
|
|
14564
14651
|
* @codeGenApi
|
|
14565
14652
|
*/
|
|
@@ -14590,6 +14677,7 @@ function ɵɵelementEnd() {
|
|
|
14590
14677
|
if (tNode.stylesWithoutHost != null && hasStyleInput(tNode)) {
|
|
14591
14678
|
setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.stylesWithoutHost, false);
|
|
14592
14679
|
}
|
|
14680
|
+
return ɵɵelementEnd;
|
|
14593
14681
|
}
|
|
14594
14682
|
/**
|
|
14595
14683
|
* Creates an empty element using {@link elementStart} and {@link elementEnd}
|
|
@@ -14598,12 +14686,14 @@ function ɵɵelementEnd() {
|
|
|
14598
14686
|
* @param name Name of the DOM Node
|
|
14599
14687
|
* @param attrsIndex Index of the element's attributes in the `consts` array.
|
|
14600
14688
|
* @param localRefsIndex Index of the element's local references in the `consts` array.
|
|
14689
|
+
* @returns This function returns itself so that it may be chained.
|
|
14601
14690
|
*
|
|
14602
14691
|
* @codeGenApi
|
|
14603
14692
|
*/
|
|
14604
14693
|
function ɵɵelement(index, name, attrsIndex, localRefsIndex) {
|
|
14605
14694
|
ɵɵelementStart(index, name, attrsIndex, localRefsIndex);
|
|
14606
14695
|
ɵɵelementEnd();
|
|
14696
|
+
return ɵɵelement;
|
|
14607
14697
|
}
|
|
14608
14698
|
function logUnknownElementError(tView, element, tNode, hasDirectives) {
|
|
14609
14699
|
const schemas = tView.schemas;
|
|
@@ -14672,6 +14762,7 @@ function elementContainerStartFirstCreatePass(index, tView, lView, attrsIndex, l
|
|
|
14672
14762
|
* @param index Index of the element in the LView array
|
|
14673
14763
|
* @param attrsIndex Index of the container attributes in the `consts` array.
|
|
14674
14764
|
* @param localRefsIndex Index of the container's local references in the `consts` array.
|
|
14765
|
+
* @returns This function returns itself so that it may be chained.
|
|
14675
14766
|
*
|
|
14676
14767
|
* Even if this instruction accepts a set of attributes no actual attribute values are propagated to
|
|
14677
14768
|
* the DOM (as a comment node can't have attributes). Attributes are here only for directive
|
|
@@ -14702,9 +14793,11 @@ function ɵɵelementContainerStart(index, attrsIndex, localRefsIndex) {
|
|
|
14702
14793
|
if (localRefsIndex != null) {
|
|
14703
14794
|
saveResolvedLocalsInData(lView, tNode);
|
|
14704
14795
|
}
|
|
14796
|
+
return ɵɵelementContainerStart;
|
|
14705
14797
|
}
|
|
14706
14798
|
/**
|
|
14707
14799
|
* Mark the end of the <ng-container>.
|
|
14800
|
+
* @returns This function returns itself so that it may be chained.
|
|
14708
14801
|
*
|
|
14709
14802
|
* @codeGenApi
|
|
14710
14803
|
*/
|
|
@@ -14726,6 +14819,7 @@ function ɵɵelementContainerEnd() {
|
|
|
14726
14819
|
tView.queries.elementEnd(currentTNode);
|
|
14727
14820
|
}
|
|
14728
14821
|
}
|
|
14822
|
+
return ɵɵelementContainerEnd;
|
|
14729
14823
|
}
|
|
14730
14824
|
/**
|
|
14731
14825
|
* Creates an empty logical container using {@link elementContainerStart}
|
|
@@ -14734,12 +14828,14 @@ function ɵɵelementContainerEnd() {
|
|
|
14734
14828
|
* @param index Index of the element in the LView array
|
|
14735
14829
|
* @param attrsIndex Index of the container attributes in the `consts` array.
|
|
14736
14830
|
* @param localRefsIndex Index of the container's local references in the `consts` array.
|
|
14831
|
+
* @returns This function returns itself so that it may be chained.
|
|
14737
14832
|
*
|
|
14738
14833
|
* @codeGenApi
|
|
14739
14834
|
*/
|
|
14740
14835
|
function ɵɵelementContainer(index, attrsIndex, localRefsIndex) {
|
|
14741
14836
|
ɵɵelementContainerStart(index, attrsIndex, localRefsIndex);
|
|
14742
14837
|
ɵɵelementContainerEnd();
|
|
14838
|
+
return ɵɵelementContainer;
|
|
14743
14839
|
}
|
|
14744
14840
|
|
|
14745
14841
|
/**
|
|
@@ -21090,7 +21186,7 @@ class Version {
|
|
|
21090
21186
|
/**
|
|
21091
21187
|
* @publicApi
|
|
21092
21188
|
*/
|
|
21093
|
-
const VERSION = new Version('14.0.0-next.
|
|
21189
|
+
const VERSION = new Version('14.0.0-next.4');
|
|
21094
21190
|
|
|
21095
21191
|
/**
|
|
21096
21192
|
* @license
|
|
@@ -21495,14 +21591,6 @@ function getNamespace(elementName) {
|
|
|
21495
21591
|
const name = elementName.toLowerCase();
|
|
21496
21592
|
return name === 'svg' ? SVG_NAMESPACE : (name === 'math' ? MATH_ML_NAMESPACE : null);
|
|
21497
21593
|
}
|
|
21498
|
-
/**
|
|
21499
|
-
* A change detection scheduler token for {@link RootContext}. This token is the default value used
|
|
21500
|
-
* for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
|
|
21501
|
-
*/
|
|
21502
|
-
const SCHEDULER = new InjectionToken('SCHEDULER_TOKEN', {
|
|
21503
|
-
providedIn: 'root',
|
|
21504
|
-
factory: () => defaultScheduler,
|
|
21505
|
-
});
|
|
21506
21594
|
function createChainedInjector(rootViewInjector, moduleInjector) {
|
|
21507
21595
|
return {
|
|
21508
21596
|
get: (token, notFoundValue, flags) => {
|
|
@@ -22841,11 +22929,29 @@ const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
|
|
|
22841
22929
|
componentFactoryOrType :
|
|
22842
22930
|
new ComponentFactory(getComponentDef(componentFactoryOrType));
|
|
22843
22931
|
const contextInjector = injector || this.parentInjector;
|
|
22844
|
-
|
|
22845
|
-
|
|
22846
|
-
//
|
|
22847
|
-
//
|
|
22848
|
-
|
|
22932
|
+
// If an `NgModuleRef` is not provided explicitly, try retrieving it from the DI tree.
|
|
22933
|
+
if (!ngModuleRef && componentFactory.ngModule == null) {
|
|
22934
|
+
// For the `ComponentFactory` case, entering this logic is very unlikely, since we expect that
|
|
22935
|
+
// an instance of a `ComponentFactory`, resolved via `ComponentFactoryResolver` would have an
|
|
22936
|
+
// `ngModule` field. This is possible in some test scenarios and potentially in some JIT-based
|
|
22937
|
+
// use-cases. For the `ComponentFactory` case we preserve backwards-compatibility and try
|
|
22938
|
+
// using a provided injector first, then fall back to the parent injector of this
|
|
22939
|
+
// `ViewContainerRef` instance.
|
|
22940
|
+
//
|
|
22941
|
+
// For the factory-less case, it's critical to establish a connection with the module
|
|
22942
|
+
// injector tree (by retrieving an instance of an `NgModuleRef` and accessing its injector),
|
|
22943
|
+
// so that a component can use DI tokens provided in MgModules. For this reason, we can not
|
|
22944
|
+
// rely on the provided injector, since it might be detached from the DI tree (for example, if
|
|
22945
|
+
// it was created via `Injector.create` without specifying a parent injector, or if an
|
|
22946
|
+
// injector is retrieved from an `NgModuleRef` created via `createNgModuleRef` using an
|
|
22947
|
+
// NgModule outside of a module tree). Instead, we always use `ViewContainerRef`'s parent
|
|
22948
|
+
// injector, which is normally connected to the DI tree, which includes module injector
|
|
22949
|
+
// subtree.
|
|
22950
|
+
const _injector = isComponentFactory ? contextInjector : this.parentInjector;
|
|
22951
|
+
// DO NOT REFACTOR. The code here used to have a `injector.get(NgModuleRef, null) ||
|
|
22952
|
+
// undefined` expression which seems to cause internal google apps to fail. This is documented
|
|
22953
|
+
// in the following internal bug issue: go/b/142967802
|
|
22954
|
+
const result = _injector.get(NgModuleRef$1, null);
|
|
22849
22955
|
if (result) {
|
|
22850
22956
|
ngModuleRef = result;
|
|
22851
22957
|
}
|
|
@@ -24362,7 +24468,10 @@ function directiveMetadata(type, metadata) {
|
|
|
24362
24468
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
24363
24469
|
exportAs: extractExportAs(metadata.exportAs),
|
|
24364
24470
|
providers: metadata.providers || null,
|
|
24365
|
-
viewQueries: extractQueriesMetadata(type, propMetadata, isViewQuery)
|
|
24471
|
+
viewQueries: extractQueriesMetadata(type, propMetadata, isViewQuery),
|
|
24472
|
+
// TODO(alxhub): pass through the standalone flag from the directive metadata once standalone
|
|
24473
|
+
// functionality is fully rolled out.
|
|
24474
|
+
isStandalone: false,
|
|
24366
24475
|
};
|
|
24367
24476
|
}
|
|
24368
24477
|
/**
|
|
@@ -24506,7 +24615,10 @@ function getPipeMetadata(type, meta) {
|
|
|
24506
24615
|
type: type,
|
|
24507
24616
|
name: type.name,
|
|
24508
24617
|
pipeName: meta.name,
|
|
24509
|
-
pure: meta.pure !== undefined ? meta.pure : true
|
|
24618
|
+
pure: meta.pure !== undefined ? meta.pure : true,
|
|
24619
|
+
// TODO(alxhub): pass through the standalone flag from the pipe metadata once standalone
|
|
24620
|
+
// functionality is fully rolled out.
|
|
24621
|
+
isStandalone: false,
|
|
24510
24622
|
};
|
|
24511
24623
|
}
|
|
24512
24624
|
|
|
@@ -24808,9 +24920,10 @@ class ApplicationInitStatus {
|
|
|
24808
24920
|
}
|
|
24809
24921
|
}
|
|
24810
24922
|
ApplicationInitStatus.ɵfac = function ApplicationInitStatus_Factory(t) { return new (t || ApplicationInitStatus)(ɵɵinject(APP_INITIALIZER, 8)); };
|
|
24811
|
-
ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac });
|
|
24923
|
+
ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac, providedIn: 'root' });
|
|
24812
24924
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationInitStatus, [{
|
|
24813
|
-
type: Injectable
|
|
24925
|
+
type: Injectable,
|
|
24926
|
+
args: [{ providedIn: 'root' }]
|
|
24814
24927
|
}], function () { return [{ type: undefined, decorators: [{
|
|
24815
24928
|
type: Inject,
|
|
24816
24929
|
args: [APP_INITIALIZER]
|
|
@@ -24836,7 +24949,10 @@ ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Appli
|
|
|
24836
24949
|
*
|
|
24837
24950
|
* @publicApi
|
|
24838
24951
|
*/
|
|
24839
|
-
const APP_ID = new InjectionToken('AppId'
|
|
24952
|
+
const APP_ID = new InjectionToken('AppId', {
|
|
24953
|
+
providedIn: 'root',
|
|
24954
|
+
factory: _appIdRandomProviderFactory,
|
|
24955
|
+
});
|
|
24840
24956
|
function _appIdRandomProviderFactory() {
|
|
24841
24957
|
return `${_randomChar()}${_randomChar()}${_randomChar()}`;
|
|
24842
24958
|
}
|
|
@@ -24879,6 +24995,15 @@ const APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');
|
|
|
24879
24995
|
* @publicApi
|
|
24880
24996
|
*/
|
|
24881
24997
|
const PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');
|
|
24998
|
+
// We keep this token here, rather than the animations package, so that modules that only care
|
|
24999
|
+
// about which animations module is loaded (e.g. the CDK) can retrieve it without having to
|
|
25000
|
+
// include extra dependencies. See #44970 for more context.
|
|
25001
|
+
/**
|
|
25002
|
+
* A [DI token](guide/glossary#di-token "DI token definition") that indicates which animations
|
|
25003
|
+
* module has been loaded.
|
|
25004
|
+
* @publicApi
|
|
25005
|
+
*/
|
|
25006
|
+
const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
|
|
24882
25007
|
|
|
24883
25008
|
/**
|
|
24884
25009
|
* @license
|
|
@@ -24911,6 +25036,33 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
|
|
|
24911
25036
|
* Use of this source code is governed by an MIT-style license that can be
|
|
24912
25037
|
* found in the LICENSE file at https://angular.io/license
|
|
24913
25038
|
*/
|
|
25039
|
+
/**
|
|
25040
|
+
* Work out the locale from the potential global properties.
|
|
25041
|
+
*
|
|
25042
|
+
* * Closure Compiler: use `goog.getLocale()`.
|
|
25043
|
+
* * Ivy enabled: use `$localize.locale`
|
|
25044
|
+
*/
|
|
25045
|
+
function getGlobalLocale() {
|
|
25046
|
+
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
|
|
25047
|
+
typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
|
|
25048
|
+
// * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
|
|
25049
|
+
// * In order to preserve backwards compatibility, we use Angular default value over
|
|
25050
|
+
// Closure Compiler's one.
|
|
25051
|
+
return goog.getLocale();
|
|
25052
|
+
}
|
|
25053
|
+
else {
|
|
25054
|
+
// KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
|
|
25055
|
+
// COMPILE-TIME INLINER.
|
|
25056
|
+
//
|
|
25057
|
+
// * During compile time inlining of translations the expression will be replaced
|
|
25058
|
+
// with a string literal that is the current locale. Other forms of this expression are not
|
|
25059
|
+
// guaranteed to be replaced.
|
|
25060
|
+
//
|
|
25061
|
+
// * During runtime translation evaluation, the developer is required to set `$localize.locale`
|
|
25062
|
+
// if required, or just to provide their own `LOCALE_ID` provider.
|
|
25063
|
+
return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
|
|
25064
|
+
}
|
|
25065
|
+
}
|
|
24914
25066
|
/**
|
|
24915
25067
|
* Provide this token to set the locale of your application.
|
|
24916
25068
|
* It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
|
|
@@ -24933,7 +25085,10 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
|
|
|
24933
25085
|
*
|
|
24934
25086
|
* @publicApi
|
|
24935
25087
|
*/
|
|
24936
|
-
const LOCALE_ID = new InjectionToken('LocaleId'
|
|
25088
|
+
const LOCALE_ID = new InjectionToken('LocaleId', {
|
|
25089
|
+
providedIn: 'root',
|
|
25090
|
+
factory: () => inject(LOCALE_ID, InjectFlags.Optional | InjectFlags.SkipSelf) || getGlobalLocale(),
|
|
25091
|
+
});
|
|
24937
25092
|
/**
|
|
24938
25093
|
* Provide this token to set the default currency code your application uses for
|
|
24939
25094
|
* CurrencyPipe when there is no currency code passed into it. This is only used by
|
|
@@ -24972,7 +25127,10 @@ const LOCALE_ID = new InjectionToken('LocaleId');
|
|
|
24972
25127
|
*
|
|
24973
25128
|
* @publicApi
|
|
24974
25129
|
*/
|
|
24975
|
-
const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode'
|
|
25130
|
+
const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode', {
|
|
25131
|
+
providedIn: 'root',
|
|
25132
|
+
factory: () => USD_CURRENCY_CODE,
|
|
25133
|
+
});
|
|
24976
25134
|
/**
|
|
24977
25135
|
* Use this token at bootstrap to provide the content of your translation file (`xtb`,
|
|
24978
25136
|
* `xlf` or `xlf2`) when you want to translate your application in another language.
|
|
@@ -25139,9 +25297,10 @@ class Compiler {
|
|
|
25139
25297
|
}
|
|
25140
25298
|
}
|
|
25141
25299
|
Compiler.ɵfac = function Compiler_Factory(t) { return new (t || Compiler)(); };
|
|
25142
|
-
Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac });
|
|
25300
|
+
Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac, providedIn: 'root' });
|
|
25143
25301
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Compiler, [{
|
|
25144
|
-
type: Injectable
|
|
25302
|
+
type: Injectable,
|
|
25303
|
+
args: [{ providedIn: 'root' }]
|
|
25145
25304
|
}], null, null); })();
|
|
25146
25305
|
/**
|
|
25147
25306
|
* Token to provide CompilerOptions in the platform injector.
|
|
@@ -26014,26 +26173,7 @@ class PlatformRef {
|
|
|
26014
26173
|
this._destroyed = false;
|
|
26015
26174
|
}
|
|
26016
26175
|
/**
|
|
26017
|
-
* Creates an instance of an `@NgModule` for the given platform
|
|
26018
|
-
*
|
|
26019
|
-
* @usageNotes
|
|
26020
|
-
*
|
|
26021
|
-
* The following example creates the NgModule for a browser platform.
|
|
26022
|
-
*
|
|
26023
|
-
* ```typescript
|
|
26024
|
-
* my_module.ts:
|
|
26025
|
-
*
|
|
26026
|
-
* @NgModule({
|
|
26027
|
-
* imports: [BrowserModule]
|
|
26028
|
-
* })
|
|
26029
|
-
* class MyModule {}
|
|
26030
|
-
*
|
|
26031
|
-
* main.ts:
|
|
26032
|
-
* import {MyModuleNgFactory} from './my_module.ngfactory';
|
|
26033
|
-
* import {platformBrowser} from '@angular/platform-browser';
|
|
26034
|
-
*
|
|
26035
|
-
* let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);
|
|
26036
|
-
* ```
|
|
26176
|
+
* Creates an instance of an `@NgModule` for the given platform.
|
|
26037
26177
|
*
|
|
26038
26178
|
* @deprecated Passing NgModule factories as the `PlatformRef.bootstrapModuleFactory` function
|
|
26039
26179
|
* argument is deprecated. Use the `PlatformRef.bootstrapModule` API instead.
|
|
@@ -26087,7 +26227,7 @@ class PlatformRef {
|
|
|
26087
26227
|
});
|
|
26088
26228
|
}
|
|
26089
26229
|
/**
|
|
26090
|
-
* Creates an instance of an `@NgModule` for a given platform
|
|
26230
|
+
* Creates an instance of an `@NgModule` for a given platform.
|
|
26091
26231
|
*
|
|
26092
26232
|
* @usageNotes
|
|
26093
26233
|
* ### Simple Example
|
|
@@ -26521,9 +26661,10 @@ class ApplicationRef {
|
|
|
26521
26661
|
}
|
|
26522
26662
|
}
|
|
26523
26663
|
ApplicationRef.ɵfac = function ApplicationRef_Factory(t) { return new (t || ApplicationRef)(ɵɵinject(NgZone), ɵɵinject(Injector), ɵɵinject(ErrorHandler), ɵɵinject(ComponentFactoryResolver$1), ɵɵinject(ApplicationInitStatus)); };
|
|
26524
|
-
ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac });
|
|
26664
|
+
ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac, providedIn: 'root' });
|
|
26525
26665
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
|
|
26526
|
-
type: Injectable
|
|
26666
|
+
type: Injectable,
|
|
26667
|
+
args: [{ providedIn: 'root' }]
|
|
26527
26668
|
}], function () { return [{ type: NgZone }, { type: Injector }, { type: ErrorHandler }, { type: ComponentFactoryResolver$1 }, { type: ApplicationInitStatus }]; }, null); })();
|
|
26528
26669
|
function remove(list, el) {
|
|
26529
26670
|
const index = list.indexOf(el);
|
|
@@ -26830,8 +26971,6 @@ var ng_module_factory_loader_impl = {};
|
|
|
26830
26971
|
* Use of this source code is governed by an MIT-style license that can be
|
|
26831
26972
|
* found in the LICENSE file at https://angular.io/license
|
|
26832
26973
|
*/
|
|
26833
|
-
// TODO(alxhub): recombine the interfaces and implementations here and move the docs back onto the
|
|
26834
|
-
// original classes.
|
|
26835
26974
|
/**
|
|
26836
26975
|
* @publicApi
|
|
26837
26976
|
*/
|
|
@@ -26847,47 +26986,92 @@ class DebugEventListener {
|
|
|
26847
26986
|
function asNativeElements(debugEls) {
|
|
26848
26987
|
return debugEls.map((el) => el.nativeElement);
|
|
26849
26988
|
}
|
|
26850
|
-
|
|
26989
|
+
/**
|
|
26990
|
+
* @publicApi
|
|
26991
|
+
*/
|
|
26992
|
+
class DebugNode {
|
|
26851
26993
|
constructor(nativeNode) {
|
|
26852
26994
|
this.nativeNode = nativeNode;
|
|
26853
26995
|
}
|
|
26996
|
+
/**
|
|
26997
|
+
* The `DebugElement` parent. Will be `null` if this is the root element.
|
|
26998
|
+
*/
|
|
26854
26999
|
get parent() {
|
|
26855
27000
|
const parent = this.nativeNode.parentNode;
|
|
26856
|
-
return parent ? new
|
|
27001
|
+
return parent ? new DebugElement(parent) : null;
|
|
26857
27002
|
}
|
|
27003
|
+
/**
|
|
27004
|
+
* The host dependency injector. For example, the root element's component instance injector.
|
|
27005
|
+
*/
|
|
26858
27006
|
get injector() {
|
|
26859
27007
|
return getInjector(this.nativeNode);
|
|
26860
27008
|
}
|
|
27009
|
+
/**
|
|
27010
|
+
* The element's own component instance, if it has one.
|
|
27011
|
+
*/
|
|
26861
27012
|
get componentInstance() {
|
|
26862
27013
|
const nativeElement = this.nativeNode;
|
|
26863
27014
|
return nativeElement &&
|
|
26864
27015
|
(getComponent$1(nativeElement) || getOwningComponent(nativeElement));
|
|
26865
27016
|
}
|
|
27017
|
+
/**
|
|
27018
|
+
* An object that provides parent context for this element. Often an ancestor component instance
|
|
27019
|
+
* that governs this element.
|
|
27020
|
+
*
|
|
27021
|
+
* When an element is repeated within *ngFor, the context is an `NgForOf` whose `$implicit`
|
|
27022
|
+
* property is the value of the row instance value. For example, the `hero` in `*ngFor="let hero
|
|
27023
|
+
* of heroes"`.
|
|
27024
|
+
*/
|
|
26866
27025
|
get context() {
|
|
26867
27026
|
return getComponent$1(this.nativeNode) || getContext(this.nativeNode);
|
|
26868
27027
|
}
|
|
27028
|
+
/**
|
|
27029
|
+
* The callbacks attached to the component's @Output properties and/or the element's event
|
|
27030
|
+
* properties.
|
|
27031
|
+
*/
|
|
26869
27032
|
get listeners() {
|
|
26870
27033
|
return getListeners(this.nativeNode).filter(listener => listener.type === 'dom');
|
|
26871
27034
|
}
|
|
27035
|
+
/**
|
|
27036
|
+
* Dictionary of objects associated with template local variables (e.g. #foo), keyed by the local
|
|
27037
|
+
* variable name.
|
|
27038
|
+
*/
|
|
26872
27039
|
get references() {
|
|
26873
27040
|
return getLocalRefs(this.nativeNode);
|
|
26874
27041
|
}
|
|
27042
|
+
/**
|
|
27043
|
+
* This component's injector lookup tokens. Includes the component itself plus the tokens that the
|
|
27044
|
+
* component lists in its providers metadata.
|
|
27045
|
+
*/
|
|
26875
27046
|
get providerTokens() {
|
|
26876
27047
|
return getInjectionTokens(this.nativeNode);
|
|
26877
27048
|
}
|
|
26878
27049
|
}
|
|
26879
|
-
|
|
27050
|
+
/**
|
|
27051
|
+
* @publicApi
|
|
27052
|
+
*
|
|
27053
|
+
* @see [Component testing scenarios](guide/testing-components-scenarios)
|
|
27054
|
+
* @see [Basics of testing components](guide/testing-components-basics)
|
|
27055
|
+
* @see [Testing utility APIs](guide/testing-utility-apis)
|
|
27056
|
+
*/
|
|
27057
|
+
class DebugElement extends DebugNode {
|
|
26880
27058
|
constructor(nativeNode) {
|
|
26881
27059
|
ngDevMode && assertDomNode(nativeNode);
|
|
26882
27060
|
super(nativeNode);
|
|
26883
27061
|
}
|
|
27062
|
+
/**
|
|
27063
|
+
* The underlying DOM element at the root of the component.
|
|
27064
|
+
*/
|
|
26884
27065
|
get nativeElement() {
|
|
26885
27066
|
return this.nativeNode.nodeType == Node.ELEMENT_NODE ? this.nativeNode : null;
|
|
26886
27067
|
}
|
|
27068
|
+
/**
|
|
27069
|
+
* The element tag name, if it is an element.
|
|
27070
|
+
*/
|
|
26887
27071
|
get name() {
|
|
26888
27072
|
const context = getLContext(this.nativeNode);
|
|
26889
|
-
|
|
26890
|
-
|
|
27073
|
+
const lView = context ? context.lView : null;
|
|
27074
|
+
if (lView !== null) {
|
|
26891
27075
|
const tData = lView[TVIEW].data;
|
|
26892
27076
|
const tNode = tData[context.nodeIndex];
|
|
26893
27077
|
return tNode.value;
|
|
@@ -26910,10 +27094,10 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26910
27094
|
*/
|
|
26911
27095
|
get properties() {
|
|
26912
27096
|
const context = getLContext(this.nativeNode);
|
|
26913
|
-
|
|
27097
|
+
const lView = context ? context.lView : null;
|
|
27098
|
+
if (lView === null) {
|
|
26914
27099
|
return {};
|
|
26915
27100
|
}
|
|
26916
|
-
const lView = context.lView;
|
|
26917
27101
|
const tData = lView[TVIEW].data;
|
|
26918
27102
|
const tNode = tData[context.nodeIndex];
|
|
26919
27103
|
const properties = {};
|
|
@@ -26924,6 +27108,9 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26924
27108
|
collectPropertyBindings(properties, tNode, lView, tData);
|
|
26925
27109
|
return properties;
|
|
26926
27110
|
}
|
|
27111
|
+
/**
|
|
27112
|
+
* A map of attribute names to attribute values for an element.
|
|
27113
|
+
*/
|
|
26927
27114
|
get attributes() {
|
|
26928
27115
|
const attributes = {};
|
|
26929
27116
|
const element = this.nativeElement;
|
|
@@ -26931,10 +27118,10 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26931
27118
|
return attributes;
|
|
26932
27119
|
}
|
|
26933
27120
|
const context = getLContext(element);
|
|
26934
|
-
|
|
27121
|
+
const lView = context ? context.lView : null;
|
|
27122
|
+
if (lView === null) {
|
|
26935
27123
|
return {};
|
|
26936
27124
|
}
|
|
26937
|
-
const lView = context.lView;
|
|
26938
27125
|
const tNodeAttrs = lView[TVIEW].data[context.nodeIndex].attrs;
|
|
26939
27126
|
const lowercaseTNodeAttrs = [];
|
|
26940
27127
|
// For debug nodes we take the element's attribute directly from the DOM since it allows us
|
|
@@ -26972,12 +27159,29 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26972
27159
|
}
|
|
26973
27160
|
return attributes;
|
|
26974
27161
|
}
|
|
27162
|
+
/**
|
|
27163
|
+
* The inline styles of the DOM element.
|
|
27164
|
+
*
|
|
27165
|
+
* Will be `null` if there is no `style` property on the underlying DOM element.
|
|
27166
|
+
*
|
|
27167
|
+
* @see [ElementCSSInlineStyle](https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style)
|
|
27168
|
+
*/
|
|
26975
27169
|
get styles() {
|
|
26976
27170
|
if (this.nativeElement && this.nativeElement.style) {
|
|
26977
27171
|
return this.nativeElement.style;
|
|
26978
27172
|
}
|
|
26979
27173
|
return {};
|
|
26980
27174
|
}
|
|
27175
|
+
/**
|
|
27176
|
+
* A map containing the class names on the element as keys.
|
|
27177
|
+
*
|
|
27178
|
+
* This map is derived from the `className` property of the DOM element.
|
|
27179
|
+
*
|
|
27180
|
+
* Note: The values of this object will always be `true`. The class key will not appear in the KV
|
|
27181
|
+
* object if it does not exist on the element.
|
|
27182
|
+
*
|
|
27183
|
+
* @see [Element.className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className)
|
|
27184
|
+
*/
|
|
26981
27185
|
get classes() {
|
|
26982
27186
|
const result = {};
|
|
26983
27187
|
const element = this.nativeElement;
|
|
@@ -26987,15 +27191,23 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
26987
27191
|
classes.forEach((value) => result[value] = true);
|
|
26988
27192
|
return result;
|
|
26989
27193
|
}
|
|
27194
|
+
/**
|
|
27195
|
+
* The `childNodes` of the DOM element as a `DebugNode` array.
|
|
27196
|
+
*
|
|
27197
|
+
* @see [Node.childNodes](https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes)
|
|
27198
|
+
*/
|
|
26990
27199
|
get childNodes() {
|
|
26991
27200
|
const childNodes = this.nativeNode.childNodes;
|
|
26992
27201
|
const children = [];
|
|
26993
27202
|
for (let i = 0; i < childNodes.length; i++) {
|
|
26994
27203
|
const element = childNodes[i];
|
|
26995
|
-
children.push(
|
|
27204
|
+
children.push(getDebugNode(element));
|
|
26996
27205
|
}
|
|
26997
27206
|
return children;
|
|
26998
27207
|
}
|
|
27208
|
+
/**
|
|
27209
|
+
* The immediate `DebugElement` children. Walk the tree by descending through `children`.
|
|
27210
|
+
*/
|
|
26999
27211
|
get children() {
|
|
27000
27212
|
const nativeElement = this.nativeElement;
|
|
27001
27213
|
if (!nativeElement)
|
|
@@ -27004,24 +27216,45 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ {
|
|
|
27004
27216
|
const children = [];
|
|
27005
27217
|
for (let i = 0; i < childNodes.length; i++) {
|
|
27006
27218
|
const element = childNodes[i];
|
|
27007
|
-
children.push(
|
|
27219
|
+
children.push(getDebugNode(element));
|
|
27008
27220
|
}
|
|
27009
27221
|
return children;
|
|
27010
27222
|
}
|
|
27223
|
+
/**
|
|
27224
|
+
* @returns the first `DebugElement` that matches the predicate at any depth in the subtree.
|
|
27225
|
+
*/
|
|
27011
27226
|
query(predicate) {
|
|
27012
27227
|
const results = this.queryAll(predicate);
|
|
27013
27228
|
return results[0] || null;
|
|
27014
27229
|
}
|
|
27230
|
+
/**
|
|
27231
|
+
* @returns All `DebugElement` matches for the predicate at any depth in the subtree.
|
|
27232
|
+
*/
|
|
27015
27233
|
queryAll(predicate) {
|
|
27016
27234
|
const matches = [];
|
|
27017
|
-
|
|
27235
|
+
_queryAll(this, predicate, matches, true);
|
|
27018
27236
|
return matches;
|
|
27019
27237
|
}
|
|
27238
|
+
/**
|
|
27239
|
+
* @returns All `DebugNode` matches for the predicate at any depth in the subtree.
|
|
27240
|
+
*/
|
|
27020
27241
|
queryAllNodes(predicate) {
|
|
27021
27242
|
const matches = [];
|
|
27022
|
-
|
|
27243
|
+
_queryAll(this, predicate, matches, false);
|
|
27023
27244
|
return matches;
|
|
27024
27245
|
}
|
|
27246
|
+
/**
|
|
27247
|
+
* Triggers the event by its name if there is a corresponding listener in the element's
|
|
27248
|
+
* `listeners` collection.
|
|
27249
|
+
*
|
|
27250
|
+
* If the event lacks a listener or there's some other problem, consider
|
|
27251
|
+
* calling `nativeElement.dispatchEvent(eventObject)`.
|
|
27252
|
+
*
|
|
27253
|
+
* @param eventName The name of the event to trigger
|
|
27254
|
+
* @param eventObj The _event object_ expected by the handler
|
|
27255
|
+
*
|
|
27256
|
+
* @see [Testing components scenarios](guide/testing-components-scenarios#trigger-event-handler)
|
|
27257
|
+
*/
|
|
27025
27258
|
triggerEventHandler(eventName, eventObj) {
|
|
27026
27259
|
const node = this.nativeNode;
|
|
27027
27260
|
const invokedListeners = [];
|
|
@@ -27080,11 +27313,12 @@ function isPrimitiveValue(value) {
|
|
|
27080
27313
|
return typeof value === 'string' || typeof value === 'boolean' || typeof value === 'number' ||
|
|
27081
27314
|
value === null;
|
|
27082
27315
|
}
|
|
27083
|
-
function
|
|
27316
|
+
function _queryAll(parentElement, predicate, matches, elementsOnly) {
|
|
27084
27317
|
const context = getLContext(parentElement.nativeNode);
|
|
27085
|
-
|
|
27086
|
-
|
|
27087
|
-
|
|
27318
|
+
const lView = context ? context.lView : null;
|
|
27319
|
+
if (lView !== null) {
|
|
27320
|
+
const parentTNode = lView[TVIEW].data[context.nodeIndex];
|
|
27321
|
+
_queryNodeChildren(parentTNode, lView, predicate, matches, elementsOnly, parentElement.nativeNode);
|
|
27088
27322
|
}
|
|
27089
27323
|
else {
|
|
27090
27324
|
// If the context is null, then `parentElement` was either created with Renderer2 or native DOM
|
|
@@ -27102,26 +27336,26 @@ function _queryAllR3(parentElement, predicate, matches, elementsOnly) {
|
|
|
27102
27336
|
* @param elementsOnly whether only elements should be searched
|
|
27103
27337
|
* @param rootNativeNode the root native node on which predicate should not be matched
|
|
27104
27338
|
*/
|
|
27105
|
-
function
|
|
27339
|
+
function _queryNodeChildren(tNode, lView, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27106
27340
|
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
27107
27341
|
const nativeNode = getNativeByTNodeOrNull(tNode, lView);
|
|
27108
27342
|
// For each type of TNode, specific logic is executed.
|
|
27109
27343
|
if (tNode.type & (3 /* AnyRNode */ | 8 /* ElementContainer */)) {
|
|
27110
27344
|
// Case 1: the TNode is an element
|
|
27111
27345
|
// The native node has to be checked.
|
|
27112
|
-
|
|
27346
|
+
_addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode);
|
|
27113
27347
|
if (isComponentHost(tNode)) {
|
|
27114
27348
|
// If the element is the host of a component, then all nodes in its view have to be processed.
|
|
27115
27349
|
// Note: the component's content (tNode.child) will be processed from the insertion points.
|
|
27116
27350
|
const componentView = getComponentLViewByIndex(tNode.index, lView);
|
|
27117
27351
|
if (componentView && componentView[TVIEW].firstChild) {
|
|
27118
|
-
|
|
27352
|
+
_queryNodeChildren(componentView[TVIEW].firstChild, componentView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27119
27353
|
}
|
|
27120
27354
|
}
|
|
27121
27355
|
else {
|
|
27122
27356
|
if (tNode.child) {
|
|
27123
27357
|
// Otherwise, its children have to be processed.
|
|
27124
|
-
|
|
27358
|
+
_queryNodeChildren(tNode.child, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27125
27359
|
}
|
|
27126
27360
|
// We also have to query the DOM directly in order to catch elements inserted through
|
|
27127
27361
|
// Renderer2. Note that this is __not__ optimal, because we're walking similar trees multiple
|
|
@@ -27137,16 +27371,16 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27137
27371
|
// processed.
|
|
27138
27372
|
const nodeOrContainer = lView[tNode.index];
|
|
27139
27373
|
if (isLContainer(nodeOrContainer)) {
|
|
27140
|
-
|
|
27374
|
+
_queryNodeChildrenInContainer(nodeOrContainer, predicate, matches, elementsOnly, rootNativeNode);
|
|
27141
27375
|
}
|
|
27142
27376
|
}
|
|
27143
27377
|
else if (tNode.type & 4 /* Container */) {
|
|
27144
27378
|
// Case 2: the TNode is a container
|
|
27145
27379
|
// The native node has to be checked.
|
|
27146
27380
|
const lContainer = lView[tNode.index];
|
|
27147
|
-
|
|
27381
|
+
_addQueryMatch(lContainer[NATIVE], predicate, matches, elementsOnly, rootNativeNode);
|
|
27148
27382
|
// Each view inside the container has to be processed.
|
|
27149
|
-
|
|
27383
|
+
_queryNodeChildrenInContainer(lContainer, predicate, matches, elementsOnly, rootNativeNode);
|
|
27150
27384
|
}
|
|
27151
27385
|
else if (tNode.type & 16 /* Projection */) {
|
|
27152
27386
|
// Case 3: the TNode is a projection insertion point (i.e. a <ng-content>).
|
|
@@ -27156,18 +27390,18 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27156
27390
|
const head = componentHost.projection[tNode.projection];
|
|
27157
27391
|
if (Array.isArray(head)) {
|
|
27158
27392
|
for (let nativeNode of head) {
|
|
27159
|
-
|
|
27393
|
+
_addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode);
|
|
27160
27394
|
}
|
|
27161
27395
|
}
|
|
27162
27396
|
else if (head) {
|
|
27163
27397
|
const nextLView = componentView[PARENT];
|
|
27164
27398
|
const nextTNode = nextLView[TVIEW].data[head.index];
|
|
27165
|
-
|
|
27399
|
+
_queryNodeChildren(nextTNode, nextLView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27166
27400
|
}
|
|
27167
27401
|
}
|
|
27168
27402
|
else if (tNode.child) {
|
|
27169
27403
|
// Case 4: the TNode is a view.
|
|
27170
|
-
|
|
27404
|
+
_queryNodeChildren(tNode.child, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27171
27405
|
}
|
|
27172
27406
|
// We don't want to go to the next sibling of the root node.
|
|
27173
27407
|
if (rootNativeNode !== nativeNode) {
|
|
@@ -27175,7 +27409,7 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
27175
27409
|
// link, depending on whether the current node has been projected.
|
|
27176
27410
|
const nextTNode = (tNode.flags & 4 /* isProjected */) ? tNode.projectionNext : tNode.next;
|
|
27177
27411
|
if (nextTNode) {
|
|
27178
|
-
|
|
27412
|
+
_queryNodeChildren(nextTNode, lView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27179
27413
|
}
|
|
27180
27414
|
}
|
|
27181
27415
|
}
|
|
@@ -27188,12 +27422,12 @@ function _queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly, ro
|
|
|
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 _queryNodeChildrenInContainer(lContainer, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27192
27426
|
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
27193
27427
|
const childView = lContainer[i];
|
|
27194
27428
|
const firstChild = childView[TVIEW].firstChild;
|
|
27195
27429
|
if (firstChild) {
|
|
27196
|
-
|
|
27430
|
+
_queryNodeChildren(firstChild, childView, predicate, matches, elementsOnly, rootNativeNode);
|
|
27197
27431
|
}
|
|
27198
27432
|
}
|
|
27199
27433
|
}
|
|
@@ -27206,7 +27440,7 @@ function _queryNodeChildrenInContainerR3(lContainer, predicate, matches, element
|
|
|
27206
27440
|
* @param elementsOnly whether only elements should be searched
|
|
27207
27441
|
* @param rootNativeNode the root native node on which predicate should not be matched
|
|
27208
27442
|
*/
|
|
27209
|
-
function
|
|
27443
|
+
function _addQueryMatch(nativeNode, predicate, matches, elementsOnly, rootNativeNode) {
|
|
27210
27444
|
if (rootNativeNode !== nativeNode) {
|
|
27211
27445
|
const debugNode = getDebugNode(nativeNode);
|
|
27212
27446
|
if (!debugNode) {
|
|
@@ -27215,7 +27449,7 @@ function _addQueryMatchR3(nativeNode, predicate, matches, elementsOnly, rootNati
|
|
|
27215
27449
|
// Type of the "predicate and "matches" array are set based on the value of
|
|
27216
27450
|
// the "elementsOnly" parameter. TypeScript is not able to properly infer these
|
|
27217
27451
|
// types with generics, so we manually cast the parameters accordingly.
|
|
27218
|
-
if (elementsOnly && debugNode instanceof
|
|
27452
|
+
if (elementsOnly && (debugNode instanceof DebugElement) && predicate(debugNode) &&
|
|
27219
27453
|
matches.indexOf(debugNode) === -1) {
|
|
27220
27454
|
matches.push(debugNode);
|
|
27221
27455
|
}
|
|
@@ -27240,7 +27474,7 @@ function _queryNativeNodeDescendants(parentNode, predicate, matches, elementsOnl
|
|
|
27240
27474
|
const node = nodes[i];
|
|
27241
27475
|
const debugNode = getDebugNode(node);
|
|
27242
27476
|
if (debugNode) {
|
|
27243
|
-
if (elementsOnly && debugNode instanceof
|
|
27477
|
+
if (elementsOnly && (debugNode instanceof DebugElement) && predicate(debugNode) &&
|
|
27244
27478
|
matches.indexOf(debugNode) === -1) {
|
|
27245
27479
|
matches.push(debugNode);
|
|
27246
27480
|
}
|
|
@@ -27281,25 +27515,24 @@ function collectPropertyBindings(properties, tNode, lView, tData) {
|
|
|
27281
27515
|
// Need to keep the nodes in a global Map so that multiple angular apps are supported.
|
|
27282
27516
|
const _nativeNodeToDebugNode = new Map();
|
|
27283
27517
|
const NG_DEBUG_PROPERTY = '__ng_debug__';
|
|
27284
|
-
|
|
27518
|
+
/**
|
|
27519
|
+
* @publicApi
|
|
27520
|
+
*/
|
|
27521
|
+
function getDebugNode(nativeNode) {
|
|
27285
27522
|
if (nativeNode instanceof Node) {
|
|
27286
27523
|
if (!(nativeNode.hasOwnProperty(NG_DEBUG_PROPERTY))) {
|
|
27287
27524
|
nativeNode[NG_DEBUG_PROPERTY] = nativeNode.nodeType == Node.ELEMENT_NODE ?
|
|
27288
|
-
new
|
|
27289
|
-
new
|
|
27525
|
+
new DebugElement(nativeNode) :
|
|
27526
|
+
new DebugNode(nativeNode);
|
|
27290
27527
|
}
|
|
27291
27528
|
return nativeNode[NG_DEBUG_PROPERTY];
|
|
27292
27529
|
}
|
|
27293
27530
|
return null;
|
|
27294
27531
|
}
|
|
27295
|
-
|
|
27296
|
-
|
|
27297
|
-
*/
|
|
27298
|
-
const getDebugNode = getDebugNode__POST_R3__;
|
|
27299
|
-
function getDebugNodeR2__POST_R3__(_nativeNode) {
|
|
27532
|
+
// TODO: cleanup all references to this function and remove it.
|
|
27533
|
+
function getDebugNodeR2(_nativeNode) {
|
|
27300
27534
|
return null;
|
|
27301
27535
|
}
|
|
27302
|
-
const getDebugNodeR2 = getDebugNodeR2__POST_R3__;
|
|
27303
27536
|
function getAllDebugNodes() {
|
|
27304
27537
|
return Array.from(_nativeNodeToDebugNode.values());
|
|
27305
27538
|
}
|
|
@@ -27309,14 +27542,6 @@ function indexDebugNode(node) {
|
|
|
27309
27542
|
function removeDebugNodeFromIndex(node) {
|
|
27310
27543
|
_nativeNodeToDebugNode.delete(node.nativeNode);
|
|
27311
27544
|
}
|
|
27312
|
-
/**
|
|
27313
|
-
* @publicApi
|
|
27314
|
-
*/
|
|
27315
|
-
const DebugNode = DebugNode__POST_R3__;
|
|
27316
|
-
/**
|
|
27317
|
-
* @publicApi
|
|
27318
|
-
*/
|
|
27319
|
-
const DebugElement = DebugElement__POST_R3__;
|
|
27320
27545
|
|
|
27321
27546
|
/**
|
|
27322
27547
|
* @license
|
|
@@ -28444,96 +28669,10 @@ const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDER
|
|
|
28444
28669
|
* Use of this source code is governed by an MIT-style license that can be
|
|
28445
28670
|
* found in the LICENSE file at https://angular.io/license
|
|
28446
28671
|
*/
|
|
28447
|
-
function _iterableDiffersFactory() {
|
|
28448
|
-
return defaultIterableDiffers;
|
|
28449
|
-
}
|
|
28450
|
-
function _keyValueDiffersFactory() {
|
|
28451
|
-
return defaultKeyValueDiffers;
|
|
28452
|
-
}
|
|
28453
|
-
function _localeFactory(locale) {
|
|
28454
|
-
return locale || getGlobalLocale();
|
|
28455
|
-
}
|
|
28456
28672
|
/**
|
|
28457
|
-
* Work out the locale from the potential global properties.
|
|
28458
|
-
*
|
|
28459
|
-
* * Closure Compiler: use `goog.getLocale()`.
|
|
28460
|
-
* * Ivy enabled: use `$localize.locale`
|
|
28461
|
-
*/
|
|
28462
|
-
function getGlobalLocale() {
|
|
28463
|
-
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
|
|
28464
|
-
typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
|
|
28465
|
-
// * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
|
|
28466
|
-
// * In order to preserve backwards compatibility, we use Angular default value over
|
|
28467
|
-
// Closure Compiler's one.
|
|
28468
|
-
return goog.getLocale();
|
|
28469
|
-
}
|
|
28470
|
-
else {
|
|
28471
|
-
// KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
|
|
28472
|
-
// COMPILE-TIME INLINER.
|
|
28473
|
-
//
|
|
28474
|
-
// * During compile time inlining of translations the expression will be replaced
|
|
28475
|
-
// with a string literal that is the current locale. Other forms of this expression are not
|
|
28476
|
-
// guaranteed to be replaced.
|
|
28477
|
-
//
|
|
28478
|
-
// * During runtime translation evaluation, the developer is required to set `$localize.locale`
|
|
28479
|
-
// if required, or just to provide their own `LOCALE_ID` provider.
|
|
28480
|
-
return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
|
|
28481
|
-
}
|
|
28482
|
-
}
|
|
28483
|
-
/**
|
|
28484
|
-
* A built-in [dependency injection token](guide/glossary#di-token)
|
|
28485
|
-
* that is used to configure the root injector for bootstrapping.
|
|
28486
|
-
*/
|
|
28487
|
-
const APPLICATION_MODULE_PROVIDERS = [
|
|
28488
|
-
{
|
|
28489
|
-
provide: ApplicationRef,
|
|
28490
|
-
useClass: ApplicationRef,
|
|
28491
|
-
deps: [NgZone, Injector, ErrorHandler, ComponentFactoryResolver$1, ApplicationInitStatus]
|
|
28492
|
-
},
|
|
28493
|
-
{ provide: SCHEDULER, deps: [NgZone], useFactory: zoneSchedulerFactory },
|
|
28494
|
-
{
|
|
28495
|
-
provide: ApplicationInitStatus,
|
|
28496
|
-
useClass: ApplicationInitStatus,
|
|
28497
|
-
deps: [[new Optional(), APP_INITIALIZER]]
|
|
28498
|
-
},
|
|
28499
|
-
{ provide: Compiler, useClass: Compiler, deps: [] },
|
|
28500
|
-
APP_ID_RANDOM_PROVIDER,
|
|
28501
|
-
{ provide: IterableDiffers, useFactory: _iterableDiffersFactory, deps: [] },
|
|
28502
|
-
{ provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory, deps: [] },
|
|
28503
|
-
{
|
|
28504
|
-
provide: LOCALE_ID,
|
|
28505
|
-
useFactory: _localeFactory,
|
|
28506
|
-
deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]
|
|
28507
|
-
},
|
|
28508
|
-
{ provide: DEFAULT_CURRENCY_CODE, useValue: USD_CURRENCY_CODE },
|
|
28509
|
-
];
|
|
28510
|
-
/**
|
|
28511
|
-
* Schedule work at next available slot.
|
|
28512
|
-
*
|
|
28513
|
-
* In Ivy this is just `requestAnimationFrame`. For compatibility reasons when bootstrapped
|
|
28514
|
-
* using `platformRef.bootstrap` we need to use `NgZone.onStable` as the scheduling mechanism.
|
|
28515
|
-
* This overrides the scheduling mechanism in Ivy to `NgZone.onStable`.
|
|
28516
|
-
*
|
|
28517
|
-
* @param ngZone NgZone to use for scheduling.
|
|
28518
|
-
*/
|
|
28519
|
-
function zoneSchedulerFactory(ngZone) {
|
|
28520
|
-
let queue = [];
|
|
28521
|
-
ngZone.onStable.subscribe(() => {
|
|
28522
|
-
while (queue.length) {
|
|
28523
|
-
queue.pop()();
|
|
28524
|
-
}
|
|
28525
|
-
});
|
|
28526
|
-
return function (fn) {
|
|
28527
|
-
queue.push(fn);
|
|
28528
|
-
};
|
|
28529
|
-
}
|
|
28530
|
-
/**
|
|
28531
|
-
* Configures the root injector for an app with
|
|
28532
|
-
* providers of `@angular/core` dependencies that `ApplicationRef` needs
|
|
28533
|
-
* to bootstrap components.
|
|
28534
|
-
*
|
|
28535
28673
|
* Re-exported by `BrowserModule`, which is included automatically in the root
|
|
28536
|
-
* `AppModule` when you create a new app with the CLI `new` command.
|
|
28674
|
+
* `AppModule` when you create a new app with the CLI `new` command. Eagerly injects
|
|
28675
|
+
* `ApplicationRef` to instantiate it.
|
|
28537
28676
|
*
|
|
28538
28677
|
* @publicApi
|
|
28539
28678
|
*/
|
|
@@ -28543,12 +28682,23 @@ class ApplicationModule {
|
|
|
28543
28682
|
}
|
|
28544
28683
|
ApplicationModule.ɵfac = function ApplicationModule_Factory(t) { return new (t || ApplicationModule)(ɵɵinject(ApplicationRef)); };
|
|
28545
28684
|
ApplicationModule.ɵmod = /*@__PURE__*/ ɵɵdefineNgModule({ type: ApplicationModule });
|
|
28546
|
-
ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({
|
|
28685
|
+
ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({});
|
|
28547
28686
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationModule, [{
|
|
28548
|
-
type: NgModule
|
|
28549
|
-
args: [{ providers: APPLICATION_MODULE_PROVIDERS }]
|
|
28687
|
+
type: NgModule
|
|
28550
28688
|
}], function () { return [{ type: ApplicationRef }]; }, null); })();
|
|
28551
28689
|
|
|
28690
|
+
/**
|
|
28691
|
+
* @license
|
|
28692
|
+
* Copyright Google LLC All Rights Reserved.
|
|
28693
|
+
*
|
|
28694
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
28695
|
+
* found in the LICENSE file at https://angular.io/license
|
|
28696
|
+
*/
|
|
28697
|
+
/** Coerces a value (typically a string) to a boolean. */
|
|
28698
|
+
function coerceToBoolean(value) {
|
|
28699
|
+
return typeof value === 'boolean' ? value : (value != null && value !== 'false');
|
|
28700
|
+
}
|
|
28701
|
+
|
|
28552
28702
|
/**
|
|
28553
28703
|
* @license
|
|
28554
28704
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -28706,5 +28856,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
28706
28856
|
* Generated bundle index. Do not edit.
|
|
28707
28857
|
*/
|
|
28708
28858
|
|
|
28709
|
-
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 };
|
|
28859
|
+
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 };
|
|
28710
28860
|
//# sourceMappingURL=core.mjs.map
|