@angular/core 20.3.11 → 20.3.13

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 (61) hide show
  1. package/api.d.d.ts +8 -1
  2. package/chrome_dev_tools_performance.d.d.ts +11 -1
  3. package/discovery.d.d.ts +33 -2
  4. package/effect.d.d.ts +1 -1
  5. package/event_dispatcher.d.d.ts +1 -1
  6. package/fesm2022/attribute.mjs +1 -1
  7. package/fesm2022/core.mjs +29 -1
  8. package/fesm2022/core.mjs.map +1 -1
  9. package/fesm2022/debug_node.mjs +12 -2
  10. package/fesm2022/debug_node.mjs.map +1 -1
  11. package/fesm2022/effect.mjs +1 -1
  12. package/fesm2022/not_found.mjs +1 -1
  13. package/fesm2022/primitives/di.mjs +1 -1
  14. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  15. package/fesm2022/primitives/signals.mjs +1 -1
  16. package/fesm2022/resource.mjs +10 -15
  17. package/fesm2022/resource.mjs.map +1 -1
  18. package/fesm2022/root_effect_scheduler.mjs +22 -3
  19. package/fesm2022/root_effect_scheduler.mjs.map +1 -1
  20. package/fesm2022/rxjs-interop.mjs +11 -1
  21. package/fesm2022/rxjs-interop.mjs.map +1 -1
  22. package/fesm2022/signal.mjs +1 -1
  23. package/fesm2022/testing.mjs +1 -1
  24. package/fesm2022/weak_ref.mjs +1 -1
  25. package/formatter.d.d.ts +1 -1
  26. package/index.d.ts +55 -4
  27. package/package.json +2 -2
  28. package/primitives/di/index.d.ts +1 -1
  29. package/primitives/event-dispatch/index.d.ts +1 -1
  30. package/primitives/signals/index.d.ts +1 -1
  31. package/rxjs-interop/index.d.ts +11 -1
  32. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
  33. package/schematics/bundles/{apply_import_manager-CPOYeJ7t.cjs → apply_import_manager-D4J7SXHI.cjs} +3 -3
  34. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  35. package/schematics/bundles/{compiler_host-BGZcziuy.cjs → compiler_host-C306_97v.cjs} +2 -2
  36. package/schematics/bundles/control-flow-migration.cjs +3 -3
  37. package/schematics/bundles/document-core.cjs +5 -5
  38. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  39. package/schematics/bundles/{index-BXjkzENj.cjs → index-AeYmwRJL.cjs} +12 -12
  40. package/schematics/bundles/{index-BmMfRg5d.cjs → index-u3tqvIQa.cjs} +4 -4
  41. package/schematics/bundles/inject-flags.cjs +5 -5
  42. package/schematics/bundles/inject-migration.cjs +3 -3
  43. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  44. package/schematics/bundles/{migrate_ts_type_references-7eTqUKA-.cjs → migrate_ts_type_references-D0f8FXVW.cjs} +5 -5
  45. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  46. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  47. package/schematics/bundles/output-migration.cjs +6 -6
  48. package/schematics/bundles/{project_paths-Dr30Du8j.cjs → project_paths-CMd3bdgw.cjs} +3 -3
  49. package/schematics/bundles/{project_tsconfig_paths-CaweCOep.cjs → project_tsconfig_paths-CopGppNj.cjs} +47 -77
  50. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  51. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  52. package/schematics/bundles/router-current-navigation.cjs +4 -4
  53. package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
  54. package/schematics/bundles/signal-input-migration.cjs +7 -7
  55. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  56. package/schematics/bundles/signals.cjs +7 -7
  57. package/schematics/bundles/standalone-migration.cjs +4 -4
  58. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  59. package/schematics/bundles/test-bed-get.cjs +4 -4
  60. package/testing/index.d.ts +1 -1
  61. package/weak_ref.d.d.ts +1 -1
