diff --git a/packages/core/services/reflector.service.ts b/packages/core/services/reflector.service.ts index 38db444da0c..52cd4964d17 100644 --- a/packages/core/services/reflector.service.ts +++ b/packages/core/services/reflector.service.ts @@ -23,7 +23,7 @@ export class Reflector { metadataKey: TKey, target: Type | Function, ): TResult { - return Reflect.getMetadata(metadataKey, target) as TResult; + return Reflect.getMetadata(metadataKey, target); } /** @@ -38,7 +38,7 @@ export class Reflector { targets: (Type | Function)[], ): TResult { return (targets || []).map(target => - Reflect.getMetadata(metadataKey, target), + this.get(metadataKey, target), ) as TResult; } @@ -86,6 +86,12 @@ export class Reflector { metadataKey: TKey, targets: (Type | Function)[], ): TResult { - return this.getAll(metadataKey, targets).find(item => item !== undefined); + for (const target of targets) { + const result = this.get(metadataKey, target); + if (result !== undefined) { + return result; + } + } + return undefined; } }