Tslint: Небезопасное использование выражения типа any.

Созданный на 5 янв. 2018  ·  3Комментарии  ·  Источник: palantir/tslint

Отчет об ошибке

  • __TSLint версия__: 5.8.0
  • __TypeScript version__: 2.6.2
  • __Запуск TSLint через__: API Node.js

Линтинг кода TypeScript

const json: {} | null | undefined = JSON.parse(queryData);

Конфигурация

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:all"
    ],
    "rules": {
    }
}

Фактическое поведение

Небезопасное использование выражения типа any.

Ожидаемое поведение

Я могу сделать const json: any = JSON.parse(queryData); но я хочу соблюдать правила "никаких"
Как я могу получить возврат JSON.parse без получения Небезопасного использования выражения типа 'any'.

Not A Bug

Все 3 Комментарий

Я действительно не уверен, чего вы здесь ожидаете ... Вы хотите использовать any , но хотите сохранить правило no-any ? Это полностью противоречит друг другу. Что мешает вам просто объявить тип соответствия для данных вашего запроса, а затем просто сделать const json: YourType = JSON.parse(queryData); ?

Спасибо за ответ. Мне было не ясно
Моя цель - соблюдать правила «no-any», и я ищу способ получить результат JSON.parse (queryData) без предупреждения.

Теперь я использую json: any = JSON.parse (queryData); => но я должен отключить no-any.
Если я использую ваше решение: const json: YourType = JSON.parse (queryData);
Затем мне придется отключить правила, запрещающие небезопасно.

Вот почему в моем первом подходе я пробую: const json: {} | null | undefined = JSON.parse (queryData); Глядя на документ https://palantir.github.io/tslint/rules/no-unsafe-any/ => у меня не будет никаких предупреждений no-unsafe-any и no any.

Но JSON.parse также может возвращать другой тип, например строку, поэтому это решение не то.
На самом деле я не уверен, что есть решение, но прежде чем спросить вас, ребята, специалист.

@ohrrkan, ваш JSON.parse(queryData) as MyType . На данный момент закрываем это как недействительное, так как со стороны TSLint не было большого спроса на какие-либо действия. Надеюсь, это поможет!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги