mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-24 23:14:39 +03:00
36 lines
910 B
TypeScript
36 lines
910 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { Reflector } from '@nestjs/core';
|
|
import {
|
|
SCENE_METADATA,
|
|
UPDATE_LISTENER_METADATA,
|
|
UPDATE_METADATA,
|
|
} from '../telegraf.constants';
|
|
import { ListenerMetadata } from '../interfaces';
|
|
|
|
@Injectable()
|
|
export class MetadataAccessorService {
|
|
constructor(private readonly reflector: Reflector) {}
|
|
|
|
isUpdate(target: Function): boolean {
|
|
if (!target) {
|
|
return false;
|
|
}
|
|
return !!this.reflector.get(UPDATE_METADATA, target);
|
|
}
|
|
|
|
isScene(target: Function): boolean {
|
|
if (!target) {
|
|
return false;
|
|
}
|
|
return !!this.reflector.get(SCENE_METADATA, target);
|
|
}
|
|
|
|
getListenerMetadata(target: Function): ListenerMetadata | undefined {
|
|
return this.reflector.get(UPDATE_LISTENER_METADATA, target);
|
|
}
|
|
|
|
getSceneMetadata(target: Function): string | undefined {
|
|
return this.reflector.get(SCENE_METADATA, target);
|
|
}
|
|
}
|