Tslint: Uso inseguro de la expresión del tipo 'cualquiera'.

Creado en 5 ene. 2018  ·  3Comentarios  ·  Fuente: palantir/tslint

Informe de error

  • __TSLint versión__: 5.8.0
  • __Versión de TypeScript__: 2.6.2
  • __Ejecutando TSLint a través de__: API Node.js

El código de TypeScript está entretejido

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

Configuración

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

Comportamiento real

Uso inseguro de la expresión del tipo 'cualquiera'.

Comportamiento esperado

Puedo hacer const json: any = JSON.parse(queryData); pero quiero mantener las reglas de no-nada
¿Cómo puedo obtener el retorno de JSON.parse sin obtener un uso inseguro de la expresión del tipo 'cualquiera'?

Not A Bug

Todos 3 comentarios

Realmente no estoy seguro de lo que esperas aquí ... ¿Quieres usar any , pero quieres mantener la regla no-any ? Eso se contradice completamente entre sí. ¿Qué le impide simplemente declarar el tipo de coincidencia para los datos de su consulta y luego simplemente hacer const json: YourType = JSON.parse(queryData); ?

Gracias por responder. No estaba claro
Mi objetivo es mantener las reglas de no-any y busco una forma de obtener el resultado de JSON.parse (queryData) sin previo aviso.

Ahora hago json: any = JSON.parse (queryData); => pero tengo que deshabilitar el no-any.
Si hago su solución: const json: YourType = JSON.parse (queryData);
Entonces tendré que deshabilitar las reglas que no son inseguras.

Esta es la razón por la que en mi primer enfoque probé: const json: {} | nulo | indefinido = JSON.parse (queryData); Mirando el documento https://palantir.github.io/tslint/rules/no-unsafe-any/ => no tendré el no-inseguro-any y el no ningún aviso.

Pero JSON.parse también puede devolver otro tipo como cadena, por lo que esta solución no es la indicada.
De hecho, no estoy seguro de que haya una solución, pero antes les pregunto a ustedes, especialistas.

@ohrrkan, su caso de uso es bueno; normalmente, lo que la gente hace es JSON.parse(queryData) as MyType . Cerrando esto como no procesable por ahora, ya que no ha habido mucha demanda de acción por parte de TSLint. ¡Espero que ayude!

¿Fue útil esta página
0 / 5 - 0 calificaciones