@graphql-codegen/kotlin
Version:
GraphQL Code Generator plugin for generating Kotlin code based on a GraphQL schema
43 lines (42 loc) • 2.11 kB
text/typescript
import { EnumTypeDefinitionNode, EnumValueDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputObjectTypeDefinitionNode, InputValueDefinitionNode, ObjectTypeDefinitionNode, TypeNode, ValueNode } from 'graphql';
import { BaseVisitor, EnumValuesMap, ParsedConfig } from '@graphql-codegen/visitor-plugin-common';
import { KotlinResolversPluginRawConfig } from './config.cjs';
export declare const KOTLIN_SCALARS: {
ID: string;
String: string;
Boolean: string;
Int: string;
Float: string;
};
export interface KotlinResolverParsedConfig extends ParsedConfig {
package: string;
listType: string;
enumValues: EnumValuesMap;
withTypes: boolean;
omitJvmStatic: boolean;
}
export interface FieldDefinitionReturnType {
inputTransformer?: ((typeName: string) => string) | FieldDefinitionNode;
node: FieldDefinitionNode;
}
export declare class KotlinResolversVisitor extends BaseVisitor<KotlinResolversPluginRawConfig, KotlinResolverParsedConfig> {
private _schema;
constructor(rawConfig: KotlinResolversPluginRawConfig, _schema: GraphQLSchema, defaultPackageName: string);
getPackageName(): string;
protected getEnumValue(enumName: string, enumOption: string): string;
EnumValueDefinition(node: EnumValueDefinitionNode): (enumName: string) => string;
EnumTypeDefinition(node: EnumTypeDefinitionNode): string;
protected resolveInputFieldType(typeNode: TypeNode): {
baseType: string;
typeName: string;
isScalar: boolean;
isArray: boolean;
nullable: boolean;
};
protected buildInputTransfomer(name: string, inputValueArray: ReadonlyArray<InputValueDefinitionNode>): string;
protected buildTypeTransfomer(name: string, typeValueArray: ReadonlyArray<FieldDefinitionNode>): string;
protected initialValue(typeName: string, defaultValue?: ValueNode): string | undefined;
FieldDefinition(node: FieldDefinitionNode): FieldDefinitionReturnType;
InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string;
ObjectTypeDefinition(node: ObjectTypeDefinitionNode): string;
}