Skip to content

Commit db9494a

Browse files
committed
perf(core): use set instead of array for module registry lookup
1 parent b4324b8 commit db9494a

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

packages/core/injector/injector.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ export class Injector {
619619
moduleRef,
620620
dependencyContext.name!,
621621
wrapper,
622-
[],
622+
new Set<string>(),
623623
contextId,
624624
inquirer,
625625
keyOrIndex,
@@ -639,7 +639,7 @@ export class Injector {
639639
moduleRef: Module,
640640
name: InjectionToken,
641641
wrapper: InstanceWrapper,
642-
moduleRegistry: any[] = [],
642+
moduleRegistry: Set<string> = new Set<string>(),
643643
contextId = STATIC_CONTEXT,
644644
inquirer?: InstanceWrapper,
645645
keyOrIndex?: symbol | string | number,
@@ -657,11 +657,11 @@ export class Injector {
657657
);
658658
}
659659
for (const relatedModule of children) {
660-
if (moduleRegistry.includes(relatedModule.id)) {
660+
if (moduleRegistry.has(relatedModule.id)) {
661661
continue;
662662
}
663663
this.printLookingForProviderLog(name, relatedModule);
664-
moduleRegistry.push(relatedModule.id);
664+
moduleRegistry.add(relatedModule.id);
665665

666666
const { providers, exports } = relatedModule;
667667
if (!exports.has(name) || !providers.has(name)) {

0 commit comments

Comments
 (0)