{"ScriptPreparationCode":"var getURLParameters = url =\u003E\r\n (url.match(/([^?=\u0026]\u002B)(=([^\u0026]*))/g) || []).reduce(\r\n (a, v) =\u003E (\r\n (a[v.slice(0, v.indexOf(\u0027=\u0027))] = v.slice(v.indexOf(\u0027=\u0027) \u002B 1)), a\r\n ),\r\n {}\r\n );\r\n\r\nfunction getQueryParams(queryString) {\r\n queryString = queryString.split(\u0027\u002B\u0027).join(\u0027 \u0027);\r\n\r\n const params = {};\r\n let tokens;\r\n const re = /[?\u0026]?([^=]\u002B)=([^\u0026]*)/g;\r\n\r\n // eslint-disable-next-line no-cond-assign\r\n while ((tokens = re.exec(queryString))) {\r\n params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);\r\n }\r\n\r\n return params;\r\n}","TestCases":[{"Name":"getURLParameters","Code":"getURLParameters(\u0022http://url.com/page?name=Adam\u0026surname=Smith\u0022)","IsDeferred":false},{"Name":"getQueryParams","Code":"getQueryParams(\u0022http://url.com/page?name=Adam\u0026surname=Smith\u0022)","IsDeferred":false}]}