feat(core): use iterate to reduce number of loops

This commit is contained in:
cojack
2020-03-17 10:43:58 +01:00
parent 62a8fa3848
commit 4b7dcd6b2c
10 changed files with 57 additions and 51 deletions

View File

@@ -29,6 +29,7 @@ import { CONTROLLER_ID_KEY } from './constants';
import { NestContainer } from './container';
import { InstanceWrapper } from './instance-wrapper';
import { ModuleRef } from './module-ref';
import { iterate } from 'iterare';
interface ProviderName {
name?: string | symbol;
@@ -397,11 +398,12 @@ export class Module {
return token;
}
const importsArray = [...this._imports.values()];
const importsNames = importsArray
.filter(item => item)
const importsNames = iterate(importsArray)
.filter(item => !!item)
.map(({ metatype }) => metatype)
.filter(metatype => metatype)
.map(({ name }) => name);
.filter(metatype => !!metatype)
.map(({ name }) => name)
.toArray();
if (!importsNames.includes(token as any)) {
const { name } = this.metatype;