mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-25 23:44:39 +03:00
19 lines
470 B
TypeScript
19 lines
470 B
TypeScript
|
import { Type } from '@nestjs/common'
|
||
|
import { TelegramErrorHandler } from '../interfaces/TelegramErrorHandler'
|
||
|
|
||
|
type Decorator = (error: any) => ClassDecorator
|
||
|
|
||
|
type HandlerDecorator = Decorator & {
|
||
|
handlers?: Map<Error, Type<TelegramErrorHandler>>
|
||
|
}
|
||
|
|
||
|
export const TelegramCatch: HandlerDecorator = error => target => {
|
||
|
if (!TelegramCatch.handlers) {
|
||
|
TelegramCatch.handlers = new Map()
|
||
|
}
|
||
|
|
||
|
TelegramCatch.handlers.set(error, target as any)
|
||
|
|
||
|
return target
|
||
|
}
|