13 lines
381 B
TypeScript
13 lines
381 B
TypeScript
import 'reflect-metadata';
|
|
|
|
export const readMetadataOf = <T>(object: any, key: string) => {
|
|
const metadata: T[] = [];
|
|
let target = Object.getPrototypeOf(object);
|
|
while (target != Object.prototype) {
|
|
const childFields = Reflect.getOwnMetadata(key, target) || [];
|
|
metadata.unshift(...childFields);
|
|
target = Object.getPrototypeOf(target);
|
|
}
|
|
return metadata;
|
|
};
|