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
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_. 👍