// helpers protected TypeDefinitionField TransformTypeField(ITypeNode type, TypeDefinitionField context, bool nullable = false) { var ctx = context ?? new TypeDefinitionField(); if (type.IsNonNullType()) { ctx.NotNullable = true; return(TransformTypeField(type.InnerType(), ctx)); } if (type.IsListType()) { ctx.IsList = true; ctx.InnerType = TransformTypeField(type.InnerType(), null); return(ctx); } ctx.Type = type.ToString(); return(ctx); }
protected void RenderTypeField(StringBuilder sb, TypeDefinitionField field) { sb.AppendLine($"{this.Indent}public {this.RenderFieldType(field)} {CodeBuilder.Capitalize(field.Name)} {InterfaceSuffix}"); }
protected void RenderEnumField(StringBuilder sb, TypeDefinitionField field) { sb.AppendLine($"{this.Indent}{CodeBuilder.Capitalize(field.Name)}{this.EnumSuffix}"); }
protected string RenderFieldType(TypeDefinitionField field) { return(field.IsList ? $"List<{this.RenderFieldType(field.InnerType)}>" : CodeBuilder.ScalarMap.FirstOrDefault(e => e.Key == field.Type).Value ?? field.Type); }