Issue #4385Opened June 15, 2022by froodian0 reactions

BUG: index.d.ts says that run commands should return void but docs say their return value may be used

Question

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Any

Reproducible demo link

https://grapesjs.com/docs/modules/Commands.html#stateful-commands

Describe the bug

How to reproduce the bug?

in a typescript setup,

import grapesjs from "grapesjs";

export const ExportPlugin = (editor: grapesjs.Editor) => {
  editor.Commands.add("render html", (editor) => {
    return "<html><body>example</body></html>";
  }););
};

What is the expected behavior?

it is allowed, as in the "Let's return something" example at https://grapesjs.com/docs/modules/Commands.html#stateful-commands

What is the current behavior?

Argument of type '(editor: grapesjs.Editor) => string' is not assignable to parameter of type '(editor: Editor) => void | { run: (editor: Editor, sender?: any) => void; stop: (editor: Editor, sender?: any) => void; }'.
  Type 'string' is not assignable to type 'void | { run: (editor: Editor, sender?: any) => void; stop: (editor: Editor, sender?: any) => void; }'.

I'm having difficulty making the example work with the

{
  run: (editor: Editor, sender?: any) => void;
  stop: (editor: Editor, sender?: any) => void;
}

definitions as well - (in addition to the (editor: Editor) => void definition, as described above)

Should all 3 of these void declarations in fact be any?

Code of Conduct

  • I agree to follow this project's Code of Conduct

Answers (1)

artfJune 18, 20220 reactions

Thanks @froodian I'll update them

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.