Apollo-link-rest: 🐛 La consulta arroja un error cuando el valor del parámetro es falso (0, falso, nulo, indefinido)

Creado en 26 feb. 2018  ·  4Comentarios  ·  Fuente: apollographql/apollo-link-rest

Recibo el siguiente error al pasar un 0 en una variable.
Error: error de red: faltan parámetros para ejecutar la consulta, especifíquela en los parámetros de consulta o use una directiva de exportación

Si en cambio uso una cadena, funciona.

He depurado el código y encontré el problema en la función replaceParam que está comprobando !value donde (supongo be) debería estar comprobando null / undefined valores.

var replaceParam = function (endpoint, name, value) {
    if (!value || !name) {
        return endpoint;
    }
    return endpoint.replace(":" + name, value);
};

Enviaré un PR

bug 🐛

Todos 4 comentarios

Buena captura, la forma mecanografiada de esto es

if (value != null || name != null)

¡Espero fusionar tus relaciones públicas! :)

Agregue una prueba unitaria para detectar cualquier regresión futura.

Para mí está claro que 0 y false representan valores reales y undefined uno que falta, pero no estoy seguro de los valores de null .
¿Qué opinas @fbartho?

@gaguirre ¡ Lo siento, perdí tu respuesta! Envié tu código como está. Creo que probablemente deberíamos admitir pasar null y dejar que una capa diferente se ocupe de ello.

¿Has visto la función pathBuilder ? Ese es el código proporcionado por el usuario que podría preocuparse por la distinción entre undefined y null , o que en realidad podría usar null manera útil.

¿Crees que deberíamos abrir un nuevo ticket para rastrear ese caso?

@fbartho no hay problema! Estoy de acuerdo en que null es un caso válido y lo he considerado en el PR.
Lo único que faltaba eran los casos de prueba para el caso undefined , pero el comportamiento que creo que es correcto: arrojará un error _Missing parameter_. 👍

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