Моему редактору не нравится «утверждает, что x-это y» в подписи функции

#typescript #webstorm

Вопрос:

В руководстве по машинописи говорится, что у вас может быть подпись функции, например

 function assertIsString(val: any): asserts val is string {...
 

Я обновил свой пакет машинописных текстов до последней версии, и мой редактор WebStorm создает мне проблемы с этим:

 function forceTypeNarrow<TWanted>(value: any): asserts value is TWanted {}
 

Это говорит мне , что ему нужна точка с запятой после asserts , после value , после is и после TWanted .

Это проблема с TSLint?

 {
  "rules": {
    "class-name": true,
    "comment-format": [
      true,
      "check-space"
    ],
    "indent": [
      true,
      "spaces"
    ],
    "no-duplicate-variable": true,
    "no-eval": true,
    "no-internal-module": true,
    "no-trailing-whitespace": true,
    "no-unsafe-finally": true,
    "no-var-keyword": true,
    "one-line": [
      true,
      "check-open-brace",
      "check-whitespace"
    ],
    "quotemark": [
      true,
      "double"
    ],
    "semicolon": [
      true,
      "always"
    ],
    "triple-equals": [
      true,
      "allow-null-check"
    ],
    "typedef-whitespace": [
      true,
      {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      }
    ],
    "variable-name": [
      true,
      "ban-keywords"
    ],
    "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type"
    ],
    "typedef": [
      true,
      "call-signature",
      "parameter",
      "member-variable-declaration"
    ]
  }
}
 

Вот мой tsconfig:

 {
  "compilerOptions": {
    "outDir": "./dist/",
    "module": "commonjs",
    "target": "es2017",
    "noImplicitAny": false,
    "sourceMap": false
  }
}
 

Комментарии:

1. в вашей среде IDE может использоваться более старая версия TS

2. я думаю, что это не так, в настройках > языки и фреймворки >> машинопись, он использует локальную версию проекта, которая является последней, 4.3.5

3. Покажите файл и саму ошибку (если возможно, все окно IDE: иногда небольшие нюансы (визуальные подсказки) имеют значение).

4. @Lazyon извините, но ошибка теперь исчезла, и я не уверен, что я изменил. Я добавил некоторый "types" массив в файл tsconfig, но я не уверен, что это его источник. Хммм…