Nim's standard library uri module does not parse query strings parameters. While cgi module parses the query string, but it does not work in js mode.
I need to parse URLs in js mode!
This led me to make a module that works everywhere C and JS and parses everything! I was not thrilled about the API uri/cgi provided for parsing, so I worked on an easy way to work with the query key-value pairs even when they are repeating and order matters.
https://github.com/treeform/urlly
My main feature is that query string parameters are stored in a plain associative array seq[(string, string)] so its easy to work with and it preserves order exactly (unlike tables). Its always clear how how the URL should parsed and be turned back into string.
Please check it and and give me feed back on anything that is confusing or incorrect.
Thanks!