From aca2725abc4a601c45698ecdc0e52bb025991052 Mon Sep 17 00:00:00 2001 From: Kravets <57632712+kravetsone@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:50:03 +0300 Subject: [PATCH] feat: allow derive typings values reused in next derive --- package.json | 2 +- src/bot.ts | 12 +++++++++--- src/plugin.ts | 10 +++++++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 1661ad2..4332d00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "gramio", "type": "commonjs", - "version": "0.0.50", + "version": "0.0.51", "description": "Powerful, extensible and really type-safe Telegram Bot API framework", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/src/bot.ts b/src/bot.ts index 391bd24..cf1cc7a 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -468,13 +468,17 @@ export class Bot< * }) * ``` */ - derive>>( + derive< + Handler extends Hooks.Derive & Derives["global"]>, + >( handler: Handler, ): Bot> }>; derive< Update extends UpdateName, - Handler extends Hooks.Derive>, + Handler extends Hooks.Derive< + ContextType & Derives["global"] & Derives[Update] + >, >( updateName: MaybeArray, handler: Handler, @@ -482,7 +486,9 @@ export class Bot< derive< Update extends UpdateName, - Handler extends Hooks.Derive>, + Handler extends Hooks.Derive< + ContextType & Derives["global"] & Derives[Update] + >, >(updateNameOrHandler: MaybeArray | Handler, handler?: Handler) { this.updates.composer.derive(updateNameOrHandler, handler); diff --git a/src/plugin.ts b/src/plugin.ts index 7b8d4a7..41033ba 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -161,13 +161,15 @@ export class Plugin< * }) * ``` */ - derive>>( + derive & Derives["global"]>>( handler: Handler, ): Plugin> }>; derive< Update extends UpdateName, - Handler extends Hooks.Derive>, + Handler extends Hooks.Derive< + ContextType & Derives["global"] & Derives[Update] + >, >( updateName: MaybeArray, handler: Handler, @@ -175,7 +177,9 @@ export class Plugin< derive< Update extends UpdateName, - Handler extends Hooks.Derive>, + Handler extends Hooks.Derive< + ContextType & Derives["global"] & Derives[Update] + >, >(updateNameOrHandler: MaybeArray | Handler, handler?: Handler) { this._.composer.derive(updateNameOrHandler, handler);