1 | import { Imports } from './imports.js';
|
2 | import { oldVisit } from '@graphql-codegen/plugin-helpers';
|
3 | export function visitFieldArguments(selection, imports) {
|
4 | if (!selection.arguments || selection.arguments.length === 0) {
|
5 | return 'null';
|
6 | }
|
7 | imports.add(Imports.UnmodifiableMapBuilder);
|
8 | imports.add(Imports.String);
|
9 | imports.add(Imports.Object);
|
10 | return oldVisit(selection, {
|
11 | leave: {
|
12 | Field: (node) => {
|
13 | return (`new UnmodifiableMapBuilder<String, Object>(${node.arguments.length})` + node.arguments.join('') + '.build()');
|
14 | },
|
15 | Argument: (node) => {
|
16 | return `.put("${node.name.value}", ${node.value})`;
|
17 | },
|
18 | ObjectValue: (node) => {
|
19 | return `new UnmodifiableMapBuilder<String, Object>(${node.fields.length})` + node.fields.join('') + '.build()';
|
20 | },
|
21 | ObjectField: (node) => {
|
22 | return `.put("${node.name.value}", ${node.value})`;
|
23 | },
|
24 | Variable: (node) => {
|
25 | return `new UnmodifiableMapBuilder<String, Object>(2).put("kind", "Variable").put("variableName", "${node.name.value}").build()`;
|
26 | },
|
27 | StringValue: (node) => `"${node.value}"`,
|
28 | IntValue: (node) => `"${node.value}"`,
|
29 | FloatValue: (node) => `"${node.value}"`,
|
30 | },
|
31 | });
|
32 | }
|