UNPKG

@autobe/agent

Version:

AI backend server code generator

40 lines (37 loc) 1.46 kB
import { AutoBeOpenApi, AutoBeProgressEventBase, AutoBeRealizeTransformerFunction, } from "@autobe/interface"; import { AutoBeContext } from "../../context/AutoBeContext"; import { orchestrateRealizeCorrectCasting } from "./correct/orchestrateRealizeCorrectCasting"; import { AutoBeRealizeTransformerProgrammer } from "./programmers/AutoBeRealizeTransformerProgrammer"; export const orchestrateRealizeTransformerCorrectCasting = ( ctx: AutoBeContext, props: { functions: AutoBeRealizeTransformerFunction[]; progress: AutoBeProgressEventBase; }, ): Promise<AutoBeRealizeTransformerFunction[]> => orchestrateRealizeCorrectCasting(ctx, { programmer: { template: (func) => AutoBeRealizeTransformerProgrammer.writeTemplate({ plan: func.plan, schema: ctx.state().interface!.document.components.schemas[ func.plan.dtoTypeName ] as AutoBeOpenApi.IJsonSchemaDescriptive.IObject, schemas: ctx.state().interface!.document.components.schemas, }), replaceImportStatements: (next) => AutoBeRealizeTransformerProgrammer.replaceImportStatements(ctx, { dtoTypeName: next.function.plan.dtoTypeName, schemas: ctx.state().interface!.document.components.schemas, code: next.code, }), additional: () => ({}), location: "src/transformers", }, functions: props.functions, progress: props.progress, });