Skip to content

Commit 17846a6

Browse files
committed
style: make defineContextMenu parameters more readable
1 parent 865cae4 commit 17846a6

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/define.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import type {
66
ContextMenuConfig,
77
ContextMenuType,
88
DefineButton,
9+
DefineContextMenu,
10+
DefineContextMenuWithOptions,
911
DefineEvent,
1012
DefineEventWithOptions,
1113
DefinePrecondition,
@@ -67,13 +69,14 @@ export const defineCommand = <T extends OptionsDef = OptionsDef>(
6769
return { config, execute }
6870
}
6971

70-
export const defineContextMenu = <T extends ContextMenuType = 'Message'>(
72+
export const defineContextMenu: DefineContextMenu &
73+
DefineContextMenuWithOptions = <T extends ContextMenuType = 'Message'>(
7174
...args: [
7275
(ContextMenuConfig & { type?: T }) | ContextMenuCallback<T>,
7376
ContextMenuCallback<T>?
7477
]
75-
): HarmonixContextMenu => {
76-
let config: ContextMenuConfig = {}
78+
): HarmonixContextMenu<T> => {
79+
let config: ContextMenuConfig<T> = {}
7780

7881
if (args.length === 1) {
7982
const [callback] = args as [ContextMenuCallback<T>]

src/types/context-menus.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ export interface ContextMenuConfig<
2222
preconditions?: string[]
2323
}
2424

25+
export type DefineContextMenu = <T extends ContextMenuType = 'Message'>(
26+
callback: ContextMenuCallback<T>
27+
) => HarmonixContextMenu<T>
28+
export type DefineContextMenuWithOptions = <
29+
T extends ContextMenuType = 'Message'
30+
>(
31+
config: ContextMenuConfig<T>,
32+
callback: ContextMenuCallback<T>
33+
) => HarmonixContextMenu<T>
34+
2535
export type HarmonixContextMenuInput = string | HarmonixContextMenu
2636

2737
export interface HarmonixContextMenu<

0 commit comments

Comments
 (0)