Я застрял в проблеме. Я создаю прокси для моего BaseModel Class, у которого есть базовые методы для взаимодействия с mon goose типовым способом.
В моем случае мне нужно получить тип свойства, которое будет установлено, чтобы знать, что мне нужно сделать. Для этого я использую шаблон Reflect.
export enum ReflectKeys {
/** Get the Typescript assigned Type at runtime */
Type = 'design:type',
}
/**
* A Proxy for all getters of model
*
* @export
* @class Proxify
*/
export class Proxify {
constructor() {
return new Proxy(this, this);
}
public get(target: any, prop: string) {
if (this.hasOwnProperty(prop)) {
// DO STUFFS
}
}
set(target: any, prop: string, value: any, receiver: any): boolean {
const type = Reflect.getOwnMetadata(ReflectKeys.Type, target, prop);
console.log(type); // TYPE: UNDEFINED
return target[prop] = value;
}
}
Когда я консоль регистрирую тип, который я получаю, тип не определен! Я не знаю, что я делаю не так. Эта строка кода, где написано Reflect, я использую это в других местах и отлично работает.
Любое предложение?