Skip to content

Commit 401b5bf

Browse files
josephperrottatscott
authored andcommitted
refactor(core): correct typing checks when registering destroy hooks (angular#44087)
Making the typing filtering more explicit allows typescript to properly recognize the presence of the `prototype` property on the provider within the `registerDestroyHooksIfSupported` method. PR Close angular#44087
1 parent e0ae557 commit 401b5bf

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

packages/core/src/render3/di_setup.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010
import {resolveForwardRef} from '../di/forward_ref';
11-
import {ClassProvider, Provider} from '../di/interface/provider';
11+
import {ClassProvider, Provider, TypeProvider} from '../di/interface/provider';
1212
import {isClassProvider, isTypeProvider, providerToFactory} from '../di/r3_injector';
1313
import {assertDefined} from '../util/assert';
1414

@@ -192,7 +192,7 @@ function registerDestroyHooksIfSupported(
192192
indexInFactory?: number) {
193193
const providerIsTypeProvider = isTypeProvider(provider);
194194
if (providerIsTypeProvider || isClassProvider(provider)) {
195-
const prototype = ((provider as ClassProvider).useClass || provider).prototype;
195+
const prototype = ((provider as ClassProvider).useClass || provider as TypeProvider).prototype;
196196
const ngOnDestroy = prototype.ngOnDestroy;
197197
if (ngOnDestroy) {
198198
const hooks = tView.destroyHooks || (tView.destroyHooks = []);

0 commit comments

Comments
 (0)