<% const { utils, route, config, modelTypes } = it; const { _, pascalCase, require } = utils; const apiClassName = pascalCase(route.moduleName); const routes = route.routes; const dataContracts = _.map(modelTypes, "name"); %> <% if (config.httpClientType === config.constants.HTTP_CLIENT.AXIOS) { %> import { AxiosRequestConfig, AxiosResponse } from "axios"; <% } %> import { HttpClient, RequestParams, ContentType, HttpResponse } from "./<%~ config.fileNames.httpClient %>"; <% if (dataContracts.length) { %> import { <%~ dataContracts.join(", ") %> } from "./<%~ config.fileNames.dataContracts %>" <% } %> export class <%= apiClassName %>Api<% if (!config.singleHttpClient) { %> extends HttpClient <% } %> { <% if(config.singleHttpClient) { %> http: HttpClient; constructor (http: HttpClient) { this.http = http; } <% } %> <% routes.forEach((route) => { %> <%~ includeFile('./procedure-call.ejs', { ...it, route }) %> <% }) %> }