public override Task <string> BuildOutputAsync() { var b = new TypeScriptCodeBuilder(indentSize: 2); b.Lines(new [] { "import * as $metadata from './metadata.g'", "import * as $models from './models.g'", "import * as qs from 'qs'", "import { AxiosClient, ModelApiClient, ServiceApiClient, ItemResult, ListResult } from 'coalesce-vue/lib/api-client'", "import { AxiosResponse, AxiosRequestConfig } from 'axios'", }); b.Line(); foreach (var model in Model.Entities.OrderBy(e => e.ClientTypeName)) { WriteApiClientClass(b, model, $"ModelApiClient<$models.{model.ClientTypeName}>"); // Lines between classes b.Line(); b.Line(); } foreach (var model in Model.Services.OrderBy(e => e.ClientTypeName)) { WriteApiClientClass(b, model, $"ServiceApiClient<typeof $metadata.{model.ClientTypeName}>"); // Lines between classes b.Line(); b.Line(); } return(Task.FromResult(b.ToString())); }