the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

Editing TS1017:

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.

TS1017

An index signature cannot have a rest parameter.

When writing an index signature, there must be exactly one parameter which is not a rest parameter:

interface A {
  [...index: string]: boolean;
}

Fix: Remove the ellipsis.

To fix the error, just remove the ellipsis token (...):

interface A {
  [index: string]: boolean;
}

If you meant to state that the describes a function, use parenthesis rather than brackets:

interface A {
  (...args: string[]): boolean;
}