#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, но я не уверен, что это его источник. Хммм…