Полезное расширение. Есть маленькое замечание, следующий код избыточен (если defaultValue undefined, то зачем его устанавливать в undefined). Это будет иметь смысл, только если новое значение не будет undefined. Сделать пул-реквест?
А почему нельзя обойтись для первого совета просто конкатенацией строк? Читабельность запроса будет такой же. А вообще, разве в NodeJS нет никаких queryBuilder?
Очень красивая и классная идея! А еще со временем после того как все эти команды уже знаешь «на зубок», можно напечатать новую кружку с новыми командами.
А вот скажите, в каком практическом случае (хотя я не отрицаю их), может понадобиться такой случай, чтобы было именно на том языке? Да, такие ситауции могут быть, но в основном совсем наоборот, человеку нужен именно контент на его языке.
По поводу URL для локализации. Не всегда необходим свой URL для каждого языка. Мне даже больше нравится подход, когда где-то внутри хранится текущий язык (в cookie, например). При первом заходе на сайт определять этот язык автоматически. Таким образом будет одинаковая ссылка для филиппинца и русского. Но у каждого будет на своём языке. И русский сможет отправить ссылку немцу и она откроется не на русском, а на немецком. Для примера, так сделано в Tuffle.
defaultValue = typeof defaultValue === 'undefined' ? undefined: defaultValue;