fix(dispatcher): require storage when state type is set in root dispatcher

This commit is contained in:
alina 🌸 2024-06-01 19:14:14 +03:00
parent c25f80b603
commit 35800b9c04
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -181,6 +181,13 @@ export class Dispatcher<State extends object = never> {
/**
* Create a new dispatcher and bind it to the client.
*/
static for<State extends object = never>(
client: TelegramClient,
...args: [State] extends [never]
? [params?: DispatcherParams]
: [params: DispatcherParams & { storage: IStateStorageProvider }]
): Dispatcher<State>
static for<State extends object = never>(client: TelegramClient, params?: DispatcherParams): Dispatcher<State> {
return new Dispatcher<State>(client, params)
}