package/api.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -17,6 +17,8 @@ import { OutputRef, OutputRefSubscription, DestroyRef, Signal, WritableSignal, V
17
17
  * <my-comp (valueChange)="processNewValue($event)" />
18
18
  * ```
19
19
  *
20
+ * @see [Custom events with outputs](guide/components/outputs)
21
+ *
20
22
  * @publicAPI
21
23
  */
22
24
  declare class OutputEmitterRef<T> implements OutputRef<T> {
@@ -34,6 +36,8 @@ declare function getOutputDestroyRef(ref: OutputRef<unknown>): DestroyRef | unde
34
36
  /**
35
37
  * Options for declaring an output.
36
38
  *
39
+ * @see [Customizing output names](guide/components/outputs#customizing-output-names)
40
+ *
37
41
  * @publicApi 19.0
38
42
  */
39
43
  interface OutputOptions {
@@ -78,6 +82,9 @@ interface OutputOptions {
78
82
  * this.nameChange.emit(newName);
79
83
  * }
80
84
  * ```
85
+ *
86
+ * @see [Custom events with outputs](guide/components/outputs#customizing-output-names)
87
+ *
81
88
  * @initializerApiFunction {"showTypesInSignaturePreview": true}
82
89
  * @publicApi 19.0
83
90
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -80,6 +80,7 @@ interface CreateSignalOptions<T> {
80
80
  }
81
81
  /**
82
82
  * Create a `Signal` that can be set or updated directly.
83
+ * @see [Angular Signals](guide/signals)
83
84
  */
84
85
  declare function signal<T>(initialValue: T, options?: CreateSignalOptions<T>): WritableSignal<T>;
85
86
 
@@ -90,6 +91,8 @@ declare function signal<T>(initialValue: T, options?: CreateSignalOptions<T>): W
90
91
  * Note: Angular will automatically clean up subscriptions
91
92
  * when the directive/component of the output is destroyed.
92
93
  *
94
+ * @see [Subscribing to outputs programmatically](guide/components/outputs#subscribing-to-outputs-programmatically)
95
+ *
93
96
  * @publicAPI
94
97
  */
95
98
  interface OutputRefSubscription {
@@ -99,6 +102,7 @@ interface OutputRefSubscription {
99
102
  * A reference to an Angular output.
100
103
  *
101
104
  * @publicAPI
105
+ * @see [Subscribing to outputs programmatically](guide/components/outputs#subscribing-to-outputs-programmatically)
102
106
  */
103
107
  interface OutputRef<T> {
104
108
  /**
@@ -211,6 +215,9 @@ type Writable<T> = {
211
215
  *
212
216
  * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
213
217
  *
218
+ *
219
+ * @see [What is an InjectionToken?](guide/di/defining-dependency-providers#what-is-an-injectiontoken)
220
+ *
214
221
  * @publicApi
215
222
  */
216
223
  declare class InjectionToken<T> {
@@ -674,6 +681,8 @@ type ProviderToken<T> = Type<T> | AbstractType<T> | InjectionToken<T>;
674
681
  *
675
682
  * {@example core/di/ts/injector_spec.ts region='injectInjector'}
676
683
  *
684
+ * @see [Types of injector hierarchies](guide/di/hierarchical-dependency-injection#types-of-injector-hierarchies)
685
+ *
677
686
  * @publicApi
678
687
  */
679
688
  declare abstract class Injector {
@@ -840,6 +849,7 @@ declare global {
840
849
  * @experimental
841
850
  *
842
851
  * @returns a function that can be invoked to stop sending profiling data.
852
+ * @see [Profiling with the Chrome DevTools](best-practices/profiling-with-chrome-devtools#recording-a-profile)
843
853
  */
844
854
  declare function enableProfiling(): () => void;
845
855
 
package/discovery.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -44,6 +44,8 @@ declare const ANIMATIONS_DISABLED: InjectionToken<boolean>;
44
44
  * The event type for when `animate.enter` and `animate.leave` are used with function
45
45
  * callbacks.
46
46
  *
47
+ * @see [Animating your applications with animate.enter and animate.leave](guide/animations)
48
+ *
47
49
  * @publicApi 20.2
48
50
  */
49
51
  type AnimationCallbackEvent = {
@@ -58,6 +60,7 @@ type AnimationCallbackEvent = {
58
60
  * for when stylesheets are pruned.
59
61
  *
60
62
  * @publicApi 20.2
63
+ * @see [Animating your applications with animate.enter and animate.leave](guide/animations)
61
64
  */
62
65
  declare const MAX_ANIMATION_TIMEOUT: InjectionToken<number>;
63
66
  /**
@@ -2072,6 +2075,8 @@ declare const INJECTOR_SCOPE: InjectionToken<InjectorScope | null>;
2072
2075
  * An `Injector` that's part of the environment injector hierarchy, which exists outside of the
2073
2076
  * component tree.
2074
2077
  *
2078
+ * @see [Types of injector hierarchies](guide/di/hierarchical-dependency-injection#types-of-injector-hierarchies)
2079
+ *
2075
2080
  * @publicApi
2076
2081
  */
2077
2082
  declare abstract class EnvironmentInjector implements Injector {
@@ -3133,12 +3138,16 @@ interface CreateEffectOptions {
3133
3138
  * before the next effect run. The cleanup function makes it possible to "cancel" any work that the
3134
3139
  * previous effect run might have started.
3135
3140
  *
3141
+ * @see [Effect cleanup functions](guide/signals#effect-cleanup-functions)
3142
+ *
3136
3143
  * @publicApi 20.0
3137
3144
  */
3138
3145
  type EffectCleanupFn = () => void;
3139
3146
  /**
3140
3147
  * A callback passed to the effect function that makes it possible to register cleanup logic.
3141
3148
  *
3149
+ * @see [Effect cleanup functions](guide/signals#effect-cleanup-functions)
3150
+ *
3142
3151
  * @publicApi 20.0
3143
3152
  */
3144
3153
  type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void;
@@ -3158,6 +3167,8 @@ type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void;
3158
3167
  *
3159
3168
  * `effect()` must be run in injection context, unless the `injector` option is manually specified.
3160
3169
  *
3170
+ * @see [Effects](guide/signals#effects)
3171
+ *
3161
3172
  * @publicApi 20.0
3162
3173
  */
3163
3174
  declare function effect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef;
@@ -4718,6 +4729,12 @@ interface DirectiveDecorator {
4718
4729
  /**
4719
4730
  * Directive decorator and metadata.
4720
4731
  *
4732
+ * @see [Built-in directives](guide/directives)
4733
+ * @see [Including inputs and outputs](guide/directives/directive-composition-api#including-inputs-and-outputs)
4734
+ * @see [Assigning a reference to an Angular directive](guide/templates/variables#assigning-a-reference-to-an-angular-directive)
4735
+ * @see [Referencing component children with queries](guide/components/queries)
4736
+ * @see [Binding to the host element](guide/components/host-elements#binding-to-the-host-element)
4737
+ * @see [Host directive semantics](guide/directives/directive-composition-api#host-directive-semantics)
4721
4738
  * @Annotation
4722
4739
  * @publicApi
4723
4740
  */
@@ -5119,6 +5136,11 @@ interface ComponentDecorator {
5119
5136
  /**
5120
5137
  * Supplies configuration metadata for an Angular component.
5121
5138
  *
5139
+ * @see [Anatomy of a component](guide/components)
5140
+ * @see [ChangeDetectionStrategy](guide/components/advanced-configuration#changedetectionstrategy)
5141
+ * @see [Using the viewProviders array](guide/di/hierarchical-dependency-injection#using-the-viewproviders-array)
5142
+ * @see [Style scoping](guide/components/styling#style-scoping)
5143
+ *
5122
5144
  * @publicApi
5123
5145
  */
5124
5146
  interface Component extends Directive {
@@ -5274,7 +5296,7 @@ interface PipeDecorator {
5274
5296
  * to a template. To make it a member of an NgModule,
5275
5297
  * list it in the `declarations` field of the `NgModule` metadata.
5276
5298
  *
5277
- * @see [Style Guide: Pipe Names](style-guide#02-09)
5299
+ * @see [Pipes](/guide/templates/pipes)
5278
5300
  *
5279
5301
  */
5280
5302
  (obj: Pipe): TypeDecorator;
@@ -5757,6 +5779,7 @@ interface DirectiveWithBindings<T> {
5757
5779
  * bindings: [inputBinding('disabled', isDisabled)]
5758
5780
  * });
5759
5781
  * ```
5782
+ * @see [Binding inputs, outputs and setting host directives at creation](guide/components/programmatic-rendering#binding-inputs-outputs-and-setting-host-directives-at-creation)
5760
5783
  */
5761
5784
  declare function inputBinding(publicName: string, value: () => unknown): Binding;
5762
5785
  /**
@@ -5779,6 +5802,7 @@ declare function inputBinding(publicName: string, value: () => unknown): Binding
5779
5802
  * ],
5780
5803
  * });
5781
5804
  * ```
5805
+ * @see [Binding inputs, outputs and setting host directives at creation](guide/components/programmatic-rendering#binding-inputs-outputs-and-setting-host-directives-at-creation)
5782
5806
  */
5783
5807
  declare function outputBinding<T>(eventName: string, listener: (event: T) => unknown): Binding;
5784
5808
  /**
@@ -5800,6 +5824,7 @@ declare function outputBinding<T>(eventName: string, listener: (event: T) => unk
5800
5824
  * ],
5801
5825
  * });
5802
5826
  * ```
5827
+ * @see [Binding inputs, outputs and setting host directives at creation](guide/components/programmatic-rendering#binding-inputs-outputs-and-setting-host-directives-at-creation)
5803
5828
  */
5804
5829
  declare function twoWayBinding(publicName: string, value: WritableSignal<unknown>): Binding;
5805
5830
 
@@ -5813,6 +5838,8 @@ declare function twoWayBinding(publicName: string, value: WritableSignal<unknown
5813
5838
  * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
5814
5839
  * [Security Guide](https://g.co/ng/security).
5815
5840
  *
5841
+ * @see [Using DOM APIs](guide/components/dom-apis)
5842
+ *
5816
5843
  * @publicApi
5817
5844
  */
5818
5845
  declare class ElementRef<T = any> {
@@ -6145,6 +6172,8 @@ declare abstract class ComponentFactory<C> {
6145
6172
  * <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
6146
6173
  * ```
6147
6174
  *
6175
+ * @see [Declaring outputs with the @Output decorator](guide/components/outputs#declaring-outputs-with-the-output-decorator)
6176
+ *
6148
6177
  * @publicApi
6149
6178
  */
6150
6179
  interface EventEmitter<T> extends Subject<T>, OutputRef<T> {
@@ -6261,6 +6290,8 @@ declare const EventEmitter: {
6261
6290
  * }
6262
6291
  * ```
6263
6292
  *
6293
+ * @see [Resolving zone pollution](best-practices/zone-pollution#run-tasks-outside-ngzone)
6294
+ *
6264
6295
  * @publicApi
6265
6296
  */
6266
6297
  declare class NgZone {
package/effect.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.11
2
+ * @license Angular v20.3.13
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -118,6 +118,7 @@ var ViewEncapsulation;
118
118
  * attr: string | null = inject(new HostAttributeToken('some-attr'), {optional: true});
119
119
  * }
120
120
  * ```
121
+ * @see [Injecting host element attributes](guide/components/host-elements#injecting-host-element-attributes)
121
122
  * @publicApi
122
123
  */
123
124
  class HostAttributeToken {
@@ -228,6 +229,9 @@ function getDevModeNodeName(tNode) {
228
229
  * this.nameChange.emit(newName);
229
230
  * }
230
231
  * ```
232
+ *
233
+ * @see [Custom events with outputs](guide/components/outputs#customizing-output-names)
234
+ *
231
235
  * @initializerApiFunction {"showTypesInSignaturePreview": true}
232
236
  * @publicApi 19.0
233
237
  */
@@ -329,6 +333,8 @@ function viewChildRequiredFn(locator, opts) {
329
333
  *
330
334
  * @publicApi 19.0
331
335
  * @initializerApiFunction
336
+ * @see [Referencing component children with queries](guide/components/queries)
337
+ * @see [Required queries](guide/components/queries#required-queries)
332
338
  */
333
339
  const viewChild = (() => {
334
340
  // Note: This may be considered a side-effect, but nothing will depend on
@@ -356,6 +362,8 @@ const viewChild = (() => {
356
362
  *
357
363
  * @initializerApiFunction
358
364
  * @publicApi 19.0
365
+ * @see [Referencing component children with queries](guide/components/queries)
366
+ * @see [Required queries](guide/components/queries#required-queries)
359
367
  */
360
368
  function viewChildren(locator, opts) {
361
369
  ngDevMode && assertInInjectionContext(viewChildren);
@@ -420,6 +428,8 @@ const contentChild = (() => {
420
428
  *
421
429
  * @initializerApiFunction
422
430
  * @publicApi 19.0
431
+ * @see [Referencing component children with queries](guide/components/queries)
432
+ * @see [Content queries](guide/components/queries#content-queries)
423
433
  */
424
434
  function contentChildren(locator, opts) {
425
435
  return createMultiResultQuerySignalFn(opts);
@@ -520,6 +530,9 @@ function modelRequiredFunction(opts) {
520
530
  * this.firstName.set(newFirstName);
521
531
  * }
522
532
  * ```
533
+ * @see [Two-way binding between components](guide/templates/two-way-binding#two-way-binding-between-components)
534
+ * @see [Model inputs](guide/components/inputs#model-inputs)
535
+ * @see [Customizing model inputs](guide/components/inputs#customizing-model-inputs)
523
536
  *
524
537
  * @publicApi 19.0
525
538
  * @initializerApiFunction
@@ -2675,6 +2688,9 @@ function shouldEnableEventReplay(injector) {
2675
2688
  /**
2676
2689
  * Returns a set of providers required to setup support for event replay.
2677
2690
  * Requires hydration to be enabled separately.
2691
+ *
2692
+ * @see [Capturing and replaying event](guide/hydration#capturing-and-replaying-events)
2693
+ *
2678
2694
  */
2679
2695
  function withEventReplay() {
2680
2696
  const providers = [
@@ -3769,6 +3785,7 @@ function withDomHydration() {
3769
3785
  /**
3770
3786
  * Returns a set of providers required to setup support for i18n hydration.
3771
3787
  * Requires hydration to be enabled separately.
3788
+ * @see [I18N](guide/hydration#i18n)
3772
3789
  */
3773
3790
  function withI18nSupport() {
3774
3791
  return [
@@ -3793,6 +3810,7 @@ function withI18nSupport() {
3793
3810
  * Returns a set of providers required to setup support for incremental hydration.
3794
3811
  * Requires hydration to be enabled separately.
3795
3812
  * Enabling incremental hydration also enables event replay for the entire app.
3813
+ * @see [Incremental Hydration](guide/incremental-hydration#how-do-you-enable-incremental-hydration-in-angular)
3796
3814
  */
3797
3815
  function withIncrementalHydration() {
3798
3816
  const providers = [
@@ -3853,6 +3871,8 @@ function logWarningOnStableTimedout(time, console) {
3853
3871
  * ```
3854
3872
  * @param value Value to be transformed.
3855
3873
  *
3874
+ * @see [Built-in transformations](guide/components/inputs#built-in-transformations)
3875
+ *
3856
3876
  * @publicApi
3857
3877
  */
3858
3878
  function booleanAttribute(value) {
@@ -3870,6 +3890,7 @@ function booleanAttribute(value) {
3870
3890
  * ```
3871
3891
  *
3872
3892
  * @publicApi
3893
+ * @see [Built-in transformations](guide/components/inputs#built-in-transformations)
3873
3894
  */
3874
3895
  function numberAttribute(value, fallbackValue = NaN) {
3875
3896
  // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
@@ -4370,6 +4391,9 @@ function phaseDebugName(phase) {
4370
4391
  * * `bindings` (optional): Bindings to apply to the root component.
4371
4392
  * @returns ComponentRef instance that represents a given Component.
4372
4393
  *
4394
+ * @see [Host view using `ViewContainerRef.createComponent`](guide/components/programmatic-rendering#host-view-using-viewcontainerrefcreatecomponent)
4395
+ * @see [Popup attached to `document.body` with `createComponent` + `hostElement`](guide/components/programmatic-rendering#popup-attached-to-documentbody-with-createcomponent--hostelement)
4396
+ *
4373
4397
  * @publicApi
4374
4398
  */
4375
4399
  function createComponent(component, options) {
@@ -4478,6 +4502,8 @@ function mergeApplicationConfig(...configs) {
4478
4502
  *
4479
4503
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request `Request` on MDN}
4480
4504
  *
4505
+ * @see [Accessing Request and Response via DI](guide/ssr#accessing-request-and-response-via-di)
4506
+ *
4481
4507
  * @publicApi
4482
4508
  */
4483
4509
  const REQUEST = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'REQUEST' : '', {
@@ -4501,6 +4527,7 @@ const REQUEST = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode
4501
4527
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response `ResponseInit` on MDN}
4502
4528
  *
4503
4529
  * @publicApi
4530
+ * @see [Accessing Request and Response via DI](guide/ssr#accessing-request-and-response-via-di)
4504
4531
  */
4505
4532
  const RESPONSE_INIT = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'RESPONSE_INIT' : '', {
4506
4533
  providedIn: 'platform',
@@ -4515,6 +4542,7 @@ const RESPONSE_INIT = new InjectionToken(typeof ngDevMode === 'undefined' || ngD
4515
4542
  * This token is only available during server-side rendering and will be `null` in other contexts.
4516
4543
  *
4517
4544
  * @publicApi
4545
+ * @see [Accessing Request and Response via DI](guide/ssr#accessing-request-and-response-via-di)
4518
4546
  */
4519
4547
  const REQUEST_CONTEXT = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'REQUEST_CONTEXT' : '', {
4520
4548
  providedIn: 'platform',