From a542baa5079182094d7569b8d49130fc49859f15 Mon Sep 17 00:00:00 2001 From: AleksanderBodurri Date: Sat, 23 Sep 2023 14:53:34 -0400 Subject: [PATCH] fixup --- .../src/lib/component-tree.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts index a9dada0354567..9c2c49c9bfb83 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts @@ -170,7 +170,7 @@ export interface ProviderRecord { } const getInjectorProviders = (injector: Injector): ProviderRecord[] => { - if (injector instanceof EnvironmentInjector && injector['scopes'] instanceof Set && + if (isEnvironmentInjector(injector) && injector['scopes'] instanceof Set && injector['scopes'].has('platform')) { return []; } @@ -218,9 +218,9 @@ const getDependenciesForDirective = .map(node => ({type: 'ImportedModule', name: valueToLabel(node)})) ]; - if (dependency.token instanceof InjectionToken) { + if (dependency.token && isInjectionToken(dependency.token)) { serializedInjectedServices.push({ - token: dependency.token.toString(), + token: dependency.token!.toString(), value: valueToLabel(dependency.value), flags: dependency.flags, resolutionPath: dependencyResolutionPath @@ -253,7 +253,7 @@ const valueToLabel = (value: any) => { export const serializeInjector = (injector: Injector): {type: string; name: string;} => { let serializedInjector: {type: string; name: string}|undefined; - if (injector instanceof EnvironmentInjector) { + if (isEnvironmentInjector(injector)) { serializedInjector = {type: 'Environment', name: injector['source']}; } @@ -304,6 +304,14 @@ export function getNodeInjectorTNode(nodeInjector) { return (nodeInjector as any)._tNode; } +export const isInjectionToken = (token: Type|InjectionToken): boolean => { + return token.constructor.name === 'InjectionToken'; +} + +export const isEnvironmentInjector = (injector: Injector) => { + return injector.constructor.name === 'EnvironmentInjector' || injector.constructor.name === 'R3Injector'; +}; + export const isNodeInjector = (injector: Injector) => { return injector.constructor.name === 'NodeInjector'; };