allow return type of `run` to be anything
vi did:web:vt3e.cat
Sat, 13 Jun 2026 00:03:37 +0100
4 files changed,
20 insertions(+),
14 deletions(-)
M
pkgs/core/package.json
→
pkgs/core/package.json
@@ -1,6 +1,6 @@
{ "name": "@purrkit/core", - "version": "1.0.1", + "version": "1.0.2", "license": "EUPL-1.2", "author": { "name": "apr",
M
pkgs/core/src/commands.ts
→
pkgs/core/src/commands.ts
@@ -90,7 +90,7 @@ run: (
interaction: ChatInputCommandInteraction, args: InferOptions<O>, ctx: Ctx, - ) => Promise<void> | void; + ) => Promise<unknown> | unknown; }, ): this { this.subcommands[name] = new Subcommand(name, config);@@ -156,7 +156,7 @@ run: (
interaction: ChatInputCommandInteraction, args: InferOptions<O>, ctx: Ctx, - ) => Promise<void> | void; + ) => Promise<unknown> | unknown; }, ): Command;@@ -182,11 +182,14 @@
userContextMenu( name: string, runOrConfig: - | ((interaction: UserContextMenuCommandInteraction, ctx: Ctx) => Promise<void> | void) + | ((interaction: UserContextMenuCommandInteraction, ctx: Ctx) => Promise<unknown> | unknown) | { integrationTypes?: IntegrationType[]; contexts?: InteractionContextType[]; - run: (interaction: UserContextMenuCommandInteraction, ctx: Ctx) => Promise<void> | void; + run: ( + interaction: UserContextMenuCommandInteraction, + ctx: Ctx, + ) => Promise<unknown> | unknown; }, ): ContextMenuCommand { if (typeof runOrConfig === "function")@@ -201,7 +204,10 @@
messageContextMenu( name: string, runOrConfig: - | ((interaction: MessageContextMenuCommandInteraction, ctx: Ctx) => Promise<void> | void) + | (( + interaction: MessageContextMenuCommandInteraction, + ctx: Ctx, + ) => Promise<unknown> | unknown) | { integrationTypes?: IntegrationType[]; contexts?: IntegrationType[];
M
pkgs/core/src/components.ts
→
pkgs/core/src/components.ts
@@ -21,7 +21,7 @@ constructor(
public name: string, public config: { options?: Record<string, Option<any, any>>; - run: (interaction: I, args: any) => Promise<void> | void; + run: (interaction: I, args: any) => Promise<unknown> | unknown; }, ) {}
M
pkgs/core/src/kitten.ts
→
pkgs/core/src/kitten.ts
@@ -81,11 +81,11 @@
userContextMenu( name: string, runOrConfig: - | ((interaction: UserContextMenuCommandInteraction) => Promise<void> | void) + | ((interaction: UserContextMenuCommandInteraction) => Promise<any> | any) | { integrationTypes?: IntegrationType[]; contexts?: InteractionContextType[]; - run: (interaction: UserContextMenuCommandInteraction) => Promise<void> | void; + run: (interaction: UserContextMenuCommandInteraction) => Promise<any> | any; }, ): ContextMenuCommand { return this.builder().userContextMenu(name, runOrConfig as any);@@ -94,11 +94,11 @@
messageContextMenu( name: string, runOrConfig: - | ((interaction: MessageContextMenuCommandInteraction) => Promise<void> | void) + | ((interaction: MessageContextMenuCommandInteraction) => Promise<any> | any) | { integrationTypes?: IntegrationType[]; contexts?: InteractionContextType[]; - run: (interaction: MessageContextMenuCommandInteraction) => Promise<void> | void; + run: (interaction: MessageContextMenuCommandInteraction) => Promise<any> | any; }, ): ContextMenuCommand { return this.builder().messageContextMenu(name, runOrConfig as any);@@ -108,7 +108,7 @@ button<O extends Record<string, Option<any, any>>>(
name: string, config: { options?: O; - run: (interaction: ButtonInteraction, args: InferOptions<O>) => Promise<void> | void; + run: (interaction: ButtonInteraction, args: InferOptions<O>) => Promise<any> | any; }, ): KittenComponent<ButtonInteraction, O> { return new KittenComponent<ButtonInteraction, O>(name, config);@@ -118,7 +118,7 @@ selectMenu<O extends Record<string, Option<any, any>>>(
name: string, config: { options?: O; - run: (interaction: AnySelectMenuInteraction, args: InferOptions<O>) => Promise<void> | void; + run: (interaction: AnySelectMenuInteraction, args: InferOptions<O>) => Promise<any> | any; }, ): KittenComponent<AnySelectMenuInteraction, O> { return new KittenComponent<AnySelectMenuInteraction, O>(name, config);@@ -128,7 +128,7 @@ modal<O extends Record<string, Option<any, any>>>(
name: string, config: { options?: O; - run: (interaction: ModalSubmitInteraction, args: InferOptions<O>) => Promise<void> | void; + run: (interaction: ModalSubmitInteraction, args: InferOptions<O>) => Promise<any> | any; }, ): KittenComponent<ModalSubmitInteraction, O> { return new KittenComponent<ModalSubmitInteraction, O>(name, config);