///|
extern "js" fn encode_uri_component(value : String) -> String =
#| (value) => encodeURIComponent(value)
///|
pub fn encode_query(params : Array[(String, String)]) -> String {
if params.is_empty() {
return ""
}
let builder = StringBuilder::new()
for index, entry in params {
let (key, value) = entry
if index > 0 {
builder.write_char('&')
}
builder.write_string(encode_uri_component(key))
builder.write_char('=')
builder.write_string(encode_uri_component(value))
}
builder.to_string()
}