public IEnumerable <ITypeDeclaration> GetTypeDeclarations() { return(document.Children.Concat(options.ScalarTypes).Select(def => def switch { ObjectTypeDefinition objectTypeDefinition => new ObjectTypeContext(objectTypeDefinition, options, document) as ITypeDeclaration, InputObjectTypeDefinition inputObjectTypeDefinition => new InputObjectTypeContext(inputObjectTypeDefinition, options, document) as ITypeDeclaration, InterfaceTypeDefinition interfaceTypeDefinition => new InterfaceTypeContext(interfaceTypeDefinition, options, document) as ITypeDeclaration, EnumTypeDefinition enumTypeDefinition => new EnumTypeContext(enumTypeDefinition, options, document) as ITypeDeclaration, UnionTypeDefinition unionTypeDefinition => new UnionTypeContext(unionTypeDefinition, options) as ITypeDeclaration, ScalarTypeDefinition scalarTypeDefinition => new ScalarTypeContext(scalarTypeDefinition, options) as ITypeDeclaration, SchemaDefinition _ => null, _ => throw new InvalidOperationException("Unhandled definition type " + def.Kind.ToString("g")) })
public ScalarTypeContext(ScalarTypeDefinition definition, GraphQLGenerationOptions options) { this.definition = definition; this.options = options; }