@angular/core 17.0.8 → 17.0.9

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.
Files changed (50) hide show
  1. package/esm2022/src/application/application_ref.mjs +21 -5
  2. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +56 -0
  3. package/esm2022/src/core_private_export.mjs +2 -1
  4. package/esm2022/src/core_render3_private_export.mjs +1 -2
  5. package/esm2022/src/defer/dom_triggers.mjs +1 -5
  6. package/esm2022/src/di/inject_switch.mjs +2 -3
  7. package/esm2022/src/di/r3_injector.mjs +8 -6
  8. package/esm2022/src/errors.mjs +1 -1
  9. package/esm2022/src/hydration/utils.mjs +2 -2
  10. package/esm2022/src/hydration/views.mjs +2 -2
  11. package/esm2022/src/linker/view_container_ref.mjs +2 -2
  12. package/esm2022/src/render3/after_render_hooks.mjs +15 -33
  13. package/esm2022/src/render3/collect_native_nodes.mjs +2 -3
  14. package/esm2022/src/render3/component_ref.mjs +1 -1
  15. package/esm2022/src/render3/debug/injector_profiler.mjs +1 -1
  16. package/esm2022/src/render3/errors_di.mjs +4 -3
  17. package/esm2022/src/render3/instructions/advance.mjs +2 -2
  18. package/esm2022/src/render3/instructions/change_detection.mjs +1 -6
  19. package/esm2022/src/render3/instructions/mark_view_dirty.mjs +2 -2
  20. package/esm2022/src/render3/instructions/shared.mjs +2 -2
  21. package/esm2022/src/render3/interfaces/container.mjs +1 -6
  22. package/esm2022/src/render3/node_manipulation.mjs +8 -8
  23. package/esm2022/src/render3/reactivity/effect.mjs +8 -6
  24. package/esm2022/src/render3/styling/style_binding_list.mjs +4 -4
  25. package/esm2022/src/render3/util/discovery_utils.mjs +3 -3
  26. package/esm2022/src/render3/util/global_utils.mjs +28 -28
  27. package/esm2022/src/render3/util/injector_discovery_utils.mjs +1 -1
  28. package/esm2022/src/render3/util/injector_utils.mjs +6 -5
  29. package/esm2022/src/render3/util/view_traversal_utils.mjs +3 -12
  30. package/esm2022/src/render3/util/view_utils.mjs +19 -15
  31. package/esm2022/src/version.mjs +1 -1
  32. package/esm2022/testing/src/component_fixture.mjs +62 -58
  33. package/esm2022/testing/src/logger.mjs +3 -3
  34. package/fesm2022/core.mjs +206 -177
  35. package/fesm2022/core.mjs.map +1 -1
  36. package/fesm2022/primitives/signals.mjs +1 -1
  37. package/fesm2022/rxjs-interop.mjs +1 -1
  38. package/fesm2022/testing.mjs +62 -58
  39. package/fesm2022/testing.mjs.map +1 -1
  40. package/index.d.ts +368 -25
  41. package/package.json +1 -1
  42. package/primitives/signals/index.d.ts +1 -1
  43. package/rxjs-interop/index.d.ts +1 -1
  44. package/schematics/migrations/block-template-entities/bundle.js +66 -103
  45. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  46. package/schematics/ng-generate/control-flow-migration/bundle.js +67 -104
  47. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  48. package/schematics/ng-generate/standalone-migration/bundle.js +83 -118
  49. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  50. package/testing/index.d.ts +6 -2
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.8
2
+ * @license Angular v17.0.9
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -642,6 +642,7 @@ export declare class ApplicationRef {
642
642
  private _destroyed;
643
643
  private _destroyListeners;
644
644
  private readonly internalErrorHandler;
645
+ private readonly afterRenderEffectManager;
645
646
  /**
646
647
  * Indicates whether this instance was destroyed.
647
648
  */
@@ -787,6 +788,18 @@ export declare class ApplicationRef {
787
788
  static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationRef>;
788
789
  }
789
790
 
791
+
792
+ /**
793
+ * Marks a component for check (in case of OnPush components) and synchronously
794
+ * performs change detection on the application this component belongs to.
795
+ *
796
+ * @param component Component to {@link ChangeDetectorRef#markForCheck mark for check}.
797
+ *
798
+ * @publicApi
799
+ * @globalApi ng
800
+ */
801
+ declare function applyChanges(component: {}): void;
802
+
790
803
  /**
791
804
  * @publicApi
792
805
  */
@@ -3040,6 +3053,18 @@ export declare interface Directive {
3040
3053
  */
3041
3054
  export declare const Directive: DirectiveDecorator;
3042
3055
 
3056
+ /**
3057
+ * Partial metadata for a given directive instance.
3058
+ * This information might be useful for debugging purposes or tooling.
3059
+ * Currently only `inputs` and `outputs` metadata is available.
3060
+ *
3061
+ * @publicApi
3062
+ */
3063
+ declare interface DirectiveDebugMetadata {
3064
+ inputs: Record<string, string>;
3065
+ outputs: Record<string, string>;
3066
+ }
3067
+
3043
3068
  /**
3044
3069
  * Type of the Directive decorator / constructor function.
3045
3070
  * @publicApi
@@ -3910,6 +3935,49 @@ export declare interface ForwardRefFn {
3910
3935
  (): any;
3911
3936
  }
3912
3937
 
3938
+ /**
3939
+ * Retrieves the component instance associated with a given DOM element.
3940
+ *
3941
+ * @usageNotes
3942
+ * Given the following DOM structure:
3943
+ *
3944
+ * ```html
3945
+ * <app-root>
3946
+ * <div>
3947
+ * <child-comp></child-comp>
3948
+ * </div>
3949
+ * </app-root>
3950
+ * ```
3951
+ *
3952
+ * Calling `getComponent` on `<child-comp>` will return the instance of `ChildComponent`
3953
+ * associated with this DOM element.
3954
+ *
3955
+ * Calling the function on `<app-root>` will return the `MyApp` instance.
3956
+ *
3957
+ *
3958
+ * @param element DOM element from which the component should be retrieved.
3959
+ * @returns Component instance associated with the element or `null` if there
3960
+ * is no component associated with it.
3961
+ *
3962
+ * @publicApi
3963
+ * @globalApi ng
3964
+ */
3965
+ declare function getComponent<T>(element: Element): T | null;
3966
+
3967
+ /**
3968
+ * If inside an embedded view (e.g. `*ngIf` or `*ngFor`), retrieves the context of the embedded
3969
+ * view that the element is part of. Otherwise retrieves the instance of the component whose view
3970
+ * owns the element (in this case, the result is the same as calling `getOwningComponent`).
3971
+ *
3972
+ * @param element Element for which to get the surrounding component instance.
3973
+ * @returns Instance of the component that is around the element or null if the element isn't
3974
+ * inside any component.
3975
+ *
3976
+ * @publicApi
3977
+ * @globalApi ng
3978
+ */
3979
+ declare function getContext<T extends {}>(element: Element): T | null;
3980
+
3913
3981
  /**
3914
3982
  * @publicApi
3915
3983
  */
@@ -3917,6 +3985,115 @@ declare function getDebugNode(nativeNode: any): DebugNode | null;
3917
3985
  export { getDebugNode }
3918
3986
  export { getDebugNode as ɵgetDebugNode }
3919
3987
 
3988
+ /**
3989
+ * Discovers the dependencies of an injectable instance. Provides DI information about each
3990
+ * dependency that the injectable was instantiated with, including where they were provided from.
3991
+ *
3992
+ * @param injector An injector instance
3993
+ * @param token a DI token that was constructed by the given injector instance
3994
+ * @returns an object that contains the created instance of token as well as all of the dependencies
3995
+ * that it was instantiated with OR undefined if the token was not created within the given
3996
+ * injector.
3997
+ */
3998
+ declare function getDependenciesFromInjectable<T>(injector: Injector, token: Type<T> | InjectionToken<T>): {
3999
+ instance: T;
4000
+ dependencies: Omit<InjectedService, 'injectedIn'>[];
4001
+ } | undefined;
4002
+
4003
+ /**
4004
+ * Returns the debug (partial) metadata for a particular directive or component instance.
4005
+ * The function accepts an instance of a directive or component and returns the corresponding
4006
+ * metadata.
4007
+ *
4008
+ * @param directiveOrComponentInstance Instance of a directive or component
4009
+ * @returns metadata of the passed directive or component
4010
+ *
4011
+ * @publicApi
4012
+ * @globalApi ng
4013
+ */
4014
+ declare function getDirectiveMetadata(directiveOrComponentInstance: any): ɵComponentDebugMetadata | DirectiveDebugMetadata | null;
4015
+
4016
+ /**
4017
+ * Retrieves an `Injector` associated with an element, component or directive instance.
4018
+ *
4019
+ * @param elementOrDir DOM element, component or directive instance for which to
4020
+ * retrieve the injector.
4021
+ * @returns Injector associated with the element, component or directive instance.
4022
+ *
4023
+ * @publicApi
4024
+ * @globalApi ng
4025
+ */
4026
+ declare function getInjector(elementOrDir: Element | {}): Injector;
4027
+
4028
+ /**
4029
+ *
4030
+ * Given an injector, this function will return
4031
+ * an object containing the type and source of the injector.
4032
+ *
4033
+ * | | type | source |
4034
+ * |--------------|-------------|-------------------------------------------------------------|
4035
+ * | NodeInjector | element | DOM element that created this injector |
4036
+ * | R3Injector | environment | `injector.source` |
4037
+ * | NullInjector | null | null |
4038
+ *
4039
+ * @param injector the Injector to get metadata for
4040
+ * @returns an object containing the type and source of the given injector. If the injector metadata
4041
+ * cannot be determined, returns null.
4042
+ */
4043
+ declare function getInjectorMetadata(injector: Injector): {
4044
+ type: 'element';
4045
+ source: RElement;
4046
+ } | {
4047
+ type: 'environment';
4048
+ source: string | null;
4049
+ } | {
4050
+ type: 'null';
4051
+ source: null;
4052
+ } | null;
4053
+
4054
+ /**
4055
+ * Gets the providers configured on an injector.
4056
+ *
4057
+ * @param injector the injector to lookup the providers of
4058
+ * @returns ProviderRecord[] an array of objects representing the providers of the given injector
4059
+ */
4060
+ declare function getInjectorProviders(injector: Injector): ɵProviderRecord[];
4061
+
4062
+ declare function getInjectorResolutionPath(injector: Injector): Injector[];
4063
+
4064
+ /**
4065
+ * Retrieves a list of event listeners associated with a DOM element. The list does include host
4066
+ * listeners, but it does not include event listeners defined outside of the Angular context
4067
+ * (e.g. through `addEventListener`).
4068
+ *
4069
+ * @usageNotes
4070
+ * Given the following DOM structure:
4071
+ *
4072
+ * ```html
4073
+ * <app-root>
4074
+ * <div (click)="doSomething()"></div>
4075
+ * </app-root>
4076
+ * ```
4077
+ *
4078
+ * Calling `getListeners` on `<div>` will return an object that looks as follows:
4079
+ *
4080
+ * ```ts
4081
+ * {
4082
+ * name: 'click',
4083
+ * element: <div>,
4084
+ * callback: () => doSomething(),
4085
+ * useCapture: false
4086
+ * }
4087
+ * ```
4088
+ *
4089
+ * @param element Element for which the DOM listeners should be retrieved.
4090
+ * @returns Array of event listeners on the DOM element.
4091
+ *
4092
+ * @publicApi
4093
+ * @globalApi ng
4094
+ */
4095
+ declare function getListeners(element: Element): Listener[];
4096
+
3920
4097
  /**
3921
4098
  * Returns the NgModuleFactory with the given id (specified using [@NgModule.id
3922
4099
  * field](api/core/NgModule#id)), if it exists and has been loaded. Factories for NgModules that do
@@ -3934,6 +4111,23 @@ export declare function getModuleFactory(id: string): NgModuleFactory<any>;
3934
4111
  */
3935
4112
  export declare function getNgModuleById<T>(id: string): Type<T>;
3936
4113
 
4114
+ /**
4115
+ * Retrieves the component instance whose view contains the DOM element.
4116
+ *
4117
+ * For example, if `<child-comp>` is used in the template of `<app-comp>`
4118
+ * (i.e. a `ViewChild` of `<app-comp>`), calling `getOwningComponent` on `<child-comp>`
4119
+ * would return `<app-comp>`.
4120
+ *
4121
+ * @param elementOrDir DOM element, component or directive instance
4122
+ * for which to retrieve the root components.
4123
+ * @returns Component instance whose view owns the DOM element or null if the element is not
4124
+ * part of a component view.
4125
+ *
4126
+ * @publicApi
4127
+ * @globalApi ng
4128
+ */
4129
+ declare function getOwningComponent<T>(elementOrDir: Element | {}): T | null;
4130
+
3937
4131
  /**
3938
4132
  * Returns the current platform.
3939
4133
  *
@@ -3941,6 +4135,19 @@ export declare function getNgModuleById<T>(id: string): Type<T>;
3941
4135
  */
3942
4136
  export declare function getPlatform(): PlatformRef | null;
3943
4137
 
4138
+ /**
4139
+ * Retrieves all root components associated with a DOM element, directive or component instance.
4140
+ * Root components are those which have been bootstrapped by Angular.
4141
+ *
4142
+ * @param elementOrDir DOM element, component or directive instance
4143
+ * for which to retrieve the root components.
4144
+ * @returns Root components associated with the target object.
4145
+ *
4146
+ * @publicApi
4147
+ * @globalApi ng
4148
+ */
4149
+ declare function getRootComponents(elementOrDir: Element | {}): {}[];
4150
+
3944
4151
  /**
3945
4152
  * Adapter interface for retrieving the `Testability` service associated for a
3946
4153
  * particular context.
@@ -3952,6 +4159,12 @@ export declare interface GetTestability {
3952
4159
  findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean): Testability | null;
3953
4160
  }
3954
4161
 
4162
+ /**
4163
+ * This value reflects the property on the window where the dev
4164
+ * tools are patched (window.ng).
4165
+ * */
4166
+ declare const GLOBAL_PUBLISH_EXPANDO_KEY = "ng";
4167
+
3955
4168
  /**
3956
4169
  * The goal here is to make sure that the browser DOM API is the Renderer.
3957
4170
  * We do this by defining a subset of DOM API to be the renderer and then
@@ -3964,6 +4177,29 @@ declare type GlobalTargetName = 'document' | 'window' | 'body';
3964
4177
 
3965
4178
  declare type GlobalTargetResolver = (element: any) => EventTarget;
3966
4179
 
4180
+ declare const globalUtilsFunctions: {
4181
+ /**
4182
+ * Warning: functions that start with `ɵ` are considered *INTERNAL* and should not be relied upon
4183
+ * in application's code. The contract of those functions might be changed in any release and/or a
4184
+ * function can be removed completely.
4185
+ */
4186
+ ɵgetDependenciesFromInjectable: typeof getDependenciesFromInjectable;
4187
+ ɵgetInjectorProviders: typeof getInjectorProviders;
4188
+ ɵgetInjectorResolutionPath: typeof getInjectorResolutionPath;
4189
+ ɵgetInjectorMetadata: typeof getInjectorMetadata;
4190
+ ɵsetProfiler: (profiler: ɵProfiler | null) => void;
4191
+ getDirectiveMetadata: typeof getDirectiveMetadata;
4192
+ getComponent: typeof getComponent;
4193
+ getContext: typeof getContext;
4194
+ getListeners: typeof getListeners;
4195
+ getOwningComponent: typeof getOwningComponent;
4196
+ getHostElement: typeof ɵgetHostElement;
4197
+ getInjector: typeof getInjector;
4198
+ getRootComponents: typeof getRootComponents;
4199
+ getDirectives: typeof ɵgetDirectives;
4200
+ applyChanges: typeof applyChanges;
4201
+ };
4202
+
3967
4203
  /**
3968
4204
  * Array of hooks that should be executed for a view and their directive indices.
3969
4205
  *
@@ -4816,6 +5052,36 @@ export declare interface InjectDecorator {
4816
5052
  new (token: any): Inject;
4817
5053
  }
4818
5054
 
5055
+ /**
5056
+ * An object that contains information a service that has been injected within an
5057
+ * InjectorProfilerContext
5058
+ */
5059
+ declare interface InjectedService {
5060
+ /**
5061
+ * DI token of the Service that is injected
5062
+ */
5063
+ token?: Type<unknown> | InjectionToken<unknown>;
5064
+ /**
5065
+ * Value of the injected service
5066
+ */
5067
+ value: unknown;
5068
+ /**
5069
+ * Flags that this service was injected with
5070
+ */
5071
+ flags?: InternalInjectFlags | InjectFlags | InjectOptions;
5072
+ /**
5073
+ * Injector that this service was provided in.
5074
+ */
5075
+ providedIn?: Injector;
5076
+ /**
5077
+ * In NodeInjectors, the LView and TNode that serviced this injection.
5078
+ */
5079
+ injectedIn?: {
5080
+ lView: LView;
5081
+ tNode: TNode;
5082
+ };
5083
+ }
5084
+
4819
5085
  /**
4820
5086
  * Injection flags for DI.
4821
5087
  *
@@ -5168,6 +5434,37 @@ declare interface InternalAfterNextRenderOptions {
5168
5434
  injector?: Injector;
5169
5435
  }
5170
5436
 
5437
+ /**
5438
+ * This enum is an exact copy of the `InjectFlags` enum above, but the difference is that this is a
5439
+ * const enum, so actual enum values would be inlined in generated code. The `InjectFlags` enum can
5440
+ * be turned into a const enum when ViewEngine is removed (see TODO at the `InjectFlags` enum
5441
+ * above). The benefit of inlining is that we can use these flags at the top level without affecting
5442
+ * tree-shaking (see "no-toplevel-property-access" tslint rule for more info).
5443
+ * Keep this enum in sync with `InjectFlags` enum above.
5444
+ */
5445
+ declare const enum InternalInjectFlags {
5446
+ /** Check self and check parent injector if needed */
5447
+ Default = 0,
5448
+ /**
5449
+ * Specifies that an injector should retrieve a dependency from any injector until reaching the
5450
+ * host element of the current component. (Only used with Element Injector)
5451
+ */
5452
+ Host = 1,
5453
+ /** Don't ascend to ancestors of the node requesting injection. */
5454
+ Self = 2,
5455
+ /** Skip the node that is requesting injection. */
5456
+ SkipSelf = 4,
5457
+ /** Inject `defaultValue` instead if token not found. */
5458
+ Optional = 8,
5459
+ /**
5460
+ * This token is being injected into a pipe.
5461
+ *
5462
+ * This flag is intentionally not in the public facing `InjectFlags` because it is only added by
5463
+ * the compiler and is not a developer applicable flag.
5464
+ */
5465
+ ForPipe = 16
5466
+ }
5467
+
5171
5468
  declare interface InternalNgModuleRef<T> extends NgModuleRef<T> {
5172
5469
  _bootstrapComponents: Type<any>[];
5173
5470
  }
@@ -5561,12 +5858,26 @@ declare enum LContainerFlags {
5561
5858
  *
5562
5859
  * This flag, once set, is never unset for the `LContainer`.
5563
5860
  */
5564
- HasTransplantedViews = 2,
5861
+ HasTransplantedViews = 2
5862
+ }
5863
+
5864
+ /**
5865
+ * Event listener configuration returned from `getListeners`.
5866
+ * @publicApi
5867
+ */
5868
+ declare interface Listener {
5869
+ /** Name of the event listener. */
5870
+ name: string;
5871
+ /** Element that the listener is bound to. */
5872
+ element: Element;
5873
+ /** Callback that is invoked when the event is triggered. */
5874
+ callback: (value: any) => any;
5875
+ /** Whether the listener is using event capturing. */
5876
+ useCapture: boolean;
5565
5877
  /**
5566
- * Indicates that this LContainer has a view underneath it that needs to be refreshed during
5567
- * change detection.
5878
+ * Type of the listener (e.g. a native DOM event or a custom @Output).
5568
5879
  */
5569
- HasChildViewsToRefresh = 4
5880
+ type: 'dom' | 'output';
5570
5881
  }
5571
5882
 
5572
5883
  /**
@@ -8235,6 +8546,11 @@ export declare interface SimpleChanges {
8235
8546
  [propName: string]: SimpleChange;
8236
8547
  }
8237
8548
 
8549
+ /**
8550
+ * Internal type for a single provider in a deep provider array.
8551
+ */
8552
+ declare type SingleProvider = TypeProvider | ValueProvider | ClassProvider | ConstructorProvider | ExistingProvider | FactoryProvider | StaticClassProvider;
8553
+
8238
8554
  /**
8239
8555
  * Type of the `SkipSelf` metadata.
8240
8556
  *
@@ -10608,17 +10924,10 @@ export declare function ɵ_sanitizeUrl(url: string): string;
10608
10924
  * Delegates to an optional `AfterRenderCallbackHandler` for implementation.
10609
10925
  */
10610
10926
  export declare class ɵAfterRenderEventManager {
10611
- private renderDepth;
10612
- /**
10613
- * Mark the beginning of a render operation (i.e. CD cycle).
10614
- * Throws if called while executing callbacks.
10615
- */
10616
- begin(): void;
10617
10927
  /**
10618
- * Mark the end of a render operation. Callbacks will be
10619
- * executed if there are no more pending operations.
10928
+ * Executes callbacks. Returns `true` if any callbacks executed.
10620
10929
  */
10621
- end(): void;
10930
+ execute(): boolean;
10622
10931
  ngOnDestroy(): void;
10623
10932
  /** @nocollapse */
10624
10933
  static ɵprov: unknown;
@@ -10903,6 +11212,22 @@ export declare function ɵcompileNgModuleFactory<M>(injector: Injector, options:
10903
11212
 
10904
11213
  export declare function ɵcompilePipe(type: Type<any>, meta: Pipe): void;
10905
11214
 
11215
+ /**
11216
+ * Partial metadata for a given component instance.
11217
+ * This information might be useful for debugging purposes or tooling.
11218
+ * Currently the following fields are available:
11219
+ * - inputs
11220
+ * - outputs
11221
+ * - encapsulation
11222
+ * - changeDetection
11223
+ *
11224
+ * @publicApi
11225
+ */
11226
+ export declare interface ɵComponentDebugMetadata extends DirectiveDebugMetadata {
11227
+ encapsulation: ViewEncapsulation;
11228
+ changeDetection: ChangeDetectionStrategy;
11229
+ }
11230
+
10906
11231
  /**
10907
11232
  * Runtime link information for Components.
10908
11233
  *
@@ -11494,6 +11819,13 @@ export declare function ɵgetUnknownPropertyStrictMode(): boolean;
11494
11819
 
11495
11820
  export declare const ɵglobal: any;
11496
11821
 
11822
+ /**
11823
+ * Default debug tools available under `window.ng`.
11824
+ */
11825
+ export declare type ɵGlobalDevModeUtils = {
11826
+ [GLOBAL_PUBLISH_EXPANDO_KEY]: typeof globalUtilsFunctions;
11827
+ };
11828
+
11497
11829
  /**
11498
11830
  * Injection token that configures the image optimized image functionality.
11499
11831
  * See {@link ImageConfig} for additional information about parameters that
@@ -11990,18 +12322,30 @@ export declare const enum ɵProfilerEvent {
11990
12322
  }
11991
12323
 
11992
12324
  /**
11993
- * Publishes a collection of default debug tools onto`window.ng`.
12325
+ * An object that contains information about a provider that has been configured
11994
12326
  *
11995
- * These functions are available globally when Angular is in development
11996
- * mode and are automatically stripped away from prod mode is on.
12327
+ * TODO: rename to indicate that it is a debug structure eg. ProviderDebugInfo.
11997
12328
  */
11998
- export declare function ɵpublishDefaultGlobalUtils(): void;
12329
+ export declare interface ɵProviderRecord {
12330
+ /**
12331
+ * DI token that this provider is configuring
12332
+ */
12333
+ token: Type<unknown> | InjectionToken<unknown>;
12334
+ /**
12335
+ * Determines if provider is configured as view provider.
12336
+ */
12337
+ isViewProvider: boolean;
12338
+ /**
12339
+ * The raw provider associated with this ProviderRecord.
12340
+ */
12341
+ provider: SingleProvider;
12342
+ /**
12343
+ * The path of DI containers that were followed to import this provider
12344
+ */
12345
+ importPath?: Type<unknown>[];
12346
+ }
11999
12347
 
12000
- /**
12001
- * Publishes the given function to `window.ng` so that it can be
12002
- * used from the browser console when an application is not in production.
12003
- */
12004
- export declare function ɵpublishGlobalUtil(name: string, fn: Function): void;
12348
+ export declare function ɵprovideZonelessChangeDetection(): EnvironmentProviders;
12005
12349
 
12006
12350
  export declare class ɵReflectionCapabilities implements PlatformReflectionCapabilities {
12007
12351
  private _reflect;
@@ -12206,7 +12550,6 @@ export declare class ɵRuntimeError<T extends number = ɵRuntimeErrorCode> exten
12206
12550
  export declare const enum ɵRuntimeErrorCode {
12207
12551
  EXPRESSION_CHANGED_AFTER_CHECKED = -100,
12208
12552
  RECURSIVE_APPLICATION_REF_TICK = 101,
12209
- RECURSIVE_APPLICATION_RENDER = 102,
12210
12553
  INFINITE_CHANGE_DETECTION = 103,
12211
12554
  CYCLIC_DI_DEPENDENCY = -200,
12212
12555
  PROVIDER_NOT_FOUND = -201,
@@ -12785,7 +13128,7 @@ export declare class ɵZoneAwareQueueingScheduler implements ɵEffectScheduler,
12785
13128
  *
12786
13129
  * @codeGenApi
12787
13130
  */
12788
- export declare function ɵɵadvance(delta: number): void;
13131
+ export declare function ɵɵadvance(delta?: number): void;
12789
13132
 
12790
13133
  /**
12791
13134
  * Updates the value of or removes a bound attribute on an Element.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.0.8",
3
+ "version": "17.0.9",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.8
2
+ * @license Angular v17.0.9
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.8
2
+ * @license Angular v17.0.9
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */