@graphql-codegen/java-apollo-android
Version:
GraphQL Code Generator plugin for generating Java classes for Apollo-Android
40 lines (39 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.visitFieldArguments = visitFieldArguments;
const plugin_helpers_1 = require("@graphql-codegen/plugin-helpers");
const imports_js_1 = require("./imports.js");
function visitFieldArguments(selection, imports) {
if (!selection.arguments || selection.arguments.length === 0) {
return 'null';
}
imports.add(imports_js_1.Imports.UnmodifiableMapBuilder);
imports.add(imports_js_1.Imports.String);
imports.add(imports_js_1.Imports.Object);
return (0, plugin_helpers_1.oldVisit)(selection, {
leave: {
Field: (node) => {
return (`new UnmodifiableMapBuilder<String, Object>(${node.arguments.length})` +
node.arguments.join('') +
'.build()');
},
Argument: (node) => {
return `.put("${node.name.value}", ${node.value})`;
},
ObjectValue: (node) => {
return (`new UnmodifiableMapBuilder<String, Object>(${node.fields.length})` +
node.fields.join('') +
'.build()');
},
ObjectField: (node) => {
return `.put("${node.name.value}", ${node.value})`;
},
Variable: (node) => {
return `new UnmodifiableMapBuilder<String, Object>(2).put("kind", "Variable").put("variableName", "${node.name.value}").build()`;
},
StringValue: (node) => `"${node.value}"`,
IntValue: (node) => `"${node.value}"`,
FloatValue: (node) => `"${node.value}"`,
},
});
}