Отражение с помощью декоратора свойств в машинописи не работает

Я пытаюсь создать декоратор (NonExportable), чтобы сказать, какие поля в классе не должны быть экспортированы. Определение декоратора:

nonexportable-decorators.ts

const NON_EXPORTABLE_KEY = Symbol("NonExportable");

export default function NonExportable() {
   return Reflect.metadata(NON_EXPORTABLE_KEY, true);
}

export function isNonExportable (target: any, propertyKey: string): boolean {
   return Reflect.getMetadata(NON_EXPORTABLE_KEY, target, propertyKey);
}

Декоратор используется в модели "персонаФизика":

pessoaFisica.ts

import NonExportable from "../nonexportable-decorator"

export class Contribuinte {
    ni: string; 
    @NonExportable()    
    cpf: number;
    @NonExportable()    
    cnpjEstabelecimento: number;
}

Однако очевидно, что в метаданные ничего не записывается, поскольку при выполнении функции Reflect.isNonExportable возвращается неопределенное значение.isNonExportable всегда возвращает false. Что я делаю неправильно?

0 ответов

Другие вопросы по тегам