@angular/core 21.2.1 → 22.0.0-next.0
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/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_debug_node-chunk.mjs +523 -471
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/{_effect-chunk2.mjs → _pending_tasks-chunk.mjs} +31 -31
- package/fesm2022/_pending_tasks-chunk.mjs.map +1 -0
- package/fesm2022/_resource-chunk.mjs +91 -32
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +1 -1
- package/fesm2022/_weak_ref-chunk.mjs +1 -1
- package/fesm2022/core.mjs +5 -5
- package/fesm2022/primitives-di.mjs +1 -1
- package/fesm2022/primitives-event-dispatch.mjs +1 -1
- package/fesm2022/primitives-signals.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs +2 -2
- package/fesm2022/testing.mjs +14 -2
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
- package/schematics/bundles/change-detection-eager.cjs +155 -0
- package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
- package/schematics/bundles/common-to-standalone-migration.cjs +4 -4
- package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +1 -1
- package/schematics/bundles/http-xhr-backend.cjs +118 -0
- package/schematics/bundles/{imports-CVmcbVA9.cjs → imports-CKV-ITqD.cjs} +4 -3
- package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
- package/schematics/bundles/migrate_ts_type_references-MWoZx-Cb.cjs +1 -1
- package/schematics/bundles/{ng_component_template-BOuKAnQd.cjs → ng_component_template-DPAF1aEA.cjs} +2 -2
- package/schematics/bundles/{ng_decorators-DYy6II6x.cjs → ng_decorators-IVztR9rk.cjs} +2 -2
- package/schematics/bundles/ngclass-to-class-migration.cjs +4 -4
- package/schematics/bundles/ngstyle-to-style-migration.cjs +4 -4
- package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
- package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
- package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
- package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +4 -16
- package/schematics/bundles/router-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
- package/schematics/bundles/signal-input-migration.cjs +1 -1
- package/schematics/bundles/signal-queries-migration.cjs +1 -1
- package/schematics/bundles/signals.cjs +1 -1
- package/schematics/bundles/standalone-migration.cjs +20 -6
- package/schematics/collection.json +5 -5
- package/schematics/migrations.json +9 -30
- package/types/_api-chunk.d.ts +31 -4
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_discovery-chunk.d.ts +2 -2
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +42 -12
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +6 -1
- package/fesm2022/_effect-chunk2.mjs.map +0 -1
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +0 -117
- package/schematics/bundles/application-config-core.cjs +0 -84
- package/schematics/bundles/bootstrap-options-migration.cjs +0 -644
- package/schematics/bundles/router-current-navigation.cjs +0 -103
- package/schematics/bundles/router-last-successful-navigation.cjs +0 -103
- package/schematics/bundles/symbol-DZeHSR-V.cjs +0 -26
- /package/schematics/{migrations → ng-generate}/common-to-standalone-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/control-flow-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/ngclass-to-class-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/ngstyle-to-style-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/router-testing-module-migration/schema.json +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular
|
|
2
|
+
* @license Angular v22.0.0-next.0
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, 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, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getDirectiveDefOrThrow, getTNode, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement,
|
|
7
|
+
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, 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, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getDirectiveDefOrThrow, getTNode, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, arrayInsert2, arraySplice, PendingTasks, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, 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, angularZoneInstanceIdProperty, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_pending_tasks-chunk.mjs';
|
|
8
8
|
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
|
|
9
9
|
import { Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
@@ -8733,7 +8733,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8733
8733
|
}
|
|
8734
8734
|
}
|
|
8735
8735
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8736
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '
|
|
8736
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.0'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8737
8737
|
let creationBindings = null;
|
|
8738
8738
|
let updateBindings = null;
|
|
8739
8739
|
let varsToAllocate = 0;
|
|
@@ -10532,402 +10532,26 @@ function registerDomTrigger(initialLView, tNode, triggerIndex, walkUpTimes, regi
|
|
|
10532
10532
|
});
|
|
10533
10533
|
}
|
|
10534
10534
|
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
|
|
10539
|
-
|
|
10540
|
-
}
|
|
10541
|
-
|
|
10542
|
-
|
|
10543
|
-
|
|
10544
|
-
|
|
10545
|
-
|
|
10546
|
-
current = new Set();
|
|
10547
|
-
deferred = new Set();
|
|
10548
|
-
ngZone = inject(NgZone);
|
|
10549
|
-
requestIdleCallbackFn = _requestIdleCallback().bind(globalThis);
|
|
10550
|
-
cancelIdleCallbackFn = _cancelIdleCallback().bind(globalThis);
|
|
10551
|
-
add(callback) {
|
|
10552
|
-
const target = this.executingCallbacks ? this.deferred : this.current;
|
|
10553
|
-
target.add(callback);
|
|
10554
|
-
if (this.idleId === null) {
|
|
10555
|
-
this.scheduleIdleCallback();
|
|
10556
|
-
}
|
|
10557
|
-
}
|
|
10558
|
-
remove(callback) {
|
|
10559
|
-
const {
|
|
10560
|
-
current,
|
|
10561
|
-
deferred
|
|
10562
|
-
} = this;
|
|
10563
|
-
current.delete(callback);
|
|
10564
|
-
deferred.delete(callback);
|
|
10565
|
-
if (current.size === 0 && deferred.size === 0) {
|
|
10566
|
-
this.cancelIdleCallback();
|
|
10567
|
-
}
|
|
10568
|
-
}
|
|
10569
|
-
scheduleIdleCallback() {
|
|
10570
|
-
const callback = () => {
|
|
10571
|
-
this.cancelIdleCallback();
|
|
10572
|
-
this.executingCallbacks = true;
|
|
10573
|
-
for (const callback of this.current) {
|
|
10574
|
-
callback();
|
|
10575
|
-
}
|
|
10576
|
-
this.current.clear();
|
|
10577
|
-
this.executingCallbacks = false;
|
|
10578
|
-
if (this.deferred.size > 0) {
|
|
10579
|
-
for (const callback of this.deferred) {
|
|
10580
|
-
this.current.add(callback);
|
|
10581
|
-
}
|
|
10582
|
-
this.deferred.clear();
|
|
10583
|
-
this.scheduleIdleCallback();
|
|
10584
|
-
}
|
|
10585
|
-
};
|
|
10586
|
-
this.idleId = this.requestIdleCallbackFn(() => this.ngZone.run(callback));
|
|
10587
|
-
}
|
|
10588
|
-
cancelIdleCallback() {
|
|
10589
|
-
if (this.idleId !== null) {
|
|
10590
|
-
this.cancelIdleCallbackFn(this.idleId);
|
|
10591
|
-
this.idleId = null;
|
|
10592
|
-
}
|
|
10593
|
-
}
|
|
10594
|
-
ngOnDestroy() {
|
|
10595
|
-
this.cancelIdleCallback();
|
|
10596
|
-
this.current.clear();
|
|
10597
|
-
this.deferred.clear();
|
|
10598
|
-
}
|
|
10599
|
-
static ɵprov =
|
|
10600
|
-
/* @__PURE__ */
|
|
10601
|
-
__defineInjectable({
|
|
10602
|
-
token: IdleScheduler,
|
|
10603
|
-
providedIn: 'root',
|
|
10604
|
-
factory: () => new IdleScheduler()
|
|
10605
|
-
});
|
|
10606
|
-
}
|
|
10607
|
-
|
|
10608
|
-
function onTimer(delay) {
|
|
10609
|
-
return (callback, injector) => scheduleTimerTrigger(delay, callback, injector);
|
|
10610
|
-
}
|
|
10611
|
-
function scheduleTimerTrigger(delay, callback, injector) {
|
|
10612
|
-
const scheduler = injector.get(TimerScheduler);
|
|
10613
|
-
const ngZone = injector.get(NgZone);
|
|
10614
|
-
const cleanupFn = () => scheduler.remove(callback);
|
|
10615
|
-
scheduler.add(delay, callback, ngZone);
|
|
10616
|
-
return cleanupFn;
|
|
10617
|
-
}
|
|
10618
|
-
class TimerScheduler {
|
|
10619
|
-
executingCallbacks = false;
|
|
10620
|
-
timeoutId = null;
|
|
10621
|
-
invokeTimerAt = null;
|
|
10622
|
-
current = [];
|
|
10623
|
-
deferred = [];
|
|
10624
|
-
add(delay, callback, ngZone) {
|
|
10625
|
-
const target = this.executingCallbacks ? this.deferred : this.current;
|
|
10626
|
-
this.addToQueue(target, Date.now() + delay, callback);
|
|
10627
|
-
this.scheduleTimer(ngZone);
|
|
10628
|
-
}
|
|
10629
|
-
remove(callback) {
|
|
10630
|
-
const {
|
|
10631
|
-
current,
|
|
10632
|
-
deferred
|
|
10633
|
-
} = this;
|
|
10634
|
-
const callbackIndex = this.removeFromQueue(current, callback);
|
|
10635
|
-
if (callbackIndex === -1) {
|
|
10636
|
-
this.removeFromQueue(deferred, callback);
|
|
10637
|
-
}
|
|
10638
|
-
if (current.length === 0 && deferred.length === 0) {
|
|
10639
|
-
this.clearTimeout();
|
|
10640
|
-
}
|
|
10641
|
-
}
|
|
10642
|
-
addToQueue(target, invokeAt, callback) {
|
|
10643
|
-
let insertAtIndex = target.length;
|
|
10644
|
-
for (let i = 0; i < target.length; i += 2) {
|
|
10645
|
-
const invokeQueuedCallbackAt = target[i];
|
|
10646
|
-
if (invokeQueuedCallbackAt > invokeAt) {
|
|
10647
|
-
insertAtIndex = i;
|
|
10648
|
-
break;
|
|
10649
|
-
}
|
|
10650
|
-
}
|
|
10651
|
-
arrayInsert2(target, insertAtIndex, invokeAt, callback);
|
|
10652
|
-
}
|
|
10653
|
-
removeFromQueue(target, callback) {
|
|
10654
|
-
let index = -1;
|
|
10655
|
-
for (let i = 0; i < target.length; i += 2) {
|
|
10656
|
-
const queuedCallback = target[i + 1];
|
|
10657
|
-
if (queuedCallback === callback) {
|
|
10658
|
-
index = i;
|
|
10659
|
-
break;
|
|
10660
|
-
}
|
|
10661
|
-
}
|
|
10662
|
-
if (index > -1) {
|
|
10663
|
-
arraySplice(target, index, 2);
|
|
10664
|
-
}
|
|
10665
|
-
return index;
|
|
10666
|
-
}
|
|
10667
|
-
scheduleTimer(ngZone) {
|
|
10668
|
-
const callback = () => {
|
|
10669
|
-
this.clearTimeout();
|
|
10670
|
-
this.executingCallbacks = true;
|
|
10671
|
-
const current = [...this.current];
|
|
10672
|
-
const now = Date.now();
|
|
10673
|
-
for (let i = 0; i < current.length; i += 2) {
|
|
10674
|
-
const invokeAt = current[i];
|
|
10675
|
-
const callback = current[i + 1];
|
|
10676
|
-
if (invokeAt <= now) {
|
|
10677
|
-
callback();
|
|
10678
|
-
} else {
|
|
10679
|
-
break;
|
|
10680
|
-
}
|
|
10681
|
-
}
|
|
10682
|
-
let lastCallbackIndex = -1;
|
|
10683
|
-
for (let i = 0; i < this.current.length; i += 2) {
|
|
10684
|
-
const invokeAt = this.current[i];
|
|
10685
|
-
if (invokeAt <= now) {
|
|
10686
|
-
lastCallbackIndex = i + 1;
|
|
10687
|
-
} else {
|
|
10688
|
-
break;
|
|
10689
|
-
}
|
|
10690
|
-
}
|
|
10691
|
-
if (lastCallbackIndex >= 0) {
|
|
10692
|
-
arraySplice(this.current, 0, lastCallbackIndex + 1);
|
|
10693
|
-
}
|
|
10694
|
-
this.executingCallbacks = false;
|
|
10695
|
-
if (this.deferred.length > 0) {
|
|
10696
|
-
for (let i = 0; i < this.deferred.length; i += 2) {
|
|
10697
|
-
const invokeAt = this.deferred[i];
|
|
10698
|
-
const callback = this.deferred[i + 1];
|
|
10699
|
-
this.addToQueue(this.current, invokeAt, callback);
|
|
10700
|
-
}
|
|
10701
|
-
this.deferred.length = 0;
|
|
10702
|
-
}
|
|
10703
|
-
this.scheduleTimer(ngZone);
|
|
10704
|
-
};
|
|
10705
|
-
const FRAME_DURATION_MS = 16;
|
|
10706
|
-
if (this.current.length > 0) {
|
|
10707
|
-
const now = Date.now();
|
|
10708
|
-
const invokeAt = this.current[0];
|
|
10709
|
-
if (this.timeoutId === null || this.invokeTimerAt && this.invokeTimerAt - invokeAt > FRAME_DURATION_MS) {
|
|
10710
|
-
this.clearTimeout();
|
|
10711
|
-
const timeout = Math.max(invokeAt - now, FRAME_DURATION_MS);
|
|
10712
|
-
this.invokeTimerAt = invokeAt;
|
|
10713
|
-
this.timeoutId = ngZone.runOutsideAngular(() => {
|
|
10714
|
-
return setTimeout(() => ngZone.run(callback), timeout);
|
|
10715
|
-
});
|
|
10716
|
-
}
|
|
10717
|
-
}
|
|
10718
|
-
}
|
|
10719
|
-
clearTimeout() {
|
|
10720
|
-
if (this.timeoutId !== null) {
|
|
10721
|
-
clearTimeout(this.timeoutId);
|
|
10722
|
-
this.timeoutId = null;
|
|
10723
|
-
}
|
|
10724
|
-
}
|
|
10725
|
-
ngOnDestroy() {
|
|
10726
|
-
this.clearTimeout();
|
|
10727
|
-
this.current.length = 0;
|
|
10728
|
-
this.deferred.length = 0;
|
|
10729
|
-
}
|
|
10730
|
-
static ɵprov =
|
|
10731
|
-
/* @__PURE__ */
|
|
10732
|
-
__defineInjectable({
|
|
10733
|
-
token: TimerScheduler,
|
|
10734
|
-
providedIn: 'root',
|
|
10735
|
-
factory: () => new TimerScheduler()
|
|
10736
|
-
});
|
|
10737
|
-
}
|
|
10738
|
-
|
|
10739
|
-
class CachedInjectorService {
|
|
10740
|
-
cachedInjectors = new Map();
|
|
10741
|
-
getOrCreateInjector(key, parentInjector, providers, debugName) {
|
|
10742
|
-
if (!this.cachedInjectors.has(key)) {
|
|
10743
|
-
const injector = providers.length > 0 ? createEnvironmentInjector(providers, parentInjector, debugName) : null;
|
|
10744
|
-
this.cachedInjectors.set(key, injector);
|
|
10745
|
-
}
|
|
10746
|
-
return this.cachedInjectors.get(key);
|
|
10747
|
-
}
|
|
10748
|
-
ngOnDestroy() {
|
|
10749
|
-
try {
|
|
10750
|
-
for (const injector of this.cachedInjectors.values()) {
|
|
10751
|
-
if (injector !== null) {
|
|
10752
|
-
injector.destroy();
|
|
10753
|
-
}
|
|
10754
|
-
}
|
|
10755
|
-
} finally {
|
|
10756
|
-
this.cachedInjectors.clear();
|
|
10757
|
-
}
|
|
10758
|
-
}
|
|
10759
|
-
static ɵprov =
|
|
10760
|
-
/* @__PURE__ */
|
|
10761
|
-
__defineInjectable({
|
|
10762
|
-
token: CachedInjectorService,
|
|
10763
|
-
providedIn: 'environment',
|
|
10764
|
-
factory: () => new CachedInjectorService()
|
|
10765
|
-
});
|
|
10766
|
-
}
|
|
10767
|
-
|
|
10768
|
-
const DEFER_BLOCK_DEPENDENCY_INTERCEPTOR = /* @__PURE__ */new InjectionToken('DEFER_BLOCK_DEPENDENCY_INTERCEPTOR');
|
|
10769
|
-
const DEFER_BLOCK_CONFIG = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'DEFER_BLOCK_CONFIG' : '');
|
|
10770
|
-
function getOrCreateEnvironmentInjector(parentInjector, tDetails, providers) {
|
|
10771
|
-
return parentInjector.get(CachedInjectorService).getOrCreateInjector(tDetails, parentInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
|
|
10772
|
-
}
|
|
10773
|
-
function createDeferBlockInjector(parentInjector, tDetails, providers) {
|
|
10774
|
-
if (parentInjector instanceof ChainedInjector) {
|
|
10775
|
-
const origInjector = parentInjector.injector;
|
|
10776
|
-
const parentEnvInjector = parentInjector.parentInjector;
|
|
10777
|
-
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
10778
|
-
return new ChainedInjector(origInjector, envInjector);
|
|
10779
|
-
}
|
|
10780
|
-
const parentEnvInjector = parentInjector.get(EnvironmentInjector);
|
|
10781
|
-
if (parentEnvInjector !== parentInjector) {
|
|
10782
|
-
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
10783
|
-
return new ChainedInjector(parentInjector, envInjector);
|
|
10784
|
-
}
|
|
10785
|
-
return getOrCreateEnvironmentInjector(parentInjector, tDetails, providers);
|
|
10786
|
-
}
|
|
10787
|
-
function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling = false) {
|
|
10788
|
-
const hostLView = lContainer[PARENT];
|
|
10789
|
-
const hostTView = hostLView[TVIEW];
|
|
10790
|
-
if (isDestroyed(hostLView)) return;
|
|
10791
|
-
ngDevMode && assertTNodeForLView(tNode, hostLView);
|
|
10792
|
-
const lDetails = getLDeferBlockDetails(hostLView, tNode);
|
|
10793
|
-
ngDevMode && assertDefined(lDetails, 'Expected a defer block state defined');
|
|
10794
|
-
const currentState = lDetails[DEFER_BLOCK_STATE];
|
|
10795
|
-
const ssrState = lDetails[SSR_BLOCK_STATE];
|
|
10796
|
-
if (ssrState !== null && newState < ssrState) {
|
|
10797
|
-
return;
|
|
10798
|
-
}
|
|
10799
|
-
if (isValidStateChange(currentState, newState) && isValidStateChange(lDetails[NEXT_DEFER_BLOCK_STATE] ?? -1, newState)) {
|
|
10800
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10801
|
-
const needsScheduling = !skipTimerScheduling && (typeof ngServerMode === 'undefined' || !ngServerMode) && (getLoadingBlockAfter(tDetails) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Loading) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Placeholder));
|
|
10802
|
-
if (ngDevMode && needsScheduling) {
|
|
10803
|
-
assertDefined(applyDeferBlockStateWithSchedulingImpl, 'Expected scheduling function to be defined');
|
|
10804
|
-
}
|
|
10805
|
-
const applyStateFn = needsScheduling ? applyDeferBlockStateWithSchedulingImpl : applyDeferBlockState;
|
|
10806
|
-
try {
|
|
10807
|
-
applyStateFn(newState, lDetails, lContainer, tNode, hostLView);
|
|
10808
|
-
} catch (error) {
|
|
10809
|
-
handleUncaughtError(hostLView, error);
|
|
10810
|
-
}
|
|
10811
|
-
}
|
|
10812
|
-
}
|
|
10813
|
-
function findMatchingDehydratedViewForDeferBlock(lContainer, lDetails) {
|
|
10814
|
-
const dehydratedViewIx = lContainer[DEHYDRATED_VIEWS]?.findIndex(view => view.data[DEFER_BLOCK_STATE$1] === lDetails[DEFER_BLOCK_STATE]) ?? -1;
|
|
10815
|
-
const dehydratedView = dehydratedViewIx > -1 ? lContainer[DEHYDRATED_VIEWS][dehydratedViewIx] : null;
|
|
10816
|
-
return {
|
|
10817
|
-
dehydratedView,
|
|
10818
|
-
dehydratedViewIx
|
|
10819
|
-
};
|
|
10820
|
-
}
|
|
10821
|
-
function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView) {
|
|
10822
|
-
profiler(ProfilerEvent.DeferBlockStateStart);
|
|
10823
|
-
const stateTmplIndex = getTemplateIndexForState(newState, hostLView, tNode);
|
|
10824
|
-
if (stateTmplIndex !== null) {
|
|
10825
|
-
lDetails[DEFER_BLOCK_STATE] = newState;
|
|
10826
|
-
const hostTView = hostLView[TVIEW];
|
|
10827
|
-
const adjustedIndex = stateTmplIndex + HEADER_OFFSET;
|
|
10828
|
-
const activeBlockTNode = getTNode(hostTView, adjustedIndex);
|
|
10829
|
-
const viewIndex = 0;
|
|
10830
|
-
removeLViewFromLContainer(lContainer, viewIndex);
|
|
10831
|
-
let injector;
|
|
10832
|
-
if (newState === DeferBlockState.Complete) {
|
|
10833
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10834
|
-
const providers = tDetails.providers;
|
|
10835
|
-
if (providers && providers.length > 0) {
|
|
10836
|
-
injector = createDeferBlockInjector(hostLView[INJECTOR], tDetails, providers);
|
|
10837
|
-
}
|
|
10838
|
-
}
|
|
10839
|
-
const {
|
|
10840
|
-
dehydratedView,
|
|
10841
|
-
dehydratedViewIx
|
|
10842
|
-
} = findMatchingDehydratedViewForDeferBlock(lContainer, lDetails);
|
|
10843
|
-
const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, {
|
|
10844
|
-
injector,
|
|
10845
|
-
dehydratedView
|
|
10846
|
-
});
|
|
10847
|
-
addLViewToLContainer(lContainer, embeddedLView, viewIndex, shouldAddViewToDom(activeBlockTNode, dehydratedView));
|
|
10848
|
-
markViewDirty(embeddedLView, 2);
|
|
10849
|
-
if (dehydratedViewIx > -1) {
|
|
10850
|
-
lContainer[DEHYDRATED_VIEWS]?.splice(dehydratedViewIx, 1);
|
|
10851
|
-
}
|
|
10852
|
-
if ((newState === DeferBlockState.Complete || newState === DeferBlockState.Error) && Array.isArray(lDetails[ON_COMPLETE_FNS])) {
|
|
10853
|
-
for (const callback of lDetails[ON_COMPLETE_FNS]) {
|
|
10854
|
-
callback();
|
|
10855
|
-
}
|
|
10856
|
-
lDetails[ON_COMPLETE_FNS] = null;
|
|
10857
|
-
}
|
|
10858
|
-
}
|
|
10859
|
-
profiler(ProfilerEvent.DeferBlockStateEnd);
|
|
10860
|
-
}
|
|
10861
|
-
function applyDeferBlockStateWithScheduling(newState, lDetails, lContainer, tNode, hostLView) {
|
|
10862
|
-
const now = Date.now();
|
|
10863
|
-
const hostTView = hostLView[TVIEW];
|
|
10864
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10865
|
-
if (lDetails[STATE_IS_FROZEN_UNTIL] === null || lDetails[STATE_IS_FROZEN_UNTIL] <= now) {
|
|
10866
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
10867
|
-
const loadingAfter = getLoadingBlockAfter(tDetails);
|
|
10868
|
-
const inLoadingAfterPhase = lDetails[LOADING_AFTER_CLEANUP_FN] !== null;
|
|
10869
|
-
if (newState === DeferBlockState.Loading && loadingAfter !== null && !inLoadingAfterPhase) {
|
|
10870
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
10871
|
-
const cleanupFn = scheduleDeferBlockUpdate(loadingAfter, lDetails, tNode, lContainer, hostLView);
|
|
10872
|
-
lDetails[LOADING_AFTER_CLEANUP_FN] = cleanupFn;
|
|
10873
|
-
} else {
|
|
10874
|
-
if (newState > DeferBlockState.Loading && inLoadingAfterPhase) {
|
|
10875
|
-
lDetails[LOADING_AFTER_CLEANUP_FN]();
|
|
10876
|
-
lDetails[LOADING_AFTER_CLEANUP_FN] = null;
|
|
10877
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
10878
|
-
}
|
|
10879
|
-
applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView);
|
|
10880
|
-
const duration = getMinimumDurationForState(tDetails, newState);
|
|
10881
|
-
if (duration !== null) {
|
|
10882
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = now + duration;
|
|
10883
|
-
scheduleDeferBlockUpdate(duration, lDetails, tNode, lContainer, hostLView);
|
|
10884
|
-
}
|
|
10885
|
-
}
|
|
10886
|
-
} else {
|
|
10887
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
10888
|
-
}
|
|
10889
|
-
}
|
|
10890
|
-
function scheduleDeferBlockUpdate(timeout, lDetails, tNode, lContainer, hostLView) {
|
|
10891
|
-
const callback = () => {
|
|
10892
|
-
const nextState = lDetails[NEXT_DEFER_BLOCK_STATE];
|
|
10893
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
10894
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
10895
|
-
if (nextState !== null) {
|
|
10896
|
-
renderDeferBlockState(nextState, tNode, lContainer);
|
|
10897
|
-
}
|
|
10898
|
-
};
|
|
10899
|
-
return scheduleTimerTrigger(timeout, callback, hostLView[INJECTOR]);
|
|
10900
|
-
}
|
|
10901
|
-
function isValidStateChange(currentState, newState) {
|
|
10902
|
-
return currentState < newState;
|
|
10903
|
-
}
|
|
10904
|
-
function renderPlaceholder(lView, tNode) {
|
|
10905
|
-
const lContainer = lView[tNode.index];
|
|
10906
|
-
ngDevMode && assertLContainer(lContainer);
|
|
10907
|
-
renderDeferBlockState(DeferBlockState.Placeholder, tNode, lContainer);
|
|
10908
|
-
}
|
|
10909
|
-
function renderDeferStateAfterResourceLoading(tDetails, tNode, lContainer) {
|
|
10910
|
-
ngDevMode && assertDefined(tDetails.loadingPromise, 'Expected loading Promise to exist on this defer block');
|
|
10911
|
-
tDetails.loadingPromise.then(() => {
|
|
10912
|
-
if (tDetails.loadingState === DeferDependenciesLoadingState.COMPLETE) {
|
|
10913
|
-
ngDevMode && assertDeferredDependenciesLoaded(tDetails);
|
|
10914
|
-
renderDeferBlockState(DeferBlockState.Complete, tNode, lContainer);
|
|
10915
|
-
} else if (tDetails.loadingState === DeferDependenciesLoadingState.FAILED) {
|
|
10916
|
-
renderDeferBlockState(DeferBlockState.Error, tNode, lContainer);
|
|
10917
|
-
}
|
|
10918
|
-
});
|
|
10535
|
+
const _requestIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : cb => setTimeout(cb)).bind(globalThis);
|
|
10536
|
+
const _cancelIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? cancelIdleCallback : clearTimeout).bind(globalThis);
|
|
10537
|
+
const IDLE_SERVICE = new InjectionToken(ngDevMode ? 'IDLE_SERVICE' : '', {
|
|
10538
|
+
providedIn: 'root',
|
|
10539
|
+
factory: () => new RequestIdleCallbackService()
|
|
10540
|
+
});
|
|
10541
|
+
function provideIdleServiceWith(useExisting) {
|
|
10542
|
+
return makeEnvironmentProviders([{
|
|
10543
|
+
provide: IDLE_SERVICE,
|
|
10544
|
+
useExisting
|
|
10545
|
+
}]);
|
|
10919
10546
|
}
|
|
10920
|
-
|
|
10921
|
-
|
|
10922
|
-
|
|
10923
|
-
|
|
10924
|
-
|
|
10925
|
-
}
|
|
10926
|
-
if (loadingConfigIndex != null) {
|
|
10927
|
-
tDetails.loadingBlockConfig = getConstant(tViewConsts, loadingConfigIndex);
|
|
10547
|
+
class RequestIdleCallbackService {
|
|
10548
|
+
requestIdleCallback = _requestIdleCallback();
|
|
10549
|
+
cancelIdleCallback = _cancelIdleCallback();
|
|
10550
|
+
requestOnIdle(callback, options) {
|
|
10551
|
+
return this.requestIdleCallback(callback, options);
|
|
10928
10552
|
}
|
|
10929
|
-
|
|
10930
|
-
|
|
10553
|
+
cancelOnIdle(id) {
|
|
10554
|
+
return this.cancelIdleCallback(id);
|
|
10931
10555
|
}
|
|
10932
10556
|
}
|
|
10933
10557
|
|
|
@@ -12426,86 +12050,505 @@ class ApplicationRef {
|
|
|
12426
12050
|
this.dirtyFlags &= ~7;
|
|
12427
12051
|
}
|
|
12428
12052
|
}
|
|
12429
|
-
attachView(viewRef) {
|
|
12430
|
-
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12431
|
-
const view = viewRef;
|
|
12432
|
-
this._views.push(view);
|
|
12433
|
-
view.attachToAppRef(this);
|
|
12434
|
-
}
|
|
12435
|
-
detachView(viewRef) {
|
|
12436
|
-
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12437
|
-
const view = viewRef;
|
|
12438
|
-
remove(this._views, view);
|
|
12439
|
-
view.detachFromAppRef();
|
|
12053
|
+
attachView(viewRef) {
|
|
12054
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12055
|
+
const view = viewRef;
|
|
12056
|
+
this._views.push(view);
|
|
12057
|
+
view.attachToAppRef(this);
|
|
12058
|
+
}
|
|
12059
|
+
detachView(viewRef) {
|
|
12060
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12061
|
+
const view = viewRef;
|
|
12062
|
+
remove(this._views, view);
|
|
12063
|
+
view.detachFromAppRef();
|
|
12064
|
+
}
|
|
12065
|
+
_loadComponent(componentRef) {
|
|
12066
|
+
this.attachView(componentRef.hostView);
|
|
12067
|
+
try {
|
|
12068
|
+
this.tick();
|
|
12069
|
+
} catch (e) {
|
|
12070
|
+
this.internalErrorHandler(e);
|
|
12071
|
+
}
|
|
12072
|
+
this.components.push(componentRef);
|
|
12073
|
+
const listeners = this._injector.get(APP_BOOTSTRAP_LISTENER, []);
|
|
12074
|
+
if (ngDevMode && !Array.isArray(listeners)) {
|
|
12075
|
+
throw new RuntimeError(-209, 'Unexpected type of the `APP_BOOTSTRAP_LISTENER` token value ' + `(expected an array, but got ${typeof listeners}). ` + 'Please check that the `APP_BOOTSTRAP_LISTENER` token is configured as a ' + '`multi: true` provider.');
|
|
12076
|
+
}
|
|
12077
|
+
listeners.forEach(listener => listener(componentRef));
|
|
12078
|
+
}
|
|
12079
|
+
ngOnDestroy() {
|
|
12080
|
+
if (this._destroyed) return;
|
|
12081
|
+
try {
|
|
12082
|
+
this._destroyListeners.forEach(listener => listener());
|
|
12083
|
+
this._views.slice().forEach(view => view.destroy());
|
|
12084
|
+
} finally {
|
|
12085
|
+
this._destroyed = true;
|
|
12086
|
+
this._views = [];
|
|
12087
|
+
this._destroyListeners = [];
|
|
12088
|
+
}
|
|
12089
|
+
}
|
|
12090
|
+
onDestroy(callback) {
|
|
12091
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12092
|
+
this._destroyListeners.push(callback);
|
|
12093
|
+
return () => remove(this._destroyListeners, callback);
|
|
12094
|
+
}
|
|
12095
|
+
destroy() {
|
|
12096
|
+
if (this._destroyed) {
|
|
12097
|
+
throw new RuntimeError(406, ngDevMode && 'This instance of the `ApplicationRef` has already been destroyed.');
|
|
12098
|
+
}
|
|
12099
|
+
const injector = this._injector;
|
|
12100
|
+
if (injector.destroy && !injector.destroyed) {
|
|
12101
|
+
injector.destroy();
|
|
12102
|
+
}
|
|
12103
|
+
}
|
|
12104
|
+
get viewCount() {
|
|
12105
|
+
return this._views.length;
|
|
12106
|
+
}
|
|
12107
|
+
static ɵfac = function ApplicationRef_Factory(__ngFactoryType__) {
|
|
12108
|
+
return new (__ngFactoryType__ || ApplicationRef)();
|
|
12109
|
+
};
|
|
12110
|
+
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
12111
|
+
token: ApplicationRef,
|
|
12112
|
+
factory: ApplicationRef.ɵfac,
|
|
12113
|
+
providedIn: 'root'
|
|
12114
|
+
});
|
|
12115
|
+
}
|
|
12116
|
+
(() => {
|
|
12117
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
|
|
12118
|
+
type: Injectable,
|
|
12119
|
+
args: [{
|
|
12120
|
+
providedIn: 'root'
|
|
12121
|
+
}]
|
|
12122
|
+
}], () => [], null);
|
|
12123
|
+
})();
|
|
12124
|
+
function warnIfDestroyed(destroyed) {
|
|
12125
|
+
if (destroyed) {
|
|
12126
|
+
console.warn(formatRuntimeError(406, 'This instance of the `ApplicationRef` has already been destroyed.'));
|
|
12127
|
+
}
|
|
12128
|
+
}
|
|
12129
|
+
function remove(list, el) {
|
|
12130
|
+
const index = list.indexOf(el);
|
|
12131
|
+
if (index > -1) {
|
|
12132
|
+
list.splice(index, 1);
|
|
12133
|
+
}
|
|
12134
|
+
}
|
|
12135
|
+
|
|
12136
|
+
function onIdle(callback, injector, options) {
|
|
12137
|
+
const scheduler = injector.get(IdleScheduler);
|
|
12138
|
+
const cleanupFn = () => scheduler.remove(callback);
|
|
12139
|
+
scheduler.add(callback, options);
|
|
12140
|
+
return cleanupFn;
|
|
12141
|
+
}
|
|
12142
|
+
function onIdleWrapper(options) {
|
|
12143
|
+
return (callback, injector) => onIdle(callback, injector, options);
|
|
12144
|
+
}
|
|
12145
|
+
class IdleScheduler {
|
|
12146
|
+
buckets = new Map();
|
|
12147
|
+
callbackBucket = new Map();
|
|
12148
|
+
applicationRef = inject(ApplicationRef);
|
|
12149
|
+
ngZone = inject(NgZone);
|
|
12150
|
+
idleService = inject(IDLE_SERVICE);
|
|
12151
|
+
add(callback, options) {
|
|
12152
|
+
const key = getIdleRequestKey(options);
|
|
12153
|
+
this.callbackBucket.set(callback, key);
|
|
12154
|
+
let bucket = this.buckets.get(key);
|
|
12155
|
+
if (bucket == null) {
|
|
12156
|
+
bucket = {
|
|
12157
|
+
idleId: null,
|
|
12158
|
+
queue: new Set()
|
|
12159
|
+
};
|
|
12160
|
+
this.buckets.set(key, bucket);
|
|
12161
|
+
}
|
|
12162
|
+
bucket.queue.add(callback);
|
|
12163
|
+
this.scheduleBucket(bucket, options);
|
|
12164
|
+
}
|
|
12165
|
+
remove(callback) {
|
|
12166
|
+
const key = this.callbackBucket.get(callback);
|
|
12167
|
+
if (key === undefined) return;
|
|
12168
|
+
this.callbackBucket.delete(callback);
|
|
12169
|
+
const bucket = this.buckets.get(key);
|
|
12170
|
+
if (!bucket) return;
|
|
12171
|
+
bucket.queue.delete(callback);
|
|
12172
|
+
if (bucket.queue.size === 0) {
|
|
12173
|
+
this.cancelBucket(bucket);
|
|
12174
|
+
this.buckets.delete(key);
|
|
12175
|
+
}
|
|
12176
|
+
}
|
|
12177
|
+
scheduleBucket(bucket, options) {
|
|
12178
|
+
if (bucket.idleId !== null) {
|
|
12179
|
+
return;
|
|
12180
|
+
}
|
|
12181
|
+
const key = getIdleRequestKey(options);
|
|
12182
|
+
const callback = deadline => {
|
|
12183
|
+
this.cancelBucket(bucket);
|
|
12184
|
+
for (const cb of bucket.queue) {
|
|
12185
|
+
cb();
|
|
12186
|
+
this.applicationRef._tick();
|
|
12187
|
+
bucket.queue.delete(cb);
|
|
12188
|
+
this.callbackBucket.delete(cb);
|
|
12189
|
+
if (deadline && deadline.timeRemaining() === 0 && !deadline.didTimeout) {
|
|
12190
|
+
break;
|
|
12191
|
+
}
|
|
12192
|
+
}
|
|
12193
|
+
if (bucket.queue.size > 0) {
|
|
12194
|
+
this.scheduleBucket(bucket, options);
|
|
12195
|
+
} else {
|
|
12196
|
+
this.buckets.delete(key);
|
|
12197
|
+
}
|
|
12198
|
+
};
|
|
12199
|
+
bucket.idleId = this.idleService.requestOnIdle(deadline => this.ngZone.run(() => callback(deadline)), options);
|
|
12200
|
+
}
|
|
12201
|
+
cancelBucket(bucket) {
|
|
12202
|
+
if (bucket.idleId !== null) {
|
|
12203
|
+
this.idleService.cancelOnIdle(bucket.idleId);
|
|
12204
|
+
bucket.idleId = null;
|
|
12205
|
+
}
|
|
12206
|
+
}
|
|
12207
|
+
ngOnDestroy() {
|
|
12208
|
+
for (const bucket of this.buckets.values()) {
|
|
12209
|
+
this.cancelBucket(bucket);
|
|
12210
|
+
}
|
|
12211
|
+
this.buckets.clear();
|
|
12212
|
+
this.callbackBucket.clear();
|
|
12213
|
+
}
|
|
12214
|
+
static ɵprov =
|
|
12215
|
+
/* @__PURE__ */
|
|
12216
|
+
__defineInjectable({
|
|
12217
|
+
token: IdleScheduler,
|
|
12218
|
+
providedIn: 'root',
|
|
12219
|
+
factory: () => new IdleScheduler()
|
|
12220
|
+
});
|
|
12221
|
+
}
|
|
12222
|
+
function getIdleRequestKey(options) {
|
|
12223
|
+
if (!options || options.timeout == null) {
|
|
12224
|
+
return '';
|
|
12225
|
+
}
|
|
12226
|
+
return `${options.timeout}`;
|
|
12227
|
+
}
|
|
12228
|
+
|
|
12229
|
+
function onTimer(delay) {
|
|
12230
|
+
return (callback, injector) => scheduleTimerTrigger(delay, callback, injector);
|
|
12231
|
+
}
|
|
12232
|
+
function scheduleTimerTrigger(delay, callback, injector) {
|
|
12233
|
+
const scheduler = injector.get(TimerScheduler);
|
|
12234
|
+
const ngZone = injector.get(NgZone);
|
|
12235
|
+
const cleanupFn = () => scheduler.remove(callback);
|
|
12236
|
+
scheduler.add(delay, callback, ngZone);
|
|
12237
|
+
return cleanupFn;
|
|
12238
|
+
}
|
|
12239
|
+
class TimerScheduler {
|
|
12240
|
+
executingCallbacks = false;
|
|
12241
|
+
timeoutId = null;
|
|
12242
|
+
invokeTimerAt = null;
|
|
12243
|
+
current = [];
|
|
12244
|
+
deferred = [];
|
|
12245
|
+
add(delay, callback, ngZone) {
|
|
12246
|
+
const target = this.executingCallbacks ? this.deferred : this.current;
|
|
12247
|
+
this.addToQueue(target, Date.now() + delay, callback);
|
|
12248
|
+
this.scheduleTimer(ngZone);
|
|
12249
|
+
}
|
|
12250
|
+
remove(callback) {
|
|
12251
|
+
const {
|
|
12252
|
+
current,
|
|
12253
|
+
deferred
|
|
12254
|
+
} = this;
|
|
12255
|
+
const callbackIndex = this.removeFromQueue(current, callback);
|
|
12256
|
+
if (callbackIndex === -1) {
|
|
12257
|
+
this.removeFromQueue(deferred, callback);
|
|
12258
|
+
}
|
|
12259
|
+
if (current.length === 0 && deferred.length === 0) {
|
|
12260
|
+
this.clearTimeout();
|
|
12261
|
+
}
|
|
12262
|
+
}
|
|
12263
|
+
addToQueue(target, invokeAt, callback) {
|
|
12264
|
+
let insertAtIndex = target.length;
|
|
12265
|
+
for (let i = 0; i < target.length; i += 2) {
|
|
12266
|
+
const invokeQueuedCallbackAt = target[i];
|
|
12267
|
+
if (invokeQueuedCallbackAt > invokeAt) {
|
|
12268
|
+
insertAtIndex = i;
|
|
12269
|
+
break;
|
|
12270
|
+
}
|
|
12271
|
+
}
|
|
12272
|
+
arrayInsert2(target, insertAtIndex, invokeAt, callback);
|
|
12273
|
+
}
|
|
12274
|
+
removeFromQueue(target, callback) {
|
|
12275
|
+
let index = -1;
|
|
12276
|
+
for (let i = 0; i < target.length; i += 2) {
|
|
12277
|
+
const queuedCallback = target[i + 1];
|
|
12278
|
+
if (queuedCallback === callback) {
|
|
12279
|
+
index = i;
|
|
12280
|
+
break;
|
|
12281
|
+
}
|
|
12282
|
+
}
|
|
12283
|
+
if (index > -1) {
|
|
12284
|
+
arraySplice(target, index, 2);
|
|
12285
|
+
}
|
|
12286
|
+
return index;
|
|
12287
|
+
}
|
|
12288
|
+
scheduleTimer(ngZone) {
|
|
12289
|
+
const callback = () => {
|
|
12290
|
+
this.clearTimeout();
|
|
12291
|
+
this.executingCallbacks = true;
|
|
12292
|
+
const current = [...this.current];
|
|
12293
|
+
const now = Date.now();
|
|
12294
|
+
for (let i = 0; i < current.length; i += 2) {
|
|
12295
|
+
const invokeAt = current[i];
|
|
12296
|
+
const callback = current[i + 1];
|
|
12297
|
+
if (invokeAt <= now) {
|
|
12298
|
+
callback();
|
|
12299
|
+
} else {
|
|
12300
|
+
break;
|
|
12301
|
+
}
|
|
12302
|
+
}
|
|
12303
|
+
let lastCallbackIndex = -1;
|
|
12304
|
+
for (let i = 0; i < this.current.length; i += 2) {
|
|
12305
|
+
const invokeAt = this.current[i];
|
|
12306
|
+
if (invokeAt <= now) {
|
|
12307
|
+
lastCallbackIndex = i + 1;
|
|
12308
|
+
} else {
|
|
12309
|
+
break;
|
|
12310
|
+
}
|
|
12311
|
+
}
|
|
12312
|
+
if (lastCallbackIndex >= 0) {
|
|
12313
|
+
arraySplice(this.current, 0, lastCallbackIndex + 1);
|
|
12314
|
+
}
|
|
12315
|
+
this.executingCallbacks = false;
|
|
12316
|
+
if (this.deferred.length > 0) {
|
|
12317
|
+
for (let i = 0; i < this.deferred.length; i += 2) {
|
|
12318
|
+
const invokeAt = this.deferred[i];
|
|
12319
|
+
const callback = this.deferred[i + 1];
|
|
12320
|
+
this.addToQueue(this.current, invokeAt, callback);
|
|
12321
|
+
}
|
|
12322
|
+
this.deferred.length = 0;
|
|
12323
|
+
}
|
|
12324
|
+
this.scheduleTimer(ngZone);
|
|
12325
|
+
};
|
|
12326
|
+
const FRAME_DURATION_MS = 16;
|
|
12327
|
+
if (this.current.length > 0) {
|
|
12328
|
+
const now = Date.now();
|
|
12329
|
+
const invokeAt = this.current[0];
|
|
12330
|
+
if (this.timeoutId === null || this.invokeTimerAt && this.invokeTimerAt - invokeAt > FRAME_DURATION_MS) {
|
|
12331
|
+
this.clearTimeout();
|
|
12332
|
+
const timeout = Math.max(invokeAt - now, FRAME_DURATION_MS);
|
|
12333
|
+
this.invokeTimerAt = invokeAt;
|
|
12334
|
+
this.timeoutId = ngZone.runOutsideAngular(() => {
|
|
12335
|
+
return setTimeout(() => ngZone.run(callback), timeout);
|
|
12336
|
+
});
|
|
12337
|
+
}
|
|
12338
|
+
}
|
|
12339
|
+
}
|
|
12340
|
+
clearTimeout() {
|
|
12341
|
+
if (this.timeoutId !== null) {
|
|
12342
|
+
clearTimeout(this.timeoutId);
|
|
12343
|
+
this.timeoutId = null;
|
|
12344
|
+
}
|
|
12345
|
+
}
|
|
12346
|
+
ngOnDestroy() {
|
|
12347
|
+
this.clearTimeout();
|
|
12348
|
+
this.current.length = 0;
|
|
12349
|
+
this.deferred.length = 0;
|
|
12440
12350
|
}
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12451
|
-
|
|
12351
|
+
static ɵprov =
|
|
12352
|
+
/* @__PURE__ */
|
|
12353
|
+
__defineInjectable({
|
|
12354
|
+
token: TimerScheduler,
|
|
12355
|
+
providedIn: 'root',
|
|
12356
|
+
factory: () => new TimerScheduler()
|
|
12357
|
+
});
|
|
12358
|
+
}
|
|
12359
|
+
|
|
12360
|
+
class CachedInjectorService {
|
|
12361
|
+
cachedInjectors = new Map();
|
|
12362
|
+
getOrCreateInjector(key, parentInjector, providers, debugName) {
|
|
12363
|
+
if (!this.cachedInjectors.has(key)) {
|
|
12364
|
+
const injector = providers.length > 0 ? createEnvironmentInjector(providers, parentInjector, debugName) : null;
|
|
12365
|
+
this.cachedInjectors.set(key, injector);
|
|
12452
12366
|
}
|
|
12453
|
-
|
|
12367
|
+
return this.cachedInjectors.get(key);
|
|
12454
12368
|
}
|
|
12455
12369
|
ngOnDestroy() {
|
|
12456
|
-
if (this._destroyed) return;
|
|
12457
12370
|
try {
|
|
12458
|
-
this.
|
|
12459
|
-
|
|
12371
|
+
for (const injector of this.cachedInjectors.values()) {
|
|
12372
|
+
if (injector !== null) {
|
|
12373
|
+
injector.destroy();
|
|
12374
|
+
}
|
|
12375
|
+
}
|
|
12460
12376
|
} finally {
|
|
12461
|
-
this.
|
|
12462
|
-
this._views = [];
|
|
12463
|
-
this._destroyListeners = [];
|
|
12377
|
+
this.cachedInjectors.clear();
|
|
12464
12378
|
}
|
|
12465
12379
|
}
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
|
|
12469
|
-
|
|
12380
|
+
static ɵprov =
|
|
12381
|
+
/* @__PURE__ */
|
|
12382
|
+
__defineInjectable({
|
|
12383
|
+
token: CachedInjectorService,
|
|
12384
|
+
providedIn: 'environment',
|
|
12385
|
+
factory: () => new CachedInjectorService()
|
|
12386
|
+
});
|
|
12387
|
+
}
|
|
12388
|
+
|
|
12389
|
+
const DEFER_BLOCK_DEPENDENCY_INTERCEPTOR = /* @__PURE__ */new InjectionToken('DEFER_BLOCK_DEPENDENCY_INTERCEPTOR');
|
|
12390
|
+
const DEFER_BLOCK_CONFIG = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'DEFER_BLOCK_CONFIG' : '');
|
|
12391
|
+
function getOrCreateEnvironmentInjector(parentInjector, tDetails, providers) {
|
|
12392
|
+
return parentInjector.get(CachedInjectorService).getOrCreateInjector(tDetails, parentInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
|
|
12393
|
+
}
|
|
12394
|
+
function createDeferBlockInjector(parentInjector, tDetails, providers) {
|
|
12395
|
+
if (parentInjector instanceof ChainedInjector) {
|
|
12396
|
+
const origInjector = parentInjector.injector;
|
|
12397
|
+
const parentEnvInjector = parentInjector.parentInjector;
|
|
12398
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
12399
|
+
return new ChainedInjector(origInjector, envInjector);
|
|
12470
12400
|
}
|
|
12471
|
-
|
|
12472
|
-
|
|
12473
|
-
|
|
12401
|
+
const parentEnvInjector = parentInjector.get(EnvironmentInjector);
|
|
12402
|
+
if (parentEnvInjector !== parentInjector) {
|
|
12403
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
12404
|
+
return new ChainedInjector(parentInjector, envInjector);
|
|
12405
|
+
}
|
|
12406
|
+
return getOrCreateEnvironmentInjector(parentInjector, tDetails, providers);
|
|
12407
|
+
}
|
|
12408
|
+
function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling = false) {
|
|
12409
|
+
const hostLView = lContainer[PARENT];
|
|
12410
|
+
const hostTView = hostLView[TVIEW];
|
|
12411
|
+
if (isDestroyed(hostLView)) return;
|
|
12412
|
+
ngDevMode && assertTNodeForLView(tNode, hostLView);
|
|
12413
|
+
const lDetails = getLDeferBlockDetails(hostLView, tNode);
|
|
12414
|
+
ngDevMode && assertDefined(lDetails, 'Expected a defer block state defined');
|
|
12415
|
+
const currentState = lDetails[DEFER_BLOCK_STATE];
|
|
12416
|
+
const ssrState = lDetails[SSR_BLOCK_STATE];
|
|
12417
|
+
if (ssrState !== null && newState < ssrState) {
|
|
12418
|
+
return;
|
|
12419
|
+
}
|
|
12420
|
+
if (isValidStateChange(currentState, newState) && isValidStateChange(lDetails[NEXT_DEFER_BLOCK_STATE] ?? -1, newState)) {
|
|
12421
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12422
|
+
const needsScheduling = !skipTimerScheduling && (typeof ngServerMode === 'undefined' || !ngServerMode) && (getLoadingBlockAfter(tDetails) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Loading) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Placeholder));
|
|
12423
|
+
if (ngDevMode && needsScheduling) {
|
|
12424
|
+
assertDefined(applyDeferBlockStateWithSchedulingImpl, 'Expected scheduling function to be defined');
|
|
12474
12425
|
}
|
|
12475
|
-
const
|
|
12476
|
-
|
|
12477
|
-
|
|
12426
|
+
const applyStateFn = needsScheduling ? applyDeferBlockStateWithSchedulingImpl : applyDeferBlockState;
|
|
12427
|
+
try {
|
|
12428
|
+
applyStateFn(newState, lDetails, lContainer, tNode, hostLView);
|
|
12429
|
+
} catch (error) {
|
|
12430
|
+
handleUncaughtError(hostLView, error);
|
|
12478
12431
|
}
|
|
12479
12432
|
}
|
|
12480
|
-
|
|
12481
|
-
|
|
12433
|
+
}
|
|
12434
|
+
function findMatchingDehydratedViewForDeferBlock(lContainer, lDetails) {
|
|
12435
|
+
const dehydratedViewIx = lContainer[DEHYDRATED_VIEWS]?.findIndex(view => view.data[DEFER_BLOCK_STATE$1] === lDetails[DEFER_BLOCK_STATE]) ?? -1;
|
|
12436
|
+
const dehydratedView = dehydratedViewIx > -1 ? lContainer[DEHYDRATED_VIEWS][dehydratedViewIx] : null;
|
|
12437
|
+
return {
|
|
12438
|
+
dehydratedView,
|
|
12439
|
+
dehydratedViewIx
|
|
12440
|
+
};
|
|
12441
|
+
}
|
|
12442
|
+
function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView) {
|
|
12443
|
+
profiler(ProfilerEvent.DeferBlockStateStart);
|
|
12444
|
+
const stateTmplIndex = getTemplateIndexForState(newState, hostLView, tNode);
|
|
12445
|
+
if (stateTmplIndex !== null) {
|
|
12446
|
+
lDetails[DEFER_BLOCK_STATE] = newState;
|
|
12447
|
+
const hostTView = hostLView[TVIEW];
|
|
12448
|
+
const adjustedIndex = stateTmplIndex + HEADER_OFFSET;
|
|
12449
|
+
const activeBlockTNode = getTNode(hostTView, adjustedIndex);
|
|
12450
|
+
const viewIndex = 0;
|
|
12451
|
+
removeLViewFromLContainer(lContainer, viewIndex);
|
|
12452
|
+
let injector;
|
|
12453
|
+
if (newState === DeferBlockState.Complete) {
|
|
12454
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12455
|
+
const providers = tDetails.providers;
|
|
12456
|
+
if (providers && providers.length > 0) {
|
|
12457
|
+
injector = createDeferBlockInjector(hostLView[INJECTOR], tDetails, providers);
|
|
12458
|
+
}
|
|
12459
|
+
}
|
|
12460
|
+
const {
|
|
12461
|
+
dehydratedView,
|
|
12462
|
+
dehydratedViewIx
|
|
12463
|
+
} = findMatchingDehydratedViewForDeferBlock(lContainer, lDetails);
|
|
12464
|
+
const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, {
|
|
12465
|
+
injector,
|
|
12466
|
+
dehydratedView
|
|
12467
|
+
});
|
|
12468
|
+
addLViewToLContainer(lContainer, embeddedLView, viewIndex, shouldAddViewToDom(activeBlockTNode, dehydratedView));
|
|
12469
|
+
markViewForRefresh(embeddedLView);
|
|
12470
|
+
if (dehydratedViewIx > -1) {
|
|
12471
|
+
lContainer[DEHYDRATED_VIEWS]?.splice(dehydratedViewIx, 1);
|
|
12472
|
+
}
|
|
12473
|
+
if ((newState === DeferBlockState.Complete || newState === DeferBlockState.Error) && Array.isArray(lDetails[ON_COMPLETE_FNS])) {
|
|
12474
|
+
for (const callback of lDetails[ON_COMPLETE_FNS]) {
|
|
12475
|
+
callback();
|
|
12476
|
+
}
|
|
12477
|
+
lDetails[ON_COMPLETE_FNS] = null;
|
|
12478
|
+
}
|
|
12482
12479
|
}
|
|
12483
|
-
|
|
12484
|
-
|
|
12480
|
+
profiler(ProfilerEvent.DeferBlockStateEnd);
|
|
12481
|
+
}
|
|
12482
|
+
function applyDeferBlockStateWithScheduling(newState, lDetails, lContainer, tNode, hostLView) {
|
|
12483
|
+
const now = Date.now();
|
|
12484
|
+
const hostTView = hostLView[TVIEW];
|
|
12485
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12486
|
+
if (lDetails[STATE_IS_FROZEN_UNTIL] === null || lDetails[STATE_IS_FROZEN_UNTIL] <= now) {
|
|
12487
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
12488
|
+
const loadingAfter = getLoadingBlockAfter(tDetails);
|
|
12489
|
+
const inLoadingAfterPhase = lDetails[LOADING_AFTER_CLEANUP_FN] !== null;
|
|
12490
|
+
if (newState === DeferBlockState.Loading && loadingAfter !== null && !inLoadingAfterPhase) {
|
|
12491
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
12492
|
+
const cleanupFn = scheduleDeferBlockUpdate(loadingAfter, lDetails, tNode, lContainer, hostLView);
|
|
12493
|
+
lDetails[LOADING_AFTER_CLEANUP_FN] = cleanupFn;
|
|
12494
|
+
} else {
|
|
12495
|
+
if (newState > DeferBlockState.Loading && inLoadingAfterPhase) {
|
|
12496
|
+
lDetails[LOADING_AFTER_CLEANUP_FN]();
|
|
12497
|
+
lDetails[LOADING_AFTER_CLEANUP_FN] = null;
|
|
12498
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
12499
|
+
}
|
|
12500
|
+
applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView);
|
|
12501
|
+
const duration = getMinimumDurationForState(tDetails, newState);
|
|
12502
|
+
if (duration !== null) {
|
|
12503
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = now + duration;
|
|
12504
|
+
scheduleDeferBlockUpdate(duration, lDetails, tNode, lContainer, hostLView);
|
|
12505
|
+
}
|
|
12506
|
+
}
|
|
12507
|
+
} else {
|
|
12508
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
12509
|
+
}
|
|
12510
|
+
}
|
|
12511
|
+
function scheduleDeferBlockUpdate(timeout, lDetails, tNode, lContainer, hostLView) {
|
|
12512
|
+
const callback = () => {
|
|
12513
|
+
const nextState = lDetails[NEXT_DEFER_BLOCK_STATE];
|
|
12514
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
12515
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
12516
|
+
if (nextState !== null) {
|
|
12517
|
+
renderDeferBlockState(nextState, tNode, lContainer);
|
|
12518
|
+
}
|
|
12485
12519
|
};
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12520
|
+
return scheduleTimerTrigger(timeout, callback, hostLView[INJECTOR]);
|
|
12521
|
+
}
|
|
12522
|
+
function isValidStateChange(currentState, newState) {
|
|
12523
|
+
return currentState < newState;
|
|
12524
|
+
}
|
|
12525
|
+
function renderPlaceholder(lView, tNode) {
|
|
12526
|
+
const lContainer = lView[tNode.index];
|
|
12527
|
+
ngDevMode && assertLContainer(lContainer);
|
|
12528
|
+
renderDeferBlockState(DeferBlockState.Placeholder, tNode, lContainer);
|
|
12529
|
+
}
|
|
12530
|
+
function renderDeferStateAfterResourceLoading(tDetails, tNode, lContainer) {
|
|
12531
|
+
ngDevMode && assertDefined(tDetails.loadingPromise, 'Expected loading Promise to exist on this defer block');
|
|
12532
|
+
tDetails.loadingPromise.then(() => {
|
|
12533
|
+
if (tDetails.loadingState === DeferDependenciesLoadingState.COMPLETE) {
|
|
12534
|
+
ngDevMode && assertDeferredDependenciesLoaded(tDetails);
|
|
12535
|
+
renderDeferBlockState(DeferBlockState.Complete, tNode, lContainer);
|
|
12536
|
+
} else if (tDetails.loadingState === DeferDependenciesLoadingState.FAILED) {
|
|
12537
|
+
renderDeferBlockState(DeferBlockState.Error, tNode, lContainer);
|
|
12538
|
+
}
|
|
12490
12539
|
});
|
|
12491
12540
|
}
|
|
12492
|
-
|
|
12493
|
-
|
|
12494
|
-
|
|
12495
|
-
|
|
12496
|
-
|
|
12497
|
-
}]
|
|
12498
|
-
}], () => [], null);
|
|
12499
|
-
})();
|
|
12500
|
-
function warnIfDestroyed(destroyed) {
|
|
12501
|
-
if (destroyed) {
|
|
12502
|
-
console.warn(formatRuntimeError(406, 'This instance of the `ApplicationRef` has already been destroyed.'));
|
|
12541
|
+
let applyDeferBlockStateWithSchedulingImpl = null;
|
|
12542
|
+
function ɵɵdeferEnableTimerScheduling(tView, tDetails, placeholderConfigIndex, loadingConfigIndex) {
|
|
12543
|
+
const tViewConsts = tView.consts;
|
|
12544
|
+
if (placeholderConfigIndex != null) {
|
|
12545
|
+
tDetails.placeholderBlockConfig = getConstant(tViewConsts, placeholderConfigIndex);
|
|
12503
12546
|
}
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
if (
|
|
12508
|
-
|
|
12547
|
+
if (loadingConfigIndex != null) {
|
|
12548
|
+
tDetails.loadingBlockConfig = getConstant(tViewConsts, loadingConfigIndex);
|
|
12549
|
+
}
|
|
12550
|
+
if (applyDeferBlockStateWithSchedulingImpl === null) {
|
|
12551
|
+
applyDeferBlockStateWithSchedulingImpl = applyDeferBlockStateWithScheduling;
|
|
12509
12552
|
}
|
|
12510
12553
|
}
|
|
12511
12554
|
|
|
@@ -13047,29 +13090,36 @@ function ɵɵdeferHydrateNever() {
|
|
|
13047
13090
|
triggerDeferBlock(2, lView, tNode);
|
|
13048
13091
|
}
|
|
13049
13092
|
}
|
|
13050
|
-
function ɵɵdeferOnIdle() {
|
|
13093
|
+
function ɵɵdeferOnIdle(timeout) {
|
|
13051
13094
|
const lView = getLView();
|
|
13052
13095
|
const tNode = getCurrentTNode();
|
|
13053
13096
|
if (ngDevMode) {
|
|
13054
|
-
|
|
13097
|
+
const expression = timeout ? `on idle(${timeout})` : 'on idle';
|
|
13098
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13055
13099
|
}
|
|
13056
13100
|
if (!shouldAttachTrigger(0, lView, tNode)) return;
|
|
13057
|
-
scheduleDelayedTrigger(
|
|
13101
|
+
scheduleDelayedTrigger(onIdleWrapper({
|
|
13102
|
+
timeout
|
|
13103
|
+
}));
|
|
13058
13104
|
}
|
|
13059
|
-
function ɵɵdeferPrefetchOnIdle() {
|
|
13105
|
+
function ɵɵdeferPrefetchOnIdle(timeout) {
|
|
13060
13106
|
const lView = getLView();
|
|
13061
13107
|
const tNode = getCurrentTNode();
|
|
13062
13108
|
if (ngDevMode) {
|
|
13063
|
-
|
|
13109
|
+
const expression = timeout ? `prefetch on idle(${timeout})` : 'prefetch on idle';
|
|
13110
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13064
13111
|
}
|
|
13065
13112
|
if (!shouldAttachTrigger(1, lView, tNode)) return;
|
|
13066
|
-
scheduleDelayedPrefetching(
|
|
13113
|
+
scheduleDelayedPrefetching(onIdleWrapper({
|
|
13114
|
+
timeout
|
|
13115
|
+
}));
|
|
13067
13116
|
}
|
|
13068
|
-
function ɵɵdeferHydrateOnIdle() {
|
|
13117
|
+
function ɵɵdeferHydrateOnIdle(timeout) {
|
|
13069
13118
|
const lView = getLView();
|
|
13070
13119
|
const tNode = getCurrentTNode();
|
|
13071
13120
|
if (ngDevMode) {
|
|
13072
|
-
|
|
13121
|
+
const expression = timeout ? `hydrate on idle(${timeout})` : 'hydrate on idle';
|
|
13122
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13073
13123
|
}
|
|
13074
13124
|
if (!shouldAttachTrigger(2, lView, tNode)) return;
|
|
13075
13125
|
const hydrateTriggers = getHydrateTriggers(getTView(), tNode);
|
|
@@ -13077,7 +13127,9 @@ function ɵɵdeferHydrateOnIdle() {
|
|
|
13077
13127
|
if (typeof ngServerMode !== 'undefined' && ngServerMode) {
|
|
13078
13128
|
triggerDeferBlock(2, lView, tNode);
|
|
13079
13129
|
} else {
|
|
13080
|
-
scheduleDelayedHydrating(
|
|
13130
|
+
scheduleDelayedHydrating(onIdleWrapper({
|
|
13131
|
+
timeout
|
|
13132
|
+
}), lView, tNode);
|
|
13081
13133
|
}
|
|
13082
13134
|
}
|
|
13083
13135
|
function ɵɵdeferOnImmediate() {
|
|
@@ -18113,12 +18165,12 @@ class ChangeDetectionSchedulerImpl {
|
|
|
18113
18165
|
}
|
|
18114
18166
|
switch (source) {
|
|
18115
18167
|
case 0:
|
|
18168
|
+
case 2:
|
|
18116
18169
|
{
|
|
18117
18170
|
this.appRef.dirtyFlags |= 2;
|
|
18118
18171
|
break;
|
|
18119
18172
|
}
|
|
18120
18173
|
case 3:
|
|
18121
|
-
case 2:
|
|
18122
18174
|
case 4:
|
|
18123
18175
|
case 5:
|
|
18124
18176
|
case 1:
|
|
@@ -18606,5 +18658,5 @@ function getDebugNode(nativeNode) {
|
|
|
18606
18658
|
return null;
|
|
18607
18659
|
}
|
|
18608
18660
|
|
|
18609
|
-
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, 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, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, 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, MAX_ANIMATION_TIMEOUT, 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, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, 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, allLeavingAnimations, 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, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵ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, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵ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, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18661
|
+
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, 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, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, 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, MAX_ANIMATION_TIMEOUT, 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, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, 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, allLeavingAnimations, 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, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideIdleServiceWith, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵ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, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵ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, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18610
18662
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|