all repos — kitten @ e9c0a83f52eb7ffc0f3d77e194187c25900cc87b

allow return type of `run` to be anything
vi did:web:vt3e.cat
Sat, 13 Jun 2026 00:03:37 +0100
commit

e9c0a83f52eb7ffc0f3d77e194187c25900cc87b

parent

f07ded995b7299a90cd41ab709da2fe4c2a3d992

M pkgs/core/package.jsonpkgs/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.tspkgs/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.tspkgs/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.tspkgs/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);