@angular/core 20.0.0 → 20.0.2
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/api.d-B0vztftH.d.ts +1 -1
- package/chrome_dev_tools_performance.d-DvzAxqBc.d.ts +1 -1
- package/{discovery.d-DZNIp-Fw.d.ts → discovery.d-C5dkZ8lJ.d.ts} +8 -9
- package/event_dispatcher.d-BReQpZfC.d.ts +1 -1
- package/fesm2022/attribute-BWp59EjE.mjs +1 -1
- package/fesm2022/attribute-BWp59EjE.mjs.map +1 -1
- package/fesm2022/core.mjs +15 -14
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/{debug_node-Dn-GvQJo.mjs → debug_node-JnOYh9kg.mjs} +65 -45
- package/fesm2022/debug_node-JnOYh9kg.mjs.map +1 -0
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/di.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +93 -2
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +4 -4
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/{resource-BPCh38bN.mjs → resource-BarKSp_3.mjs} +8 -6
- package/fesm2022/resource-BarKSp_3.mjs.map +1 -0
- package/fesm2022/{root_effect_scheduler-0BxwqIgm.mjs → root_effect_scheduler-DCy1y1b8.mjs} +20 -14
- package/fesm2022/root_effect_scheduler-DCy1y1b8.mjs.map +1 -0
- package/fesm2022/rxjs-interop.mjs +17 -9
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/{signal-ePSl6jXn.mjs → signal-nCiHhWf6.mjs} +4 -12
- package/fesm2022/signal-nCiHhWf6.mjs.map +1 -0
- package/fesm2022/testing.mjs +4 -4
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/{untracked-2ouAFbCz.mjs → untracked-DmD_2MlC.mjs} +3 -3
- package/fesm2022/untracked-DmD_2MlC.mjs.map +1 -0
- package/fesm2022/weak_ref-BaIq-pgY.mjs +1 -1
- package/fesm2022/weak_ref-BaIq-pgY.mjs.map +1 -1
- package/graph.d-BcIOep_B.d.ts +1 -1
- package/index.d.ts +21 -16
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +3 -3
- package/rxjs-interop/index.d.ts +2 -2
- package/schematics/bundles/{apply_import_manager-Bqnvtho4.cjs → apply_import_manager-DT15wSJs.cjs} +3 -3
- package/schematics/bundles/{compiler-Dl11rH6-.cjs → checker-Bu1Wu4f7.cjs} +18350 -336
- package/schematics/bundles/cleanup-unused-imports.cjs +12 -9
- package/schematics/bundles/{change_tracker-DaCWdziV.cjs → compiler_host-C_4Iw5UD.cjs} +121 -3
- package/schematics/bundles/control-flow-migration.cjs +46 -25
- package/schematics/bundles/document-core.cjs +5 -6
- package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
- package/schematics/bundles/{index-CYxAVSJC.cjs → index-CAM7Xiu7.cjs} +29 -30
- package/schematics/bundles/{index-DPvX-lSh.cjs → index-CCX_cTPD.cjs} +516 -517
- package/schematics/bundles/inject-flags.cjs +5 -6
- package/schematics/bundles/inject-migration.cjs +5 -7
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-DWUePVh6.cjs → migrate_ts_type_references-DSqmdRpG.cjs} +5 -6
- package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +7 -8
- package/schematics/bundles/{project_paths-BPBAn_A2.cjs → project_paths-BjQra9mv.cjs} +3 -4
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +5 -7
- package/schematics/bundles/self-closing-tags-migration.cjs +9 -10
- package/schematics/bundles/signal-input-migration.cjs +7 -8
- package/schematics/bundles/signal-queries-migration.cjs +13 -14
- package/schematics/bundles/signals.cjs +7 -8
- package/schematics/bundles/standalone-migration.cjs +9 -11
- package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
- package/schematics/bundles/test-bed-get.cjs +4 -5
- package/schematics/collection.json +6 -0
- package/schematics/migrations/control-flow-migration/schema.json +20 -0
- package/{signal.d-D6VJ67xi.d.ts → signal.d-BcmOdASA.d.ts} +3 -7
- package/testing/index.d.ts +3 -3
- package/weak_ref.d-eGOEP9S1.d.ts +1 -1
- package/fesm2022/debug_node-Dn-GvQJo.mjs.map +0 -1
- package/fesm2022/resource-BPCh38bN.mjs.map +0 -1
- package/fesm2022/root_effect_scheduler-0BxwqIgm.mjs.map +0 -1
- package/fesm2022/signal-ePSl6jXn.mjs.map +0 -1
- package/fesm2022/untracked-2ouAFbCz.mjs.map +0 -1
- package/schematics/bundles/checker-BHgMyU8j.cjs +0 -17996
- package/schematics/bundles/compiler_host-CAfDJO3W.cjs +0 -129
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.0.
|
|
2
|
+
* @license Angular v20.0.2
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global,
|
|
8
|
-
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './signal-
|
|
7
|
+
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertFirstCreatePass, assertDefined, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, throwCyclicDependencyError, stringifyForError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, formatRuntimeError, resetPreOrderHookFlags, PARENT, RENDERER, HYDRATION, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, assertNotSame, setCurrentDirectiveIndex, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, getCurrentDirectiveIndex, unwrapLView, isCreationMode, assertNotReactive, enterView, QUERIES, leaveView, assertLContainer, DECLARATION_LCONTAINER, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, CONTAINER_HEADER_OFFSET, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, setCurrentTNode, getCurrentParentTNode, getCurrentTNodePlaceholderOk, isCurrentTNodeParent, isInSkipHydrationBlock as isInSkipHydrationBlock$1, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, isDirectiveHost, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, ChangeDetectionScheduler, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, wasLastNodeCreated, lastNodeWasCreated, getBindingsEnabled, isInInjectionContext, DestroyRef, PendingTasksInternal, noop, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, ViewContext, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, ENVIRONMENT_INITIALIZER, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isSignal, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasks, getBindingIndex, getElementDepthCount, increaseElementDepthCount, setCurrentTNodeAsNotParent, assertHasParent, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, isWritableSignal, store, providerToFactory, emitProviderConfiguredEvent, isClassProvider, getBindingRoot, NG_COMP_DEF, ɵɵresetView as __resetView, ɵɵnamespaceHTML as __namespaceHTML, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceSVG as __namespaceSVG, ɵɵenableBindings as __enableBindings, ɵɵdisableBindings as __disableBindings, ɵɵrestoreView as __restoreView, forwardRef, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, ZONELESS_SCHEDULER_DISABLED, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, getNativeByTNodeOrNull } from './root_effect_scheduler-DCy1y1b8.mjs';
|
|
8
|
+
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './signal-nCiHhWf6.mjs';
|
|
9
9
|
import { Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
11
11
|
import { map } from 'rxjs/operators';
|
|
@@ -2435,12 +2435,10 @@ function symbolIterator() {
|
|
|
2435
2435
|
*
|
|
2436
2436
|
* Implements an iterable interface, therefore it can be used in both ES6
|
|
2437
2437
|
* javascript `for (var i of items)` loops as well as in Angular templates with
|
|
2438
|
-
*
|
|
2439
|
-
*
|
|
2440
|
-
* Changes can be observed by subscribing to the changes `Observable`.
|
|
2441
|
-
*
|
|
2442
|
-
* NOTE: In the future this class will implement an `Observable` interface.
|
|
2438
|
+
* `@for(i of myList; track $index)`.
|
|
2443
2439
|
*
|
|
2440
|
+
* Changes can be observed by subscribing to the `changes` `Observable`.
|
|
2441
|
+
* *
|
|
2444
2442
|
* @usageNotes
|
|
2445
2443
|
* ### Example
|
|
2446
2444
|
* ```ts
|
|
@@ -7752,7 +7750,7 @@ function renderView(tView, lView, context) {
|
|
|
7752
7750
|
throw error;
|
|
7753
7751
|
}
|
|
7754
7752
|
finally {
|
|
7755
|
-
lView[FLAGS] &=
|
|
7753
|
+
lView[FLAGS] &= ~4 /* LViewFlags.CreationMode */;
|
|
7756
7754
|
leaveView();
|
|
7757
7755
|
}
|
|
7758
7756
|
}
|
|
@@ -8867,7 +8865,10 @@ function refreshView(tView, lView, templateFn, context) {
|
|
|
8867
8865
|
else if (getActiveConsumer() === null) {
|
|
8868
8866
|
// If the current view should not have a reactive consumer but we don't have an active consumer,
|
|
8869
8867
|
// we still need to create a temporary consumer to track any signal reads in this template.
|
|
8870
|
-
// This is a rare case that can happen with
|
|
8868
|
+
// This is a rare case that can happen with
|
|
8869
|
+
// - `viewContainerRef.createEmbeddedView(...).detectChanges()`.
|
|
8870
|
+
// - `viewContainerRef.createEmbeddedView(...)` without any other dirty marking on the parent,
|
|
8871
|
+
// flagging the parent component for traversal but not triggering a full `refreshView`.
|
|
8871
8872
|
// This temporary consumer marks the first parent that _should_ have a consumer for refresh.
|
|
8872
8873
|
// Once that refresh happens, the signals will be tracked in the parent consumer and we can destroy
|
|
8873
8874
|
// the temporary one.
|
|
@@ -9102,21 +9103,28 @@ function detectChangesInView(lView, mode) {
|
|
|
9102
9103
|
if (consumer) {
|
|
9103
9104
|
consumer.dirty = false;
|
|
9104
9105
|
}
|
|
9105
|
-
lView[FLAGS] &=
|
|
9106
|
+
lView[FLAGS] &= ~(8192 /* LViewFlags.HasChildViewsToRefresh */ | 1024 /* LViewFlags.RefreshView */);
|
|
9106
9107
|
if (shouldRefreshView) {
|
|
9107
9108
|
refreshView(tView, lView, tView.template, lView[CONTEXT]);
|
|
9108
9109
|
}
|
|
9109
9110
|
else if (flags & 8192 /* LViewFlags.HasChildViewsToRefresh */) {
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9111
|
+
// Set active consumer to null to avoid inheriting an improper reactive context
|
|
9112
|
+
const prevConsumer = setActiveConsumer(null);
|
|
9113
|
+
try {
|
|
9114
|
+
if (!isInCheckNoChangesPass) {
|
|
9115
|
+
runEffectsInView(lView);
|
|
9116
|
+
}
|
|
9117
|
+
detectChangesInEmbeddedViews(lView, 1 /* ChangeDetectionMode.Targeted */);
|
|
9118
|
+
const components = tView.components;
|
|
9119
|
+
if (components !== null) {
|
|
9120
|
+
detectChangesInChildComponents(lView, components, 1 /* ChangeDetectionMode.Targeted */);
|
|
9121
|
+
}
|
|
9122
|
+
if (!isInCheckNoChangesPass) {
|
|
9123
|
+
addAfterRenderSequencesForView(lView);
|
|
9124
|
+
}
|
|
9117
9125
|
}
|
|
9118
|
-
|
|
9119
|
-
|
|
9126
|
+
finally {
|
|
9127
|
+
setActiveConsumer(prevConsumer);
|
|
9120
9128
|
}
|
|
9121
9129
|
}
|
|
9122
9130
|
}
|
|
@@ -9298,7 +9306,7 @@ function detachView(lContainer, removeIndex) {
|
|
|
9298
9306
|
viewToDetach[PARENT] = null;
|
|
9299
9307
|
viewToDetach[NEXT] = null;
|
|
9300
9308
|
// Unsets the attached flag
|
|
9301
|
-
viewToDetach[FLAGS] &=
|
|
9309
|
+
viewToDetach[FLAGS] &= ~128 /* LViewFlags.Attached */;
|
|
9302
9310
|
}
|
|
9303
9311
|
return viewToDetach;
|
|
9304
9312
|
}
|
|
@@ -9520,7 +9528,9 @@ class ViewRef {
|
|
|
9520
9528
|
* @Component({
|
|
9521
9529
|
* selector: 'giant-list',
|
|
9522
9530
|
* template: `
|
|
9523
|
-
*
|
|
9531
|
+
* @for(d of dataProvider.data; track $index) {
|
|
9532
|
+
* <li>Data {{d}}</li>
|
|
9533
|
+
* }
|
|
9524
9534
|
* `,
|
|
9525
9535
|
* })
|
|
9526
9536
|
* class GiantList {
|
|
@@ -9544,7 +9554,7 @@ class ViewRef {
|
|
|
9544
9554
|
* ```
|
|
9545
9555
|
*/
|
|
9546
9556
|
detach() {
|
|
9547
|
-
this._lView[FLAGS] &=
|
|
9557
|
+
this._lView[FLAGS] &= ~128 /* LViewFlags.Attached */;
|
|
9548
9558
|
}
|
|
9549
9559
|
/**
|
|
9550
9560
|
* Re-attaches a view to the change detection tree.
|
|
@@ -13386,7 +13396,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
13386
13396
|
}
|
|
13387
13397
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
13388
13398
|
const tAttributes = rootSelectorOrNode
|
|
13389
|
-
? ['ng-version', '20.0.
|
|
13399
|
+
? ['ng-version', '20.0.2']
|
|
13390
13400
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
13391
13401
|
extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
13392
13402
|
let creationBindings = null;
|
|
@@ -16177,7 +16187,6 @@ let ngZoneInstanceId = 0;
|
|
|
16177
16187
|
*
|
|
16178
16188
|
* ```ts
|
|
16179
16189
|
* import {Component, NgZone} from '@angular/core';
|
|
16180
|
-
* import {NgIf} from '@angular/common';
|
|
16181
16190
|
*
|
|
16182
16191
|
* @Component({
|
|
16183
16192
|
* selector: 'ng-zone-demo',
|
|
@@ -16185,7 +16194,9 @@ let ngZoneInstanceId = 0;
|
|
|
16185
16194
|
* <h2>Demo: NgZone</h2>
|
|
16186
16195
|
*
|
|
16187
16196
|
* <p>Progress: {{progress}}%</p>
|
|
16188
|
-
*
|
|
16197
|
+
* @if(progress >= 100) {
|
|
16198
|
+
* <p>Done processing {{label}} of Angular zone!</p>
|
|
16199
|
+
* }
|
|
16189
16200
|
*
|
|
16190
16201
|
* <button (click)="processWithinAngularZone()">Process within Angular zone</button>
|
|
16191
16202
|
* <button (click)="processOutsideOfAngularZone()">Process outside of Angular zone</button>
|
|
@@ -18827,8 +18838,10 @@ function getTemplateConsumer(injector) {
|
|
|
18827
18838
|
const lView = getNodeInjectorLView(injector);
|
|
18828
18839
|
assertLView(lView);
|
|
18829
18840
|
const templateLView = lView[tNode.index];
|
|
18830
|
-
|
|
18831
|
-
|
|
18841
|
+
if (isLView(templateLView)) {
|
|
18842
|
+
return templateLView[REACTIVE_TEMPLATE_CONSUMER] ?? null;
|
|
18843
|
+
}
|
|
18844
|
+
return null;
|
|
18832
18845
|
}
|
|
18833
18846
|
function getNodesAndEdgesFromSignalMap(signalMap) {
|
|
18834
18847
|
const nodes = Array.from(signalMap.keys());
|
|
@@ -20076,7 +20089,7 @@ class ApplicationRef {
|
|
|
20076
20089
|
synchronizeOnce() {
|
|
20077
20090
|
// First, process any dirty root effects.
|
|
20078
20091
|
if (this.dirtyFlags & 16 /* ApplicationRefDirtyFlags.RootEffects */) {
|
|
20079
|
-
this.dirtyFlags &=
|
|
20092
|
+
this.dirtyFlags &= ~16 /* ApplicationRefDirtyFlags.RootEffects */;
|
|
20080
20093
|
this.rootEffectScheduler.flush();
|
|
20081
20094
|
}
|
|
20082
20095
|
// First check dirty views, if there are any.
|
|
@@ -20087,7 +20100,7 @@ class ApplicationRef {
|
|
|
20087
20100
|
// `ApplicationRef.tick()` and the `NgZone` integration.
|
|
20088
20101
|
const useGlobalCheck = Boolean(this.dirtyFlags & 1 /* ApplicationRefDirtyFlags.ViewTreeGlobal */);
|
|
20089
20102
|
// Clear the view-related dirty flags.
|
|
20090
|
-
this.dirtyFlags &=
|
|
20103
|
+
this.dirtyFlags &= ~7 /* ApplicationRefDirtyFlags.ViewTreeAny */;
|
|
20091
20104
|
// Set the AfterRender bit, as we're checking views and will need to run afterRender hooks.
|
|
20092
20105
|
this.dirtyFlags |= 8 /* ApplicationRefDirtyFlags.AfterRender */;
|
|
20093
20106
|
// Check all potentially dirty views.
|
|
@@ -20107,7 +20120,7 @@ class ApplicationRef {
|
|
|
20107
20120
|
// If `markForCheck()` was called during view checking, it will have set the `ViewTreeCheck`
|
|
20108
20121
|
// flag. We clear the flag here because, for backwards compatibility, `markForCheck()`
|
|
20109
20122
|
// during view checking doesn't cause the view to be re-checked.
|
|
20110
|
-
this.dirtyFlags &=
|
|
20123
|
+
this.dirtyFlags &= ~4 /* ApplicationRefDirtyFlags.ViewTreeCheck */;
|
|
20111
20124
|
// Check if any views are still dirty after checking and we need to loop back.
|
|
20112
20125
|
this.syncDirtyFlagsWithViews();
|
|
20113
20126
|
if (this.dirtyFlags &
|
|
@@ -20125,7 +20138,7 @@ class ApplicationRef {
|
|
|
20125
20138
|
}
|
|
20126
20139
|
// Even if there were no dirty views, afterRender hooks might still be dirty.
|
|
20127
20140
|
if (this.dirtyFlags & 8 /* ApplicationRefDirtyFlags.AfterRender */) {
|
|
20128
|
-
this.dirtyFlags &=
|
|
20141
|
+
this.dirtyFlags &= ~8 /* ApplicationRefDirtyFlags.AfterRender */;
|
|
20129
20142
|
this.afterRenderManager.execute();
|
|
20130
20143
|
// afterRender hooks might influence dirty flags.
|
|
20131
20144
|
}
|
|
@@ -20154,7 +20167,7 @@ class ApplicationRef {
|
|
|
20154
20167
|
else {
|
|
20155
20168
|
// Even though this flag may be set, none of _our_ views require traversal, and so the
|
|
20156
20169
|
// `ApplicationRef` doesn't require any repeated checking.
|
|
20157
|
-
this.dirtyFlags &=
|
|
20170
|
+
this.dirtyFlags &= ~7 /* ApplicationRefDirtyFlags.ViewTreeAny */;
|
|
20158
20171
|
}
|
|
20159
20172
|
}
|
|
20160
20173
|
/**
|
|
@@ -20675,6 +20688,11 @@ function shouldAttachTrigger(triggerType, lView, tNode) {
|
|
|
20675
20688
|
// TriggerType.Prefetch is active only on the client
|
|
20676
20689
|
return !(typeof ngServerMode !== 'undefined' && ngServerMode);
|
|
20677
20690
|
}
|
|
20691
|
+
/** Whether a given defer block has `hydrate` triggers. */
|
|
20692
|
+
function hasHydrateTriggers(flags) {
|
|
20693
|
+
return (flags != null &&
|
|
20694
|
+
(flags & 1 /* TDeferDetailsFlags.HasHydrateTriggers */) === 1 /* TDeferDetailsFlags.HasHydrateTriggers */);
|
|
20695
|
+
}
|
|
20678
20696
|
/**
|
|
20679
20697
|
* Defines whether a regular trigger logic (e.g. "on viewport") should be attached
|
|
20680
20698
|
* to a defer block. This function defines a condition, which mutually excludes
|
|
@@ -20685,20 +20703,18 @@ function shouldAttachRegularTrigger(lView, tNode) {
|
|
|
20685
20703
|
const injector = lView[INJECTOR];
|
|
20686
20704
|
const tDetails = getTDeferBlockDetails(lView[TVIEW], tNode);
|
|
20687
20705
|
const incrementalHydrationEnabled = isIncrementalHydrationEnabled(injector);
|
|
20688
|
-
const
|
|
20689
|
-
(tDetails.flags & 1 /* TDeferDetailsFlags.HasHydrateTriggers */) ===
|
|
20690
|
-
1 /* TDeferDetailsFlags.HasHydrateTriggers */;
|
|
20706
|
+
const _hasHydrateTriggers = hasHydrateTriggers(tDetails.flags);
|
|
20691
20707
|
// On the server:
|
|
20692
20708
|
if (typeof ngServerMode !== 'undefined' && ngServerMode) {
|
|
20693
20709
|
// Regular triggers are activated on the server when:
|
|
20694
20710
|
// - Either Incremental Hydration is *not* enabled
|
|
20695
20711
|
// - Or Incremental Hydration is enabled, but a given block doesn't have "hydrate" triggers
|
|
20696
|
-
return !incrementalHydrationEnabled || !
|
|
20712
|
+
return !incrementalHydrationEnabled || !_hasHydrateTriggers;
|
|
20697
20713
|
}
|
|
20698
20714
|
// On the client:
|
|
20699
20715
|
const lDetails = getLDeferBlockDetails(lView, tNode);
|
|
20700
20716
|
const wasServerSideRendered = lDetails[SSR_UNIQUE_ID] !== null;
|
|
20701
|
-
if (
|
|
20717
|
+
if (_hasHydrateTriggers && wasServerSideRendered && incrementalHydrationEnabled) {
|
|
20702
20718
|
return false;
|
|
20703
20719
|
}
|
|
20704
20720
|
return true;
|
|
@@ -20834,8 +20850,13 @@ function ɵɵdefer(index, primaryTmplIndex, dependencyResolverFn, loadingTmplInd
|
|
|
20834
20850
|
const injector = lView[INJECTOR];
|
|
20835
20851
|
if (tView.firstCreatePass) {
|
|
20836
20852
|
performanceMarkFeature('NgDefer');
|
|
20837
|
-
if (ngDevMode
|
|
20838
|
-
|
|
20853
|
+
if (ngDevMode) {
|
|
20854
|
+
if (typeof ngHmrMode !== 'undefined' && ngHmrMode) {
|
|
20855
|
+
logHmrWarning(injector);
|
|
20856
|
+
}
|
|
20857
|
+
if (hasHydrateTriggers(flags)) {
|
|
20858
|
+
assertIncrementalHydrationIsConfigured(injector);
|
|
20859
|
+
}
|
|
20839
20860
|
}
|
|
20840
20861
|
const tDetails = {
|
|
20841
20862
|
primaryTmplIndex,
|
|
@@ -20883,7 +20904,6 @@ function ɵɵdefer(index, primaryTmplIndex, dependencyResolverFn, loadingTmplInd
|
|
|
20883
20904
|
setLDeferBlockDetails(lView, adjustedIndex, lDetails);
|
|
20884
20905
|
let registry = null;
|
|
20885
20906
|
if (ssrUniqueId !== null) {
|
|
20886
|
-
ngDevMode && assertIncrementalHydrationIsConfigured(injector);
|
|
20887
20907
|
// Store this defer block in the registry, to have an access to
|
|
20888
20908
|
// internal data structures from hydration runtime code.
|
|
20889
20909
|
registry = injector.get(DEHYDRATED_BLOCK_REGISTRY);
|
|
@@ -24728,7 +24748,7 @@ function getTStylingRangePrevDuplicate(tStylingRange) {
|
|
|
24728
24748
|
function setTStylingRangePrev(tStylingRange, previous) {
|
|
24729
24749
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
24730
24750
|
ngDevMode && assertNumberInRange(previous, 0, 32767 /* StylingRange.UNSIGNED_MASK */);
|
|
24731
|
-
return ((tStylingRange &
|
|
24751
|
+
return ((tStylingRange & ~4294836224 /* StylingRange.PREV_MASK */) |
|
|
24732
24752
|
(previous << 17 /* StylingRange.PREV_SHIFT */));
|
|
24733
24753
|
}
|
|
24734
24754
|
function setTStylingRangePrevDuplicate(tStylingRange) {
|
|
@@ -24742,7 +24762,7 @@ function getTStylingRangeNext(tStylingRange) {
|
|
|
24742
24762
|
function setTStylingRangeNext(tStylingRange, next) {
|
|
24743
24763
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
24744
24764
|
ngDevMode && assertNumberInRange(next, 0, 32767 /* StylingRange.UNSIGNED_MASK */);
|
|
24745
|
-
return ((tStylingRange &
|
|
24765
|
+
return ((tStylingRange & ~131068 /* StylingRange.NEXT_MASK */) | //
|
|
24746
24766
|
(next << 2 /* StylingRange.NEXT_SHIFT */));
|
|
24747
24767
|
}
|
|
24748
24768
|
function getTStylingRangeNextDuplicate(tStylingRange) {
|
|
@@ -28160,7 +28180,7 @@ function resetProjectionState(tNode) {
|
|
|
28160
28180
|
if (isTNodeShape(current)) {
|
|
28161
28181
|
// Reset `projectionNext` since it can affect the traversal order during projection.
|
|
28162
28182
|
current.projectionNext = null;
|
|
28163
|
-
current.flags &=
|
|
28183
|
+
current.flags &= ~2 /* TNodeFlags.isProjected */;
|
|
28164
28184
|
}
|
|
28165
28185
|
}
|
|
28166
28186
|
tNode.projection = null;
|
|
@@ -30724,4 +30744,4 @@ function getDebugNode(nativeNode) {
|
|
|
30724
30744
|
}
|
|
30725
30745
|
|
|
30726
30746
|
export { AFTER_RENDER_PHASES, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, EnvironmentNgModuleRefAdapter, EventEmitter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, NgProbeToken, NgZone, NoopNgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, PROVIDED_NG_ZONE, Pipe, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getNgZone, getNgZoneOptions, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, inputBinding, internalProvideZoneChangeDetection, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, provideAppInitializer, provideNgReflectAttributes, provideZoneChangeDetection, provideZonelessChangeDetection, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomProperty, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
30727
|
-
//# sourceMappingURL=debug_node-
|
|
30747
|
+
//# sourceMappingURL=debug_node-JnOYh9kg.mjs.map
|