mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2025-09-23 09:49:06 +03:00
fix(): working after merge
This commit is contained in:
21
lib/types/index.ts
Normal file
21
lib/types/index.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { BaseScene, Composer, Middleware } from 'telegraf';
|
||||
|
||||
export type Filter<T extends any[], F> = T extends []
|
||||
? []
|
||||
: T extends [infer Head, ...infer Tail]
|
||||
? Head extends F
|
||||
? Filter<Tail, F>
|
||||
: [Head, ...Filter<Tail, F>]
|
||||
: [];
|
||||
|
||||
export type OnlyFunctionPropertyNames<T> = {
|
||||
[K in keyof T]: T[K] extends (...args: any) => any ? K : never;
|
||||
}[keyof T];
|
||||
|
||||
export type ComposerMethodArgs<
|
||||
T extends Composer<never>,
|
||||
U extends OnlyFunctionPropertyNames<T> = OnlyFunctionPropertyNames<T>
|
||||
> = Filter<Parameters<T[U]>, Middleware<never>>;
|
||||
|
||||
export type UpdateMethods = OnlyFunctionPropertyNames<Composer<never>>;
|
||||
export type SceneMethods = OnlyFunctionPropertyNames<BaseScene<never>>;
|
Reference in New Issue
Block a user