UNPKG

1.61 kBJavaScriptView Raw
1import { serializeFetchParameter } from "./serializeFetchParameter.js";
2export function rewriteURIForGET(chosenURI, body) {
3 var queryParams = [];
4 var addQueryParam = function (key, value) {
5 queryParams.push("".concat(key, "=").concat(encodeURIComponent(value)));
6 };
7 if ('query' in body) {
8 addQueryParam('query', body.query);
9 }
10 if (body.operationName) {
11 addQueryParam('operationName', body.operationName);
12 }
13 if (body.variables) {
14 var serializedVariables = void 0;
15 try {
16 serializedVariables = serializeFetchParameter(body.variables, 'Variables map');
17 }
18 catch (parseError) {
19 return { parseError: parseError };
20 }
21 addQueryParam('variables', serializedVariables);
22 }
23 if (body.extensions) {
24 var serializedExtensions = void 0;
25 try {
26 serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');
27 }
28 catch (parseError) {
29 return { parseError: parseError };
30 }
31 addQueryParam('extensions', serializedExtensions);
32 }
33 var fragment = '', preFragment = chosenURI;
34 var fragmentStart = chosenURI.indexOf('#');
35 if (fragmentStart !== -1) {
36 fragment = chosenURI.substr(fragmentStart);
37 preFragment = chosenURI.substr(0, fragmentStart);
38 }
39 var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';
40 var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;
41 return { newURI: newURI };
42}
43//# sourceMappingURL=rewriteURIForGET.js.map
\No newline at end of file