UNPKG

127 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.cjs.js","sources":["../../../dist/plugins/java/apollo-android/src/imports.js","../../../dist/plugins/java/apollo-android/src/base-java-visitor.js","../../../dist/plugins/java/apollo-android/src/input-type-visitor.js","../../../dist/plugins/java/apollo-android/src/field-arguments.js","../../../dist/plugins/java/apollo-android/src/operation-visitor.js","../../../dist/plugins/java/apollo-android/src/file-type.js","../../../dist/plugins/java/apollo-android/src/custom-type-class.js","../../../dist/plugins/java/apollo-android/src/plugin.js","../../../dist/plugins/java/apollo-android/src/preset.js"],"sourcesContent":["export const Imports = {\n // Primitives\n String: 'java.lang.String',\n Boolean: 'java.lang.Boolean',\n Integer: 'java.lang.Integer',\n Object: 'java.lang.Object',\n Float: 'java.lang.Float',\n Long: 'java.lang.Long',\n // Java Base\n Class: 'java.lang.Class',\n Arrays: 'java.util.Arrays',\n List: 'java.util.List',\n IOException: 'java.io.IOException',\n Collections: 'java.util.Collections',\n LinkedHashMap: 'java.util.LinkedHashMap',\n Map: 'java.util.Map',\n // Annotations\n Nonnull: 'javax.annotation.Nonnull',\n Nullable: 'javax.annotation.Nullable',\n Override: 'java.lang.Override',\n Generated: 'javax.annotation.Generated',\n // Apollo Android\n ScalarType: 'com.apollographql.apollo.api.ScalarType',\n GraphqlFragment: 'com.apollographql.apollo.api.GraphqlFragment',\n Operation: 'com.apollographql.apollo.api.Operation',\n OperationName: 'com.apollographql.apollo.api.OperationName',\n Mutation: 'com.apollographql.apollo.api.Mutation',\n Query: 'com.apollographql.apollo.api.Query',\n Subscription: 'com.apollographql.apollo.api.Subscription',\n ResponseField: 'com.apollographql.apollo.api.ResponseField',\n ResponseFieldMapper: 'com.apollographql.apollo.api.ResponseFieldMapper',\n ResponseFieldMarshaller: 'com.apollographql.apollo.api.ResponseFieldMarshaller',\n ResponseReader: 'com.apollographql.apollo.api.ResponseReader',\n ResponseWriter: 'com.apollographql.apollo.api.ResponseWriter',\n FragmentResponseFieldMapper: 'com.apollographql.apollo.api.FragmentResponseFieldMapper',\n UnmodifiableMapBuilder: 'com.apollographql.apollo.api.internal.UnmodifiableMapBuilder',\n Utils: 'com.apollographql.apollo.api.internal.Utils',\n InputType: 'com.apollographql.apollo.api.InputType',\n Input: 'com.apollographql.apollo.api.Input',\n InputFieldMarshaller: 'com.apollographql.apollo.api.InputFieldMarshaller',\n InputFieldWriter: 'com.apollographql.apollo.api.InputFieldWriter',\n};\n//# sourceMappingURL=imports.js.map","import { Imports } from './imports';\nimport { BaseVisitor, getBaseTypeNode, buildScalars } from '@graphql-codegen/visitor-plugin-common';\nimport { getBaseType } from '@graphql-codegen/plugin-helpers';\nimport { JAVA_SCALARS } from '@graphql-codegen/java-common';\nimport { isScalarType, isInputObjectType, Kind, isNonNullType, isListType, GraphQLObjectType, } from 'graphql';\nexport const SCALAR_TO_WRITER_METHOD = {\n ID: 'writeString',\n String: 'writeString',\n Int: 'writeInt',\n Boolean: 'writeBoolean',\n Float: 'writeDouble',\n};\nfunction isTypeNode(type) {\n return type && !!type.kind;\n}\nexport class BaseJavaVisitor extends BaseVisitor {\n constructor(_schema, rawConfig, additionalConfig) {\n super(rawConfig, {\n ...additionalConfig,\n scalars: buildScalars(_schema, { ID: 'String' }, JAVA_SCALARS),\n });\n this._schema = _schema;\n this._imports = new Set();\n }\n getPackage() {\n return '';\n }\n additionalContent() {\n return '';\n }\n getImports() {\n return Array.from(this._imports).map(imp => `import ${imp};`);\n }\n getImplementingTypes(node) {\n const allTypesMap = this._schema.getTypeMap();\n const implementingTypes = [];\n for (const graphqlType of Object.values(allTypesMap)) {\n if (graphqlType instanceof GraphQLObjectType) {\n const allInterfaces = graphqlType.getInterfaces();\n if (allInterfaces.find(int => int.name === node.name)) {\n implementingTypes.push(graphqlType.name);\n }\n }\n }\n return implementingTypes;\n }\n transformType(type) {\n let schemaType;\n let isNonNull;\n if (isTypeNode(type)) {\n const baseTypeNode = getBaseTypeNode(type);\n schemaType = this._schema.getType(baseTypeNode.name.value);\n isNonNull = type.kind === Kind.NON_NULL_TYPE;\n }\n else {\n schemaType = this._schema.getType(getBaseType(type).name);\n isNonNull = isNonNullType(type);\n }\n const javaType = this.getJavaClass(schemaType);\n const annotation = isNonNull ? 'Nonnull' : 'Nullable';\n const typeToUse = isTypeNode(type)\n ? this.getListTypeNodeWrapped(javaType, type)\n : this.getListTypeWrapped(javaType, type);\n return {\n baseType: schemaType.name,\n javaType,\n isNonNull,\n annotation,\n typeToUse,\n };\n }\n // Replaces a GraphQL type with a Java class\n getJavaClass(schemaType) {\n let typeToUse = schemaType.name;\n if (isScalarType(schemaType)) {\n const scalar = this.scalars[schemaType.name] || 'Object';\n if (Imports[scalar]) {\n this._imports.add(Imports[scalar]);\n }\n typeToUse = scalar;\n }\n else if (isInputObjectType(schemaType)) {\n // Make sure to import it if it's in use\n this._imports.add(`${this.config.typePackage}.${schemaType.name}`);\n }\n return typeToUse;\n }\n getListTypeWrapped(toWrap, type) {\n if (isNonNullType(type)) {\n return this.getListTypeWrapped(toWrap, type.ofType);\n }\n if (isListType(type)) {\n const child = this.getListTypeWrapped(toWrap, type.ofType);\n this._imports.add(Imports.List);\n return `List<${child}>`;\n }\n return toWrap;\n }\n getListTypeNodeWrapped(toWrap, type) {\n if (type.kind === Kind.NON_NULL_TYPE) {\n return this.getListTypeNodeWrapped(toWrap, type.type);\n }\n if (type.kind === Kind.LIST_TYPE) {\n const child = this.getListTypeNodeWrapped(toWrap, type.type);\n this._imports.add(Imports.List);\n return `List<${child}>`;\n }\n return toWrap;\n }\n}\n//# sourceMappingURL=base-java-visitor.js.map","import { getBaseTypeNode, indent, indentMultiline } from '@graphql-codegen/visitor-plugin-common';\nimport { JavaDeclarationBlock } from '@graphql-codegen/java-common';\nimport { isScalarType, isInputObjectType, Kind, isEnumType, } from 'graphql';\nimport { Imports } from './imports';\nimport { BaseJavaVisitor, SCALAR_TO_WRITER_METHOD } from './base-java-visitor';\nexport class InputTypeVisitor extends BaseJavaVisitor {\n constructor(_schema, rawConfig) {\n super(_schema, rawConfig, {\n typePackage: rawConfig.typePackage || 'type',\n });\n }\n getPackage() {\n return this.config.typePackage;\n }\n addInputMembers(cls, fields) {\n fields.forEach(field => {\n const type = this.transformType(field.type);\n const actualType = type.isNonNull ? type.typeToUse : `Input<${type.typeToUse}>`;\n const annotations = type.isNonNull ? [type.annotation] : [];\n this._imports.add(Imports[type.annotation]);\n cls.addClassMember(field.name.value, actualType, null, annotations, 'private', { final: true });\n cls.addClassMethod(field.name.value, actualType, `return this.${field.name.value};`, [], [type.annotation], 'public');\n });\n }\n addInputCtor(cls, className, fields) {\n const impl = fields.map(field => `this.${field.name.value} = ${field.name.value};`).join('\\n');\n cls.addClassMethod(className, null, impl, fields.map(f => {\n const type = this.transformType(f.type);\n const actualType = type.isNonNull ? type.typeToUse : `Input<${type.typeToUse}>`;\n this._imports.add(Imports[type.annotation]);\n return {\n name: f.name.value,\n type: actualType,\n annotations: type.isNonNull ? [type.annotation] : [],\n };\n }), [], 'public');\n }\n getFieldWriterCall(field, listItemCall = false) {\n const baseType = getBaseTypeNode(field.type);\n const schemaType = this._schema.getType(baseType.name.value);\n const isNonNull = field.type.kind === Kind.NON_NULL_TYPE;\n let writerMethod = null;\n if (isScalarType(schemaType)) {\n writerMethod = SCALAR_TO_WRITER_METHOD[schemaType.name] || 'writeCustom';\n }\n else if (isInputObjectType(schemaType)) {\n return listItemCall\n ? `writeObject($item.marshaller())`\n : `writeObject(\"${field.name.value}\", ${field.name.value}.value != null ? ${field.name.value}.value.marshaller() : null)`;\n }\n else if (isEnumType(schemaType)) {\n writerMethod = 'writeString';\n }\n return listItemCall\n ? `${writerMethod}($item)`\n : `${writerMethod}(\"${field.name.value}\", ${field.name.value}${isNonNull ? '' : '.value'})`;\n }\n getFieldWithTypePrefix(field, wrapWith = null, applyNullable = false) {\n this._imports.add(Imports.Input);\n const typeToUse = this.getJavaClass(this._schema.getType(getBaseTypeNode(field.type).name.value));\n const isNonNull = field.type.kind === Kind.NON_NULL_TYPE;\n const name = field.kind === Kind.INPUT_VALUE_DEFINITION ? field.name.value : field.variable.name.value;\n if (isNonNull) {\n this._imports.add(Imports.Nonnull);\n return `@Nonnull ${typeToUse} ${name}`;\n }\n else {\n if (wrapWith) {\n return typeof wrapWith === 'function' ? `${wrapWith(typeToUse)} ${name}` : `${wrapWith}<${typeToUse}> ${name}`;\n }\n else {\n if (applyNullable) {\n this._imports.add(Imports.Nullable);\n }\n return `${applyNullable ? '@Nullable ' : ''}${typeToUse} ${name}`;\n }\n }\n }\n buildFieldsMarshaller(field) {\n const isNonNull = field.type.kind === Kind.NON_NULL_TYPE;\n const isArray = field.type.kind === Kind.LIST_TYPE ||\n (field.type.kind === Kind.NON_NULL_TYPE && field.type.type.kind === Kind.LIST_TYPE);\n const call = this.getFieldWriterCall(field, isArray);\n const baseTypeNode = getBaseTypeNode(field.type);\n const listItemType = this.getJavaClass(this._schema.getType(baseTypeNode.name.value));\n let result = '';\n // TODO: Refactor\n if (isArray) {\n result = `writer.writeList(\"${field.name.value}\", ${field.name.value}.value != null ? new InputFieldWriter.ListWriter() {\n @Override\n public void write(InputFieldWriter.ListItemWriter listItemWriter) throws IOException {\n for (${listItemType} $item : ${field.name.value}.value) {\n listItemWriter.${call};\n }\n }\n} : null);`;\n }\n else {\n result = indent(`writer.${call};`);\n }\n if (isNonNull) {\n return result;\n }\n else {\n return indentMultiline(`if(${field.name.value}.defined) {\n${indentMultiline(result)}\n}`);\n }\n }\n buildMarshallerOverride(fields) {\n this._imports.add(Imports.Override);\n this._imports.add(Imports.IOException);\n this._imports.add(Imports.InputFieldWriter);\n this._imports.add(Imports.InputFieldMarshaller);\n const allMarshallers = fields.map(field => indentMultiline(this.buildFieldsMarshaller(field), 2));\n return indentMultiline(`@Override\npublic InputFieldMarshaller marshaller() {\n return new InputFieldMarshaller() {\n @Override\n public void marshal(InputFieldWriter writer) throws IOException {\n${allMarshallers.join('\\n')}\n }\n };\n}`);\n }\n buildBuilderNestedClass(className, fields) {\n const builderClassName = 'Builder';\n const privateFields = fields\n .map(field => {\n const isArray = field.type.kind === Kind.LIST_TYPE ||\n (field.type.kind === Kind.NON_NULL_TYPE && field.type.type.kind === Kind.LIST_TYPE);\n const fieldType = this.getFieldWithTypePrefix(field, v => (!isArray ? `Input<${v}>` : `Input<List<${v}>>`));\n const isNonNull = field.type.kind === Kind.NON_NULL_TYPE;\n return `private ${fieldType}${isNonNull ? '' : ' = Input.absent()'};`;\n })\n .map(s => indent(s));\n const setters = fields\n .map(field => {\n const isArray = field.type.kind === Kind.LIST_TYPE ||\n (field.type.kind === Kind.NON_NULL_TYPE && field.type.type.kind === Kind.LIST_TYPE);\n const fieldType = this.getFieldWithTypePrefix(field, isArray ? 'List' : null);\n const isNonNull = field.type.kind === Kind.NON_NULL_TYPE;\n return `\\npublic ${builderClassName} ${field.name.value}(${isNonNull ? '' : '@Nullable '}${fieldType}) {\n this.${field.name.value} = ${isNonNull ? field.name.value : `Input.fromNullable(${field.name.value})`};\n return this;\n}`;\n })\n .map(s => indentMultiline(s));\n const nonNullFields = fields\n .filter(f => f.type.kind === Kind.NON_NULL_TYPE)\n .map(nnField => {\n this._imports.add(Imports.Utils);\n return indent(`Utils.checkNotNull(${nnField.name.value}, \"${nnField.name.value} == null\");`, 1);\n });\n const ctor = '\\n' + indent(`${builderClassName}() {}`);\n const buildFn = indentMultiline(`public ${className} build() {\n${nonNullFields.join('\\n')}\n return new ${className}(${fields.map(f => f.name.value).join(', ')});\n}`);\n const body = [...privateFields, ctor, ...setters, '', buildFn].join('\\n');\n return indentMultiline(new JavaDeclarationBlock()\n .withName(builderClassName)\n .access('public')\n .final()\n .static()\n .withBlock(body)\n .asKind('class').string);\n }\n InputObjectTypeDefinition(node) {\n const className = node.name.value;\n this._imports.add(Imports.InputType);\n this._imports.add(Imports.Generated);\n const cls = new JavaDeclarationBlock()\n .annotate([`Generated(\"Apollo GraphQL\")`])\n .access('public')\n .final()\n .asKind('class')\n .withName(className)\n .implements(['InputType']);\n this.addInputMembers(cls, node.fields);\n this.addInputCtor(cls, className, node.fields);\n cls.addClassMethod('builder', 'Builder', 'return new Builder();', [], [], 'public', { static: true });\n const marshallerOverride = this.buildMarshallerOverride(node.fields);\n const builderClass = this.buildBuilderNestedClass(className, node.fields);\n const classBlock = [marshallerOverride, '', builderClass].join('\\n');\n cls.withBlock(classBlock);\n return cls.string;\n }\n}\n//# sourceMappingURL=input-type-visitor.js.map","import { visit, } from 'graphql';\nimport { Imports } from './imports';\nexport function visitFieldArguments(selection, imports) {\n if (!selection.arguments || selection.arguments.length === 0) {\n return 'null';\n }\n imports.add(Imports.UnmodifiableMapBuilder);\n imports.add(Imports.String);\n imports.add(Imports.Object);\n return visit(selection, {\n leave: {\n Field: (node) => {\n return (`new UnmodifiableMapBuilder<String, Object>(${node.arguments.length})` + node.arguments.join('') + '.build()');\n },\n Argument: (node) => {\n return `.put(\"${node.name.value}\", ${node.value})`;\n },\n ObjectValue: (node) => {\n return `new UnmodifiableMapBuilder<String, Object>(${node.fields.length})` + node.fields.join('') + '.build()';\n },\n ObjectField: (node) => {\n return `.put(\"${node.name.value}\", ${node.value})`;\n },\n Variable: (node) => {\n return `new UnmodifiableMapBuilder<String, Object>(2).put(\"kind\", \"Variable\").put(\"variableName\", \"${node.name.value}\").build()`;\n },\n StringValue: (node) => `\"${node.value}\"`,\n IntValue: (node) => `\"${node.value}\"`,\n FloatValue: (node) => `\"${node.value}\"`,\n },\n });\n}\n//# sourceMappingURL=field-arguments.js.map","import { BaseJavaVisitor, SCALAR_TO_WRITER_METHOD } from './base-java-visitor';\nimport { indent, indentMultiline, getBaseTypeNode } from '@graphql-codegen/visitor-plugin-common';\nimport { buildPackageNameFromPath, JavaDeclarationBlock } from '@graphql-codegen/java-common';\nimport { getBaseType } from '@graphql-codegen/plugin-helpers';\nimport { print, Kind, isNonNullType, isScalarType, isEnumType, isUnionType, isInterfaceType, isObjectType, isInputObjectType, GraphQLString, isListType, } from 'graphql';\nimport { Imports } from './imports';\nimport { createHash } from 'crypto';\nimport { singular, isPlural } from 'pluralize';\nimport { visitFieldArguments } from './field-arguments';\nimport { camelCase } from 'camel-case';\nimport { pascalCase } from 'pascal-case';\nexport class OperationVisitor extends BaseJavaVisitor {\n constructor(_schema, rawConfig, _availableFragments) {\n super(_schema, rawConfig, {\n package: rawConfig.package || buildPackageNameFromPath(process.cwd()),\n fragmentPackage: rawConfig.fragmentPackage || 'fragment',\n typePackage: rawConfig.typePackage || 'type',\n });\n this._availableFragments = _availableFragments;\n this.visitingFragment = false;\n }\n printDocument(node) {\n return print(node)\n .replace(/\\r?\\n|\\r/g, ' ')\n .replace(/\"/g, '\\\\\"')\n .trim();\n }\n getPackage() {\n return this.visitingFragment ? this.config.fragmentPackage : this.config.package;\n }\n addCtor(className, node, cls) {\n const variables = node.variableDefinitions || [];\n const hasVariables = variables.length > 0;\n const nonNullVariables = variables\n .filter(v => v.type.kind === Kind.NON_NULL_TYPE)\n .map(v => {\n this._imports.add(Imports.Utils);\n return `Utils.checkNotNull(${v.variable.name.value}, \"${v.variable.name.value} == null\");`;\n });\n const impl = [\n ...nonNullVariables,\n `this.variables = ${!hasVariables\n ? 'Operation.EMPTY_VARIABLES'\n : `new ${className}.Variables(${variables.map(v => v.variable.name.value).join(', ')})`};`,\n ].join('\\n');\n cls.addClassMethod(className, null, impl, node.variableDefinitions.map(varDec => {\n const outputType = getBaseTypeNode(varDec.type).name.value;\n const schemaType = this._schema.getType(outputType);\n const javaClass = this.getJavaClass(schemaType);\n const typeToUse = this.getListTypeNodeWrapped(javaClass, varDec.type);\n const isNonNull = varDec.type.kind === Kind.NON_NULL_TYPE;\n return {\n name: varDec.variable.name.value,\n type: typeToUse,\n annotations: [isNonNull ? 'Nonnull' : 'Nullable'],\n };\n }), null, 'public');\n }\n getRootType(operation) {\n if (operation === 'query') {\n return this._schema.getQueryType();\n }\n else if (operation === 'mutation') {\n return this._schema.getMutationType();\n }\n else if (operation === 'subscription') {\n return this._schema.getSubscriptionType();\n }\n else {\n return null;\n }\n }\n createUniqueClassName(inUse, name, count = 0) {\n const possibleNewName = count === 0 ? name : `${name}${count}`;\n while (inUse.includes(possibleNewName)) {\n return this.createUniqueClassName(inUse, name, count + 1);\n }\n return possibleNewName;\n }\n transformSelectionSet(options, isRoot = true) {\n if (!options.result) {\n options.result = {};\n }\n if (!isObjectType(options.schemaType) && !isInterfaceType(options.schemaType)) {\n return options.result;\n }\n const className = this.createUniqueClassName(Object.keys(options.result), options.className);\n const cls = new JavaDeclarationBlock()\n .access('public')\n .asKind('class')\n .withName(className)\n .implements(options.implements || []);\n if (!options.nonStaticClass) {\n cls.static();\n }\n options.result[className] = cls;\n const fields = options.schemaType.getFields();\n const childFields = [...(options.additionalFields || [])];\n const childInlineFragments = [];\n const childFragmentSpread = [...(options.additionalFragments || [])];\n const selections = [...(options.selectionSet || [])];\n const responseFieldArr = [];\n for (const selection of selections) {\n if (selection.kind === Kind.FIELD) {\n this._imports.add(Imports.ResponseField);\n const field = fields[selection.name.value];\n const isObject = selection.selectionSet && selection.selectionSet.selections && selection.selectionSet.selections.length > 0;\n const isNonNull = isNonNullType(field.type);\n const fieldAnnotation = isNonNull ? 'Nonnull' : 'Nullable';\n this._imports.add(Imports[fieldAnnotation]);\n const baseType = getBaseType(field.type);\n const isList = isListType(field.type) || (isNonNullType(field.type) && isListType(field.type.ofType));\n if (isObject) {\n let childClsName = this.convertName(field.name);\n if (isList && isPlural(childClsName)) {\n childClsName = singular(childClsName);\n }\n this.transformSelectionSet({\n className: childClsName,\n result: options.result,\n selectionSet: selection.selectionSet.selections,\n schemaType: baseType,\n }, false);\n childFields.push({\n rawType: field.type,\n isObject: true,\n isList,\n isFragment: false,\n type: baseType,\n isNonNull,\n annotation: fieldAnnotation,\n className: childClsName,\n fieldName: field.name,\n });\n }\n else {\n const javaClass = this.getJavaClass(baseType);\n childFields.push({\n rawType: field.type,\n isObject: false,\n isFragment: false,\n isList: isList,\n type: baseType,\n isNonNull,\n annotation: fieldAnnotation,\n className: javaClass,\n fieldName: field.name,\n });\n }\n this._imports.add(Imports.ResponseField);\n this._imports.add(Imports.Collections);\n const operationArgs = visitFieldArguments(selection, this._imports);\n const responseFieldMethod = this._resolveResponseFieldMethodForBaseType(field.type);\n responseFieldArr.push(`ResponseField.${responseFieldMethod.fn}(\"${selection.alias ? selection.alias.value : selection.name.value}\", \"${selection.name.value}\", ${operationArgs}, ${!isNonNullType(field.type)},${responseFieldMethod.custom ? ` CustomType.${baseType.name},` : ''} Collections.<ResponseField.Condition>emptyList())`);\n }\n else if (selection.kind === Kind.INLINE_FRAGMENT) {\n if (isUnionType(options.schemaType) || isInterfaceType(options.schemaType)) {\n childInlineFragments.push({\n onType: selection.typeCondition.name.value,\n node: selection,\n });\n }\n else {\n selections.push(...selection.selectionSet.selections);\n }\n }\n else if (selection.kind === Kind.FRAGMENT_SPREAD) {\n const fragment = this._availableFragments.find(f => f.name === selection.name.value);\n if (fragment) {\n childFragmentSpread.push(fragment);\n this._imports.add(`${this.config.fragmentPackage}.${fragment.name}`);\n }\n else {\n throw new Error(`Fragment with name ${selection.name.value} was not loaded as document!`);\n }\n }\n }\n if (childInlineFragments.length > 0) {\n const childFieldsBase = [...childFields];\n childFields.push(...childInlineFragments.map(inlineFragment => {\n const cls = `As${inlineFragment.onType}`;\n const schemaType = this._schema.getType(inlineFragment.onType);\n this.transformSelectionSet({\n additionalFields: childFieldsBase,\n additionalFragments: childFragmentSpread,\n className: cls,\n result: options.result,\n selectionSet: inlineFragment.node.selectionSet.selections,\n schemaType,\n }, false);\n this._imports.add(Imports.Nullable);\n return {\n isFragment: false,\n rawType: schemaType,\n isObject: true,\n isList: false,\n type: schemaType,\n isNonNull: false,\n annotation: 'Nullable',\n className: cls,\n fieldName: `as${inlineFragment.onType}`,\n };\n }));\n responseFieldArr.push(...childInlineFragments.map(f => {\n this._imports.add(Imports.Arrays);\n return `ResponseField.forInlineFragment(\"__typename\", \"__typename\", Arrays.asList(\"${f.onType}\"))`;\n }));\n }\n if (childFragmentSpread.length > 0) {\n responseFieldArr.push(`ResponseField.forFragment(\"__typename\", \"__typename\", Arrays.asList(${childFragmentSpread\n .map(f => `\"${f.onType}\"`)\n .join(', ')}))`);\n this._imports.add(Imports.ResponseField);\n this._imports.add(Imports.Nonnull);\n this._imports.add(Imports.Arrays);\n const fragmentsClassName = 'Fragments';\n childFields.push({\n isObject: true,\n isList: false,\n isFragment: true,\n rawType: options.schemaType,\n type: options.schemaType,\n isNonNull: true,\n annotation: 'Nonnull',\n className: fragmentsClassName,\n fieldName: 'fragments',\n });\n const fragmentsClass = new JavaDeclarationBlock()\n .withName(fragmentsClassName)\n .access('public')\n .static()\n .final()\n .asKind('class');\n const fragmentMapperClass = new JavaDeclarationBlock()\n .withName('Mapper')\n .access('public')\n .static()\n .final()\n .implements([`FragmentResponseFieldMapper<${fragmentsClassName}>`])\n .asKind('class');\n fragmentsClass.addClassMethod(fragmentsClassName, null, childFragmentSpread\n .map(spread => {\n const varName = camelCase(spread.name);\n this._imports.add(Imports.Utils);\n return `this.${varName} = Utils.checkNotNull(${varName}, \"${varName} == null\");`;\n })\n .join('\\n'), childFragmentSpread.map(spread => ({\n name: camelCase(spread.name),\n type: spread.name,\n annotations: ['Nonnull'],\n })), [], 'public');\n for (const spread of childFragmentSpread) {\n const fragmentVarName = camelCase(spread.name);\n fragmentsClass.addClassMember(fragmentVarName, spread.name, null, ['Nonnull'], 'private', { final: true });\n fragmentsClass.addClassMethod(fragmentVarName, spread.name, `return this.${fragmentVarName};`, [], ['Nonnull'], 'public', {}, []);\n fragmentMapperClass.addClassMember(`${fragmentVarName}FieldMapper`, `${spread.name}.Mapper`, `new ${spread.name}.Mapper()`, [], 'private', { final: true });\n }\n fragmentMapperClass.addClassMethod('map', fragmentsClassName, `\n${childFragmentSpread\n .map(spread => {\n const fragmentVarName = camelCase(spread.name);\n return `${spread.name} ${fragmentVarName} = null;\nif (${spread.name}.POSSIBLE_TYPES.contains(conditionalType)) {\n ${fragmentVarName} = ${fragmentVarName}FieldMapper.map(reader);\n}`;\n })\n .join('\\n')}\n\nreturn new Fragments(${childFragmentSpread\n .map(spread => {\n const fragmentVarName = camelCase(spread.name);\n return `Utils.checkNotNull(${fragmentVarName}, \"${fragmentVarName} == null\")`;\n })\n .join(', ')});\n `, [\n {\n name: 'reader',\n type: 'ResponseReader',\n },\n {\n name: 'conditionalType',\n type: 'String',\n annotations: ['Nonnull'],\n },\n ], ['Nonnull'], 'public', {}, ['Override']);\n this._imports.add(Imports.String);\n this._imports.add(Imports.ResponseReader);\n this._imports.add(Imports.ResponseFieldMarshaller);\n this._imports.add(Imports.ResponseWriter);\n fragmentsClass.addClassMethod('marshaller', 'ResponseFieldMarshaller', `return new ResponseFieldMarshaller() {\n @Override\n public void marshal(ResponseWriter writer) {\n${childFragmentSpread\n .map(spread => {\n const fragmentVarName = camelCase(spread.name);\n return indentMultiline(`final ${spread.name} $${fragmentVarName} = ${fragmentVarName};\\nif ($${fragmentVarName} != null) { $${fragmentVarName}.marshaller().marshal(writer); }`, 2);\n })\n .join('\\n')}\n }\n};\n `, [], [], 'public');\n fragmentsClass.addClassMember('$toString', 'String', null, [], 'private', { volatile: true });\n fragmentsClass.addClassMember('$hashCode', 'int', null, [], 'private', { volatile: true });\n fragmentsClass.addClassMember('$hashCodeMemoized', 'boolean', null, [], 'private', { volatile: true });\n fragmentsClass.addClassMethod('toString', 'String', `if ($toString == null) {\n $toString = \"${fragmentsClassName}{\"\n ${childFragmentSpread\n .map(spread => {\n const varName = camelCase(spread.name);\n return indent(`+ \"${varName}=\" + ${varName} + \", \"`, 2);\n })\n .join('\\n')}\n + \"}\";\n }\n \n return $toString;`, [], [], 'public', {}, ['Override']);\n // Add equals\n fragmentsClass.addClassMethod('equals', 'boolean', `if (o == this) {\n return true;\n }\n if (o instanceof ${fragmentsClassName}) {\n ${fragmentsClassName} that = (${fragmentsClassName}) o;\n return ${childFragmentSpread\n .map(spread => {\n const varName = camelCase(spread.name);\n return `this.${varName}.equals(that.${varName})`;\n })\n .join(' && ')};\n }\n \n return false;`, [{ name: 'o', type: 'Object' }], [], 'public', {}, ['Override']);\n // hashCode\n fragmentsClass.addClassMethod('hashCode', 'int', `if (!$hashCodeMemoized) {\n int h = 1;\n ${childFragmentSpread\n .map(spread => {\n const varName = camelCase(spread.name);\n return indentMultiline(`h *= 1000003;\\nh ^= ${varName}.hashCode();`, 1);\n })\n .join('\\n')}\n $hashCode = h;\n $hashCodeMemoized = true;\n }\n \n return $hashCode;`, [], [], 'public', {}, ['Override']);\n this._imports.add(Imports.FragmentResponseFieldMapper);\n fragmentsClass.nestedClass(fragmentMapperClass);\n cls.nestedClass(fragmentsClass);\n }\n if (responseFieldArr.length > 0 && !isRoot) {\n responseFieldArr.unshift(`ResponseField.forString(\"__typename\", \"__typename\", null, false, Collections.<ResponseField.Condition>emptyList())`);\n }\n if (!isRoot) {\n this._imports.add(Imports.Nonnull);\n childFields.unshift({\n isObject: false,\n isFragment: false,\n isList: false,\n type: GraphQLString,\n rawType: GraphQLString,\n isNonNull: true,\n annotation: 'Nonnull',\n className: 'String',\n fieldName: '__typename',\n });\n }\n // Add members\n childFields.forEach(c => {\n cls.addClassMember(c.fieldName, this.getListTypeWrapped(c.className, c.rawType), null, [c.annotation], 'private', { final: true });\n });\n // Add $toString, $hashCode, $hashCodeMemoized\n cls.addClassMember('$toString', 'String', null, [], 'private', { volatile: true });\n cls.addClassMember('$hashCode', 'int', null, [], 'private', { volatile: true });\n cls.addClassMember('$hashCodeMemoized', 'boolean', null, [], 'private', { volatile: true });\n // Add responseFields for all fields\n cls.addClassMember('$responseFields', 'ResponseField[]', `{\\n${indentMultiline(responseFieldArr.join(',\\n'), 2) + '\\n }'}`, [], null, { static: true, final: true });\n // Add Ctor\n this._imports.add(Imports.Utils);\n cls.addClassMethod(className, null, childFields\n .map(c => `this.${c.fieldName} = ${c.isNonNull ? `Utils.checkNotNull(${c.fieldName}, \"${c.fieldName} == null\")` : c.fieldName};`)\n .join('\\n'), childFields.map(c => ({\n name: c.fieldName,\n type: this.getListTypeWrapped(c.className, c.rawType),\n annotations: [c.annotation],\n })), null, 'public');\n // Add getters for all members\n childFields.forEach(c => {\n cls.addClassMethod(c.fieldName, this.getListTypeWrapped(c.className, c.rawType), `return this.${c.fieldName};`, [], [c.annotation], 'public', {});\n });\n // Add .toString()\n cls.addClassMethod('toString', 'String', `if ($toString == null) {\n $toString = \"${className}{\"\n${childFields.map(c => indent(`+ \"${c.fieldName}=\" + ${c.fieldName} + \", \"`, 2)).join('\\n')}\n + \"}\";\n}\n\nreturn $toString;`, [], [], 'public', {}, ['Override']);\n // Add equals\n cls.addClassMethod('equals', 'boolean', `if (o == this) {\n return true;\n}\nif (o instanceof ${className}) {\n ${className} that = (${className}) o;\n return ${childFields\n .map(c => c.isNonNull\n ? `this.${c.fieldName}.equals(that.${c.fieldName})`\n : `((this.${c.fieldName} == null) ? (that.${c.fieldName} == null) : this.${c.fieldName}.equals(that.${c.fieldName}))`)\n .join(' && ')};\n}\n\nreturn false;`, [{ name: 'o', type: 'Object' }], [], 'public', {}, ['Override']);\n // hashCode\n cls.addClassMethod('hashCode', 'int', `if (!$hashCodeMemoized) {\n int h = 1;\n${childFields\n .map(f => indentMultiline(`h *= 1000003;\\nh ^= ${!f.isNonNull ? `(${f.fieldName} == null) ? 0 : ` : ''}${f.fieldName}.hashCode();`, 1))\n .join('\\n')}\n $hashCode = h;\n $hashCodeMemoized = true;\n}\n\nreturn $hashCode;`, [], [], 'public', {}, ['Override']);\n this._imports.add(Imports.ResponseReader);\n this._imports.add(Imports.ResponseFieldMarshaller);\n this._imports.add(Imports.ResponseWriter);\n // marshaller\n cls.addClassMethod('marshaller', 'ResponseFieldMarshaller', `return new ResponseFieldMarshaller() {\n @Override\n public void marshal(ResponseWriter writer) {\n${childFields\n .map((f, index) => {\n const writerMethod = this._getWriterMethodByType(f.type);\n if (f.isList) {\n return indentMultiline(`writer.writeList($responseFields[${index}], ${f.fieldName}, new ResponseWriter.ListWriter() {\n @Override\n public void write(Object value, ResponseWriter.ListItemWriter listItemWriter) {\n listItemWriter.${writerMethod.name}(((${f.className}) value)${writerMethod.useMarshaller ? '.marshaller()' : ''});\n }\n});`, 2);\n }\n let fValue = `${f.fieldName}${writerMethod.useMarshaller ? '.marshaller()' : ''}`;\n if (writerMethod.checkNull || !f.isNonNull) {\n fValue = `${f.fieldName} != null ? ${fValue} : null`;\n }\n return indent(`writer.${writerMethod.name}(${writerMethod.castTo ? `(${writerMethod.castTo}) ` : ''}$responseFields[${index}], ${fValue});`, 2);\n })\n .join('\\n')}\n }\n};`, [], [], 'public');\n cls.nestedClass(this.buildMapperClass(className, childFields));\n return options.result;\n }\n getReaderFn(baseType) {\n if (isScalarType(baseType)) {\n if (baseType.name === 'String') {\n return { fn: `readString` };\n }\n else if (baseType.name === 'Int') {\n return { fn: `readInt` };\n }\n else if (baseType.name === 'Float') {\n return { fn: `readDouble` };\n }\n else if (baseType.name === 'Boolean') {\n return { fn: `readBoolean` };\n }\n else {\n return { fn: `readCustomType`, custom: true };\n }\n }\n else if (isEnumType(baseType)) {\n return { fn: `readString` };\n }\n else {\n return { fn: `readObject`, object: baseType.name };\n }\n }\n buildMapperClass(parentClassName, childFields) {\n const wrapList = (childField, rawType, edgeStr) => {\n if (isNonNullType(rawType)) {\n return wrapList(childField, rawType.ofType, edgeStr);\n }\n if (isListType(rawType)) {\n const typeStr = this.getListTypeWrapped(childField.className, rawType.ofType);\n const innerContent = wrapList(childField, rawType.ofType, edgeStr);\n const inner = isListType(rawType.ofType) ? `return listItemReader.readList(${innerContent});` : innerContent;\n return `new ResponseReader.ListReader<${typeStr}>() {\n @Override\n public ${typeStr} read(ResponseReader.ListItemReader listItemReader) {\n${indentMultiline(inner, 2)}\n }\n}`;\n }\n return edgeStr;\n };\n this._imports.add(Imports.ResponseReader);\n const mapperBody = childFields.map((f, index) => {\n const varDec = `final ${this.getListTypeWrapped(f.className, f.rawType)} ${f.fieldName} =`;\n const readerFn = this.getReaderFn(f.type);\n if (f.isFragment) {\n return `${varDec} reader.readConditional($responseFields[${index}], new ResponseReader.ConditionalTypeReader<${f.className}>() {\n @Override\n public ${f.className} read(String conditionalType, ResponseReader reader) {\n return fragmentsFieldMapper.map(reader, conditionalType);\n }\n });`;\n }\n else if (f.isList) {\n const listReader = readerFn.object\n ? `return listItemReader.${readerFn.fn}(new ResponseReader.ObjectReader<Item>() {\n @Override\n public Item read(ResponseReader reader) {\n return ${f.fieldName}FieldMapper.map(reader);\n }\n });`\n : `return listItemReader.${readerFn.fn}();`;\n const wrappedList = wrapList(f, f.rawType, listReader);\n return `${varDec} reader.readList($responseFields[${index}], ${wrappedList});`;\n }\n else if (readerFn.object) {\n return `${varDec} reader.readObject($responseFields[${index}], new ResponseReader.ObjectReader<${f.className}>() {\n @Override\n public ${f.className} read(ResponseReader reader) {\n return ${f.fieldName}FieldMapper.map(reader);\n }\n });`;\n }\n else {\n return `${varDec} reader.${readerFn.fn}(${readerFn.custom ? '(ResponseField.CustomTypeField) ' : ''}$responseFields[${index}]);`;\n }\n });\n const mapperImpl = [\n ...mapperBody,\n `return new ${parentClassName}(${childFields.map(f => f.fieldName).join(', ')});`,\n ].join('\\n');\n const cls = new JavaDeclarationBlock()\n .access('public')\n .static()\n .final()\n .asKind('class')\n .withName('Mapper')\n .implements([`ResponseFieldMapper<${parentClassName}>`])\n .addClassMethod('map', parentClassName, mapperImpl, [\n {\n name: 'reader',\n type: 'ResponseReader',\n },\n ], [], 'public', {}, ['Override']);\n childFields\n .filter(c => c.isObject)\n .forEach(childField => {\n cls.addClassMember(`${childField.fieldName}FieldMapper`, `${childField.className}.Mapper`, `new ${childField.className}.Mapper()`, [], 'private', { final: true });\n });\n return cls;\n }\n _resolveResponseFieldMethodForBaseType(baseType) {\n if (isListType(baseType)) {\n return { fn: `forList` };\n }\n else if (isNonNullType(baseType)) {\n return this._resolveResponseFieldMethodForBaseType(baseType.ofType);\n }\n else if (isScalarType(baseType)) {\n if (baseType.name === 'String') {\n return { fn: `forString` };\n }\n else if (baseType.name === 'Int') {\n return { fn: `forInt` };\n }\n else if (baseType.name === 'Float') {\n return { fn: `forDouble` };\n }\n else if (baseType.name === 'Boolean') {\n return { fn: `forBoolean` };\n }\n else {\n this._imports.add(`${this.config.typePackage}.CustomType`);\n return { fn: `forCustomType`, custom: true };\n }\n }\n else if (isEnumType(baseType)) {\n return { fn: `forEnum` };\n }\n else {\n return { fn: `forObject` };\n }\n }\n FragmentDefinition(node) {\n this.visitingFragment = true;\n const className = node.name.value;\n const schemaType = this._schema.getType(node.typeCondition.name.value);\n this._imports.add(Imports.Arrays);\n this._imports.add(Imports.GraphqlFragment);\n this._imports.add(Imports.List);\n this._imports.add(Imports.String);\n this._imports.add(Imports.Collections);\n this._imports.add(Imports.Override);\n this._imports.add(Imports.Generated);\n this._imports.add(Imports.ResponseFieldMapper);\n const dataClasses = this.transformSelectionSet({\n className: className,\n nonStaticClass: true,\n implements: ['GraphqlFragment'],\n selectionSet: node.selectionSet && node.selectionSet.selections ? node.selectionSet.selections : [],\n result: {},\n schemaType: schemaType,\n }, false);\n const rootCls = dataClasses[className];\n const printed = this.printDocument(node);\n rootCls.addClassMember('FRAGMENT_DEFINITION', 'String', `\"${printed}\"`, [], 'public', {\n static: true,\n final: true,\n });\n const possibleTypes = isObjectType(schemaType) ? [schemaType.name] : this.getImplementingTypes(schemaType);\n rootCls.addClassMember('POSSIBLE_TYPES', 'List<String>', `Collections.unmodifiableList(Arrays.asList(${possibleTypes.map(t => `\"${t}\"`).join(', ')}))`, [], 'public', { static: true, final: true });\n Object.keys(dataClasses)\n .filter(name => name !== className)\n .forEach(clsName => {\n rootCls.nestedClass(dataClasses[clsName]);\n });\n return rootCls.string;\n }\n OperationDefinition(node) {\n this.visitingFragment = false;\n const operationType = pascalCase(node.operation);\n const operationSchemaType = this.getRootType(node.operation);\n const className = node.name.value.endsWith(operationType) ? operationType : `${node.name.value}${operationType}`;\n this._imports.add(Imports[operationType]);\n this._imports.add(Imports.String);\n this._imports.add(Imports.Override);\n this._imports.add(Imports.Generated);\n this._imports.add(Imports.OperationName);\n this._imports.add(Imports.Operation);\n this._imports.add(Imports.ResponseFieldMapper);\n const cls = new JavaDeclarationBlock()\n .annotate([`Generated(\"Apollo GraphQL\")`])\n .access('public')\n .final()\n .asKind('class')\n .withName(className);\n const printed = this.printDocument(node);\n cls.implements([\n `${operationType}<${className}.Data, ${className}.Data, ${node.variableDefinitions.length === 0 ? 'Operation' : className}.Variables>`,\n ]);\n cls.addClassMember('OPERATION_DEFINITION', 'String', `\"${printed}\"`, [], 'public', { static: true, final: true });\n cls.addClassMember('QUERY_DOCUMENT', 'String', 'OPERATION_DEFINITION', [], 'public', { static: true, final: true });\n cls.addClassMember('OPERATION_NAME', 'OperationName', `new OperationName() {\n @Override\n public String name() {\n return \"${node.name.value}\";\n }\n}`, [], 'public', { static: true, final: true });\n cls.addClassMember('variables', `${node.variableDefinitions.length === 0 ? 'Operation' : className}.Variables`, null, [], 'private', { final: true });\n cls.addClassMethod('queryDocument', `String`, `return QUERY_DOCUMENT;`, [], [], 'public', {}, ['Override']);\n cls.addClassMethod('wrapData', `${className}.Data`, `return data;`, [\n {\n name: 'data',\n type: `${className}.Data`,\n },\n ], [], 'public', {}, ['Override']);\n cls.addClassMethod('variables', `${node.variableDefinitions.length === 0 ? 'Operation' : className}.Variables`, `return variables;`, [], [], 'public', {}, ['Override']);\n cls.addClassMethod('responseFieldMapper', `ResponseFieldMapper<${className}.Data>`, `return new Data.Mapper();`, [], [], 'public', {}, ['Override']);\n cls.addClassMethod('builder', `Builder`, `return new Builder();`, [], [], 'public', { static: true }, []);\n cls.addClassMethod('name', `OperationName`, `return OPERATION_NAME;`, [], [], 'public', {}, ['Override']);\n cls.addClassMethod('operationId', `String`, `return \"${createHash('md5').update(printed).digest('hex')}\";`, [], [], 'public', {}, []);\n this.addCtor(className, node, cls);\n this._imports.add(Imports.Operation);\n const dataClasses = this.transformSelectionSet({\n className: 'Data',\n implements: ['Operation.Data'],\n selectionSet: node.selectionSet && node.selectionSet.selections ? node.selectionSet.selections : [],\n result: {},\n schemaType: operationSchemaType,\n });\n Object.keys(dataClasses).forEach(className => {\n cls.nestedClass(dataClasses[className]);\n });\n cls.nestedClass(this.createBuilderClass(className, node.variableDefinitions || []));\n cls.nestedClass(this.createVariablesClass(className, node.variableDefinitions || []));\n return cls.string;\n }\n createVariablesClass(parentClassName, variables) {\n const className = 'Variables';\n const cls = new JavaDeclarationBlock()\n .static()\n .access('public')\n .final()\n .asKind('class')\n .extends(['Operation.Variables'])\n .withName(className);\n const ctorImpl = [];\n const ctorArgs = [];\n variables.forEach(variable => {\n ctorImpl.push(`this.${variable.variable.name.value} = ${variable.variable.name.value};`);\n ctorImpl.push(`this.valueMap.put(\"${variable.variable.name.value}\", ${variable.variable.name.value});`);\n const baseTypeNode = getBaseTypeNode(variable.type);\n const schemaType = this._schema.getType(baseTypeNode.name.value);\n const javaClass = this.getJavaClass(schemaType);\n const annotation = isNonNullType(variable.type) ? 'Nullable' : 'Nonnull';\n this._imports.add(Imports[annotation]);\n ctorArgs.push({ name: variable.variable.name.value, type: javaClass, annotations: [annotation] });\n cls.addClassMember(variable.variable.name.value, javaClass, null, [annotation], 'private');\n cls.addClassMethod(variable.variable.name.value, javaClass, `return ${variable.variable.name.value};`, [], [], 'public');\n });\n this._imports.add(Imports.LinkedHashMap);\n this._imports.add(Imports.Map);\n cls.addClassMethod(className, null, ctorImpl.join('\\n'), ctorArgs, [], 'public');\n cls.addClassMember('valueMap', 'Map<String, Object>', 'new LinkedHashMap<>()', [], 'private', {\n final: true,\n transient: true,\n });\n cls.addClassMethod('valueMap', 'Map<String, Object>', 'return Collections.unmodifiableMap(valueMap);', [], [], 'public', {}, ['Override']);\n const marshallerImpl = `return new InputFieldMarshaller() {\n @Override\n public void marshal(InputFieldWriter writer) throws IOException {\n${variables\n .map(v => {\n const baseTypeNode = getBaseTypeNode(v.type);\n const schemaType = this._schema.getType(baseTypeNode.name.value);\n const writerMethod = this._getWriterMethodByType(schemaType, true);\n return indent(`writer.${writerMethod.name}(\"${v.variable.name.value}\", ${writerMethod.checkNull\n ? `${v.variable.name.value} != null ? ${v.variable.name.value}${writerMethod.useMarshaller ? '.marshaller()' : ''} : null`\n : v.variable.name.value});`, 2);\n })\n .join('\\n')}\n }\n};`;\n this._imports.add(Imports.InputFieldMarshaller);\n this._imports.add(Imports.InputFieldWriter);\n this._imports.add(Imports.IOException);\n cls.addClassMethod('marshaller', 'InputFieldMarshaller', marshallerImpl, [], [], 'public', {}, ['Override']);\n return cls;\n }\n _getWriterMethodByType(schemaType, idAsString = false) {\n if (isScalarType(schemaType)) {\n if (SCALAR_TO_WRITER_METHOD[schemaType.name] && (idAsString || schemaType.name !== 'ID')) {\n return {\n name: SCALAR_TO_WRITER_METHOD[schemaType.name],\n checkNull: false,\n useMarshaller: false,\n };\n }\n return { name: 'writeCustom', checkNull: false, useMarshaller: false, castTo: 'ResponseField.CustomTypeField' };\n }\n else if (isInputObjectType(schemaType)) {\n return { name: 'writeObject', checkNull: true, useMarshaller: true };\n }\n else if (isEnumType(schemaType)) {\n return { name: 'writeString', checkNull: false, useMarshaller: false };\n }\n else if (isObjectType(schemaType) || isInterfaceType(schemaType)) {\n return { name: 'writeObject', checkNull: true, useMarshaller: true };\n }\n return { name: 'writeString', useMarshaller: false, checkNull: false };\n }\n createBuilderClass(parentClassName, variables) {\n const builderClassName = 'Builder';\n const cls = new JavaDeclarationBlock()\n .static()\n .final()\n .access('public')\n .asKind('class')\n .withName(builderClassName)\n .addClassMethod(builderClassName, null, '');\n variables.forEach(variable => {\n const baseTypeNode = getBaseTypeNode(variable.type);\n const schemaType = this._schema.getType(baseTypeNode.name.value);\n const javaClass = this.getJavaClass(schemaType);\n const annotation = isNonNullType(variable.type) ? 'Nonnull' : 'Nullable';\n this._imports.add(Imports[annotation]);\n cls.addClassMember(variable.variable.name.value, javaClass, null, [annotation], 'private');\n cls.addClassMethod(variable.variable.name.value, builderClassName, `this.${variable.variable.name.value} = ${variable.variable.name.value};\\nreturn this;`, [\n {\n name: variable.variable.name.value,\n type: javaClass,\n annotations: [annotation],\n },\n ], [], 'public');\n });\n this._imports.add(Imports.Utils);\n const nonNullChecks = variables\n .filter(f => isNonNullType(f))\n .map(f => `Utils.checkNotNull(${f.variable.name.value}, \"${f.variable.name.value} == null\");`);\n const returnStatement = `return new ${parentClassName}(${variables.map(v => v.variable.name.value).join(', ')});`;\n cls.addClassMethod('build', parentClassName, `${[...nonNullChecks, returnStatement].join('\\n')}`, [], [], 'public');\n return cls;\n }\n}\n//# sourceMappingURL=operation-visitor.js.map","export var FileType;\n(function (FileType) {\n FileType[FileType[\"INPUT_TYPE\"] = 0] = \"INPUT_TYPE\";\n FileType[FileType[\"OPERATION\"] = 1] = \"OPERATION\";\n FileType[FileType[\"FRAGMENT\"] = 2] = \"FRAGMENT\";\n FileType[FileType[\"CUSTOM_TYPES\"] = 3] = \"CUSTOM_TYPES\";\n})(FileType || (FileType = {}));\n//# sourceMappingURL=file-type.js.map","import { isScalarType } from 'graphql';\nimport { BaseJavaVisitor } from './base-java-visitor';\nimport { indentMultiline } from '@graphql-codegen/visitor-plugin-common';\nimport { Imports } from './imports';\nimport { JavaDeclarationBlock } from '@graphql-codegen/java-common';\nconst filteredScalars = ['String', 'Float', 'Int', 'Boolean'];\nexport class CustomTypeClassVisitor extends BaseJavaVisitor {\n constructor(schema, rawConfig) {\n super(schema, rawConfig, {\n typePackage: rawConfig.typePackage || 'type',\n });\n }\n extract(name) {\n const lastIndex = name.lastIndexOf('.');\n if (lastIndex === -1) {\n return {\n className: name,\n importFrom: Imports[name] || null,\n };\n }\n else {\n return {\n className: name.substring(lastIndex + 1),\n importFrom: name,\n };\n }\n }\n additionalContent() {\n this._imports.add(Imports.ScalarType);\n this._imports.add(Imports.Class);\n this._imports.add(Imports.Override);\n this._imports.add(Imports.Generated);\n const allTypes = this._schema.getTypeMap();\n const enumValues = Object.keys(allTypes)\n .filter(t => isScalarType(allTypes[t]) && !filteredScalars.includes(t))\n .map(t => allTypes[t])\n .map(scalarType => {\n const uppercaseName = scalarType.name.toUpperCase();\n const javaType = this.extract(this.scalars[scalarType.name] || 'String');\n if (javaType.importFrom) {\n this._imports.add(javaType.importFrom);\n }\n return indentMultiline(`${uppercaseName} {\n @Override\n public String typeName() {\n return \"${scalarType.name}\";\n }\n\n @Override\n public Class javaType() {\n return ${javaType.className}.class;\n }\n}`);\n })\n .join(',\\n\\n');\n return new JavaDeclarationBlock()\n .annotate([`Generated(\"Apollo GraphQL\")`])\n .access('public')\n .asKind('enum')\n .withName('CustomType')\n .implements(['ScalarType'])\n .withBlock(enumValues).string;\n }\n getPackage() {\n return this.config.typePackage;\n }\n}\n//# sourceMappingURL=custom-type-class.js.map","import { concatAST, visit, Kind } from 'graphql';\nimport { InputTypeVisitor } from './input-type-visitor';\nimport { OperationVisitor } from './operation-visitor';\nimport { FileType } from './file-type';\nimport { CustomTypeClassVisitor } from './custom-type-class';\nexport const plugin = (schema, documents, config) => {\n const allAst = concatAST(documents.map(v => v.document));\n const allFragments = [\n ...allAst.definitions.filter(d => d.kind === Kind.FRAGMENT_DEFINITION).map(fragmentDef => ({\n node: fragmentDef,\n name: fragmentDef.name.value,\n onType: fragmentDef.typeCondition.name.value,\n isExternal: false,\n })),\n ...(config.externalFragments || []),\n ];\n let visitor;\n switch (config.fileType) {\n case FileType.FRAGMENT:\n case FileType.OPERATION: {\n visitor = new OperationVisitor(schema, config, allFragments);\n break;\n }\n case FileType.INPUT_TYPE: {\n visitor = new InputTypeVisitor(schema, config);\n break;\n }\n case FileType.CUSTOM_TYPES: {\n visitor = new CustomTypeClassVisitor(schema, config);\n break;\n }\n }\n if (!visitor) {\n return { content: '' };\n }\n const visitResult = visit(allAst, visitor);\n const additionalContent = visitor.additionalContent();\n const imports = visitor.getImports();\n return {\n prepend: [`package ${visitor.getPackage()};\\n`, ...imports],\n content: '\\n' + [...visitResult.definitions.filter(a => a && typeof a === 'string'), additionalContent].join('\\n'),\n };\n};\n//# sourceMappingURL=plugin.js.map","import { visit, concatAST, Kind, } from 'graphql';\nimport { join } from 'path';\nimport { FileType } from './file-type';\nimport { pascalCase } from 'pascal-case';\nconst packageNameToDirectory = (packageName) => {\n return `./${packageName.split('.').join('/')}/`;\n};\nexport const preset = {\n buildGeneratesSection: options => {\n const outDir = options.baseOutputDir;\n const inputTypesAst = [];\n visit(options.schema, {\n enter: {\n InputObjectTypeDefinition(node) {\n inputTypesAst.push(node);\n },\n },\n });\n const inputTypesDocumentNode = { kind: Kind.DOCUMENT, definitions: inputTypesAst };\n const allAst = concatAST(options.documents.map(v => v.document));\n const operationsAst = allAst.definitions.filter(d => d.kind === Kind.OPERATION_DEFINITION);\n const fragments = allAst.definitions.filter(d => d.kind === Kind.FRAGMENT_DEFINITION);\n const externalFragments = fragments.map(frag => ({\n isExternal: true,\n importFrom: frag.name.value,\n name: frag.name.value,\n onType: frag.typeCondition.name.value,\n node: frag,\n }));\n return [\n {\n filename: join(outDir, packageNameToDirectory(options.config.typePackage), 'CustomType.java'),\n plugins: options.plugins,\n pluginMap: options.pluginMap,\n config: {\n ...options.config,\n fileType: FileType.CUSTOM_TYPES,\n },\n schema: options.schema,\n documents: [],\n },\n ...inputTypesDocumentNode.definitions.map((ast) => {\n return {\n filename: join(outDir, packageNameToDirectory(options.config.typePackage), ast.name.value + '.java'),\n plugins: options.plugins,\n pluginMap: options.pluginMap,\n config: {\n ...options.config,\n fileType: FileType.INPUT_TYPE,\n skipDocumentsValidation: true,\n },\n schema: options.schema,\n documents: [{ document: { kind: Kind.DOCUMENT, definitions: [ast] }, location: '' }],\n };\n }),\n ...operationsAst.map((ast) => {\n const fileName = ast.name.value.toLowerCase().endsWith(ast.operation)\n ? ast.name.value\n : `${ast.name.value}${pascalCase(ast.operation)}`;\n return {\n filename: join(outDir, packageNameToDirectory(options.config.package), fileName + '.java'),\n plugins: options.plugins,\n pluginMap: options.pluginMap,\n config: {\n ...options.config,\n fileType: FileType.OPERATION,\n externalFragments,\n },\n schema: options.schema,\n documents: [{ document: { kind: Kind.DOCUMENT, definitions: [ast] }, location: '' }],\n };\n }),\n ...fragments.map((ast) => {\n return {\n filename: join(outDir, packageNameToDirectory(options.config.fragmentPackage), ast.name.value + '.java'),\n plugins: options.plugins,\n pluginMap: options.pluginMap,\n config: {\n ...options.config,\n fileType: FileType.FRAGMENT,\n externalFragments,\n },\n schema: options.schema,\n documents: [{ document: { kind: Kind.DOCUMENT, definitions: [ast] }, location: '' }],\n };\n }),\n ];\n },\n};\n//# sourceMappingURL=preset.js.map"],"names":["BaseVisitor","buildScalars","JAVA_SCALARS","GraphQLObjectType","getBaseTypeNode","Kind","getBaseType","isNonNullType","isScalarType","isInputObjectType","isListType","isEnumType","indent","indentMultiline","JavaDeclarationBlock","visit","buildPackageNameFromPath","print","isObjectType","isInterfaceType","isPlural","singular","isUnionType","camelCase","GraphQLString","pascalCase","createHash","concatAST","join"],"mappings":"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"}
\No newline at end of file