public void WriteApi(FlatApiDescription flatApiDescription, StreamWriter streamWriter) { foreach (var dtoType in flatApiDescription.Objects.Where(x => x.IsComplexType && !x.IsEnumerableType)) { streamWriter.WriteLine($"export interface {dtoType.ModelType.Name} {{"); foreach (var property in dtoType.Properties) { streamWriter.Write($" {property.Name}"); if (!property.IsRequired) { streamWriter.Write("?"); } streamWriter.WriteLine($": {GetTypeName(property)};"); } streamWriter.WriteLine("}"); streamWriter.WriteLine(); } foreach (var enumType in flatApiDescription.Objects.Where(x => x.IsEnum)) { streamWriter.WriteLine($"export enum {enumType.ModelType.Name} {{"); foreach (var value in enumType.EnumNamesAndValues) { streamWriter.WriteLine($" {value.Key} = {value.Value},"); } streamWriter.WriteLine("}"); streamWriter.WriteLine(); } }
public void WriteApi(FlatApiDescription flatApiDescription, StreamWriter streamWriter) { foreach (var meta in flatApiDescription.Objects.Where(x => x.IsComplexType && !x.IsEnumerableType)) { streamWriter.Write($"export const {GetInitialName(meta)}: Readonly<{meta.ModelType.Name}> = "); WriteNullValue(meta, streamWriter); streamWriter.WriteLine(";"); streamWriter.WriteLine(); } }