UNPKG

@autorest/openapi-to-cadl

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

25 lines (21 loc) 840 B
import { getSession } from "../autorest-session"; import { generateServiceInformation } from "../generate/generate-service-information"; import { CadlProgram } from "../interfaces"; import { formatCadlFile } from "../utils/format"; export async function emitMain(filePath: string, program: CadlProgram): Promise<void> { const content = getServiceInformation(program); const session = getSession(); session.writeFile({ filename: filePath, content: await formatCadlFile(content, filePath) }); } function getServiceInformation(program: CadlProgram) { const imports = [ `import "@typespec/rest";`, `import "@typespec/http";`, `import "./routes.tsp";`, ``, `using TypeSpec.Rest;`, `using TypeSpec.Http;`, ]; const content = generateServiceInformation(program); return [...imports, content].join("\n"); }