1 | import { serializeFetchParameter } from "./serializeFetchParameter.js";
|
2 | export 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 |
|
\ | No newline at end of file |