Я получаю следующую ошибку при передаче значения 0
переменной.
Ошибка: сетевая ошибка: отсутствуют параметры для запуска запроса, укажите их в параметрах запроса или используйте директиву экспорта
Если вместо этого я использую строку, она работает.
Я отладил код и обнаружил проблему в функции replaceParam
которая проверяет !value
где (я полагаю 😃) следует проверять null
/ undefined
values.
var replaceParam = function (endpoint, name, value) {
if (!value || !name) {
return endpoint;
}
return endpoint.replace(":" + name, value);
};
Я пришлю пиар
Хорошая уловка, машинописный способ для этого
if (value != null || name != null)
Жду слияния вашего пиара! :)
Пожалуйста, добавьте модульный тест, чтобы мы могли уловить любые будущие регрессии.
Мне ясно, что 0
и false
представляют реальные значения, а undefined
- недостающее, но я не уверен в значениях null
.
Как ты думаешь @fbartho?
@gaguirre Извините, я пропустил ваш ответ! Я отправил ваш код как есть. Я думаю, что нам, вероятно, следует поддержать передачу null
внутрь и позволить другому слою заниматься этим.
Вы видели функцию pathBuilder
? Это предоставленный пользователем код, который может заботиться о различии между undefined
и null
или может фактически использовать null
с пользой.
Как вы думаете, мы должны открыть новый билет для отслеживания этого дела?
@fbartho без проблем! Я согласен с тем, что null
является допустимым случаем, и я учел это в PR.
Единственное, чего не хватало, - это тестовые примеры для случая undefined
, но поведение, которое я считаю правильным: вызовет ошибку _Missing parameter_. 👍