UNPKG

833 BJavaScriptView Raw
1const UTF16toUTF8 = (UTF16String) => decodeURIComponent(UTF16String.split('')
2 .map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))
3 .join(''));
4const decodeUrlQuery = ({ urlQuery, parametersToBeDecoded = [] }) => {
5 const decodedUrl = Object.assign({}, urlQuery);
6 for (const param of parametersToBeDecoded) {
7 let value = decodedUrl[param];
8 try {
9 value = UTF16toUTF8(universalDecode(value));
10 }
11 catch (error) {
12 // Not Base64 encoded
13 }
14 decodedUrl[param] = value;
15 }
16 return decodedUrl;
17};
18function universalDecode(str) {
19 if (__IN_SERVER__) {
20 return Buffer.from(str, 'base64').toString('latin1');
21 }
22 else {
23 return atob(str);
24 }
25}
26export default decodeUrlQuery;
27//# sourceMappingURL=decodeUrlQuery.js.map
\No newline at end of file