mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2025-03-20 08:43:48 +03:00
32 lines
829 B
TypeScript
32 lines
829 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { Reflector } from '@nestjs/core';
|
|
import {
|
|
UPDATE_LISTENER_TYPE_METADATA,
|
|
UPDATE_METADATA,
|
|
UPDATE_LISTENER_OPTIONS_METADATA,
|
|
} from './telegraf.constants';
|
|
import { ListenerType } from './enums';
|
|
|
|
@Injectable()
|
|
export class TelegrafMetadataAccessor {
|
|
constructor(private readonly reflector: Reflector) {}
|
|
|
|
isUpdate(target: Function): boolean {
|
|
return !!this.reflector.get<true | undefined>(UPDATE_METADATA, target);
|
|
}
|
|
|
|
getListenerType(target: Function): ListenerType | undefined {
|
|
return this.reflector.get<ListenerType>(
|
|
UPDATE_LISTENER_TYPE_METADATA,
|
|
target,
|
|
);
|
|
}
|
|
|
|
getListenerOptions(target: Function): unknown | undefined {
|
|
return this.reflector.get<unknown>(
|
|
UPDATE_LISTENER_OPTIONS_METADATA,
|
|
target,
|
|
);
|
|
}
|
|
}
|