From 9416483bd3607b0a89cecc76bdfe3fd00bcaca4e Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 21 May 2025 14:01:44 +0300 Subject: [PATCH] refactor(core): drop injection context assertion in production (#61560) In other parts of the code, calls to the `assertInInjectionContext` function are guarded with `ngDevMode`. This change aligns these parts of the code with other implementations that drop such assertions in production. PR Close #61560 --- packages/core/rxjs-interop/src/pending_until_event.ts | 2 +- packages/core/rxjs-interop/src/take_until_destroyed.ts | 2 +- packages/core/rxjs-interop/src/to_observable.ts | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/core/rxjs-interop/src/pending_until_event.ts b/packages/core/rxjs-interop/src/pending_until_event.ts index fcf1843bff8..47b2fe36acf 100644 --- a/packages/core/rxjs-interop/src/pending_until_event.ts +++ b/packages/core/rxjs-interop/src/pending_until_event.ts @@ -20,7 +20,7 @@ import {MonoTypeOperatorFunction, Observable} from 'rxjs'; */ export function pendingUntilEvent(injector?: Injector): MonoTypeOperatorFunction { if (injector === undefined) { - assertInInjectionContext(pendingUntilEvent); + ngDevMode && assertInInjectionContext(pendingUntilEvent); injector = inject(Injector); } const taskService = injector.get(PendingTasks); diff --git a/packages/core/rxjs-interop/src/take_until_destroyed.ts b/packages/core/rxjs-interop/src/take_until_destroyed.ts index f0ab4d59f75..db0e45d8fea 100644 --- a/packages/core/rxjs-interop/src/take_until_destroyed.ts +++ b/packages/core/rxjs-interop/src/take_until_destroyed.ts @@ -22,7 +22,7 @@ import {takeUntil} from 'rxjs/operators'; */ export function takeUntilDestroyed(destroyRef?: DestroyRef): MonoTypeOperatorFunction { if (!destroyRef) { - assertInInjectionContext(takeUntilDestroyed); + ngDevMode && assertInInjectionContext(takeUntilDestroyed); destroyRef = inject(DestroyRef); } diff --git a/packages/core/rxjs-interop/src/to_observable.ts b/packages/core/rxjs-interop/src/to_observable.ts index 140258272cc..f9fbeeb84c4 100644 --- a/packages/core/rxjs-interop/src/to_observable.ts +++ b/packages/core/rxjs-interop/src/to_observable.ts @@ -42,7 +42,9 @@ export interface ToObservableOptions { * @publicApi 20.0 */ export function toObservable(source: Signal, options?: ToObservableOptions): Observable { - !options?.injector && assertInInjectionContext(toObservable); + if (ngDevMode && !options?.injector) { + assertInInjectionContext(toObservable); + } const injector = options?.injector ?? inject(Injector); const subject = new ReplaySubject(1);