UNPKG

1.39 kBJavaScriptView Raw
1import { Imports } from './imports.js';
2import { oldVisit } from '@graphql-codegen/plugin-helpers';
3export 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}