diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index 844fec16..85ef9e64 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -37,11 +37,17 @@ export interface CommandsSpec { export interface AllExtensions {} -export type SingleCommands = UnionToIntersection, 'addCommands'>>> +export type AllCommands = UnionToIntersection, 'addCommands'>>> + +export type SingleCommands = { + [Item in keyof AllCommands]: AllCommands[Item] extends (...args: any[]) => any + ? (...args: Parameters) => boolean + : never +} export type ChainedCommands = { - [Item in keyof SingleCommands]: SingleCommands[Item] extends (...args: any[]) => any - ? (...args: Parameters) => ChainedCommands + [Item in keyof AllCommands]: AllCommands[Item] extends (...args: any[]) => any + ? (...args: Parameters) => ChainedCommands : never } & { run: () => boolean