public static CSharpSourceFile FromObject(ApiObject obj) { if (obj == null) { throw new ArgumentNullException(nameof(obj)); } var sourceFile = new CSharpSourceFile { Name = obj.Name.ToBeautifiedName(), Usings = DefaultUsings }; if (obj.IsEnum()) { sourceFile.Enum = CSharpEnum.FromObject(obj); } else if (obj.IsClass()) { sourceFile.Class = CSharpClass.Map(obj); } else { return(null); } return(sourceFile); }
public static CSharpClass Map(ApiObject obj) { var propertyObjects = ExtractProperties(obj); return(new CSharpClass { Name = obj.Name.ToBeautifiedName(), Summary = string.IsNullOrWhiteSpace(obj.Description) ? null : new CSharpSummary(obj.Description), Properties = propertyObjects.Where(o => !o.IsEnum()).Select(CSharpProperty.Map).ToList(), NestedEnums = propertyObjects.Where(o => o.IsEnum()).Select(o => CSharpEnum.FromObject(o)).ToList(), Methods = Array.Empty <CSharpMethod>() }); }