UNPKG

@autorest/openapi-to-cadl

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

21 lines (17 loc) 903 B
import { getSession } from "../autorest-session"; import { generateOperationGroup } from "../generate/generate-operations"; import { CadlProgram } from "../interfaces"; import { formatCadlFile } from "../utils/format"; import { getRoutesImports } from "../utils/imports"; import { getNamespace } from "../utils/namespace"; export async function emitRoutes(filePath: string, program: CadlProgram): Promise<void> { const content = generateRoutes(program); const session = getSession(); session.writeFile({ filename: filePath, content: await formatCadlFile(content, filePath) }); } function generateRoutes(program: CadlProgram) { const { operationGroups } = program; const { modules, namespaces } = getRoutesImports(program); const content = operationGroups.map(generateOperationGroup); return [...modules, "\n", ...namespaces, "\n", getNamespace(program), "\n", ...content].join("\n"); }