mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-28 16:48:10 +03:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
|
import { Injectable } from '@nestjs/common';
|
||
|
import { Reflector } from '@nestjs/core';
|
||
|
import {
|
||
|
SCENE_METADATA,
|
||
|
LISTENERS_METADATA,
|
||
|
UPDATE_METADATA,
|
||
|
WIZARD_STEP_METADATA,
|
||
|
} from '../telegraf.constants';
|
||
|
import {
|
||
|
ListenerMetadata,
|
||
|
SceneMetadata,
|
||
|
WizardStepMetadata,
|
||
|
} 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(LISTENERS_METADATA, target);
|
||
|
}
|
||
|
|
||
|
getSceneMetadata(target: Function): SceneMetadata | undefined {
|
||
|
return this.reflector.get(SCENE_METADATA, target);
|
||
|
}
|
||
|
|
||
|
getWizardStepMetadata(target: Function): WizardStepMetadata | undefined {
|
||
|
return this.reflector.get(WIZARD_STEP_METADATA, target);
|
||
|
}
|
||
|
}
|