Я пытаюсь извлечь отражающие метаданные из экземпляра класса. Примеры на документах показывают, что это возможно, но я получаю undefined
. Однако, если я запрашиваю метаданные из самого класса, я получаю обратно данные, как и в методе.
Например, это полный пример сценария:
import 'reflect-metadata'
const metadataKey = 'some-key'
@Reflect.metadata(metadataKey, 'hello class')
class C {
@Reflect.metadata(metadataKey, 'hello method')
get name(): string {
return 'text'
}
}
let obj = new C()
let classInstanceMetadata = Reflect.getMetadata(metadataKey, obj)
console.log(classInstanceMetadata) // undefined
let classMetadata = Reflect.getMetadata(metadataKey, C)
console.log(classMetadata) // hello class
let methodMetadata = Reflect.getMetadata(metadataKey, obj, 'name')
console.log(methodMetadata) // hello method
Моя цель - вернуть некоторые данные в classInstanceMetadata
, которые позволяют мне связать их с типом класса.