the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

Editing TS1042:

All diagnostics and fixes are authored in markdown. Propose any changes by editing the markdown. Additional fixes can be added. A preview of the rendered diagnostic will update when changes are made.

Once all proposed changes are made, the Propose button will submit the information and confirm raising the PR.

TS1042

'{0}' modifier cannot be used here.

Certain modifiers cannot be used in certain positions, for example, the async modifier cannot be used in a leading space on a class field:

class A {
  async prop!: () => Promise<string>;
  async prop2 = () => "string";
}

Fix: Move modifier to a valid location.

Remove the async modifier, or move it to the value instead of the property:

class A {
  prop!: () => Promise<string>;
  prop2 = async () => "string";
}