QueryHash is a simple class for handling/creating query strings and base64 query string tokens in the client or browser
node UMD module lives at ./query-hash.js while the client side lib is exposed as the global QueryHash in the dist directory.
Typescript typing located in ./query-hash.d.ts
var q = new QueryHash();
q.add('test', 'passed');
q.add('again', 'hooray');
q.toQueryString(); // test=passed&again=hooray
q.toUrlToken(); // dGVzdD1wYXNzZWQmYWdhaW49aG9vcmF5
var q2 = new QueryHash('dGVzdD1wYXNzZWQmYWdhaW49aG9vcmF5');
q2.keys(); // ['test', 'again'];
q2.remove('test);
q2.add('random', 'value');
q2.toQueryString(); // again=hooray&random=value