@autobe/compiler
Version:
AI backend server code generator
37 lines (32 loc) • 1.01 kB
text/typescript
import {
AutoBePrisma,
IAutoBePrismaCompileResult,
IAutoBePrismaCompiler,
IAutoBePrismaCompilerProps,
IAutoBePrismaValidation,
} from "@autobe/interface";
import { writePrismaApplication } from "@autobe/utils";
import { EmbedPrisma } from "embed-prisma";
import { validatePrismaApplication } from "./validatePrismaApplication";
export class AutoBePrismaCompiler implements IAutoBePrismaCompiler {
public async compile(
props: IAutoBePrismaCompilerProps,
): Promise<IAutoBePrismaCompileResult> {
const compiler: EmbedPrisma = new EmbedPrisma();
return compiler.compile(props.files);
}
public async validate(
application: AutoBePrisma.IApplication,
): Promise<IAutoBePrismaValidation> {
return validatePrismaApplication(application);
}
public async write(
application: AutoBePrisma.IApplication,
dbms: "postgres" | "sqlite" = "postgres",
): Promise<Record<string, string>> {
return writePrismaApplication({
application,
dbms,
});
}
}