NestJS: Получить текущее имя метода, используя отражение, через отражение данных DI? - PullRequest
0 голосов
/ 02 мая 2019

Я думаю, что возможно получить текущее имя метода внутри nestjs.Я на самом деле не имею в виду перехватчик, но использую отражать. GetMetaData или что-то подобное.

Что я пытаюсь сделать?

Хорошо в каждом методе, где мне нужен регистратор, я выполняюследующая строка кода

  createTerminusOptions(): TerminusModuleOptions {
    const logger = this.loggerFactoryService.getLogger({ category: `${TerminusOptionsService.name}::createTerminusOptions` })

Как видите, TerminusOptionsService.name строго типизирован, поэтому, если я произвожу рефакторинг имени, оно будет сломано и будет перехвачено компилятором.Имя метода - createterminusOptions, но я помещаю это в строку.Я хотел бы попытаться получить это программно или строго типизировано так, чтобы, если я произвожу рефакторинг, то он либо автоматически изменится, либо выдаст ошибку при изменении имени метода.

Я знаю, что можно было использоватьarguments.callee, но это запрещено в строгом режиме.

Я думаю, что в системе типов nestjs сохранены некоторые метаданные, поэтому я надеялся, что смогу что-то здесь использовать?

Конечно,это было бы классифицировано как отражение, поэтому я не хочу добавлять большие накладные расходы - если это возможно, вы думаете, что это плохая идея, потому что это будет удар по производительности?

Любые идеи действительно ценятся

Спасибо

...