@autobe/compiler
Version:
AI backend server code generator
25 lines (21 loc) • 1.03 kB
text/typescript
import { AutoBeTest } from "@autobe/interface";
import ts from "typescript";
import { AutoBeTestAccessorProgrammer } from "./AutoBeTestAccessorProgrammer";
import { AutoBeTestFunctionalProgrammer } from "./AutoBeTestFunctionalProgrammer";
import { AutoBeTestLiteralProgrammer } from "./AutoBeTestLiteralProgrammer";
import { AutoBeTestOperatorProgrammer } from "./AutoBeTestOperatorProgrammer";
import { AutoBeTestPredicateProgrammer } from "./AutoBeTestPredicateProgrammer";
import { AutoBeTestRandomProgrammer } from "./AutoBeTestRandomProgrammer";
import { IAutoBeTestProgrammerContext } from "./IAutoBeTestProgrammerContext";
export const writeTestExpression = (
ctx: IAutoBeTestProgrammerContext,
expr: AutoBeTest.IExpression,
): ts.Expression => factory[expr.type](ctx, expr as any);
const factory = {
...AutoBeTestLiteralProgrammer,
...AutoBeTestOperatorProgrammer,
...AutoBeTestAccessorProgrammer,
...AutoBeTestFunctionalProgrammer,
...AutoBeTestRandomProgrammer,
...AutoBeTestPredicateProgrammer,
};