src/lib/e2e-export/e2e-generator-registry.ts
File Relationships
Symbols by Kind
function
3
All Symbols
| Name | Kind | Visibility | Status | Lines | Signature |
|---|---|---|---|---|---|
| getE2EGenerator | function | exported- | 27-29 | getE2EGenerator(framework: E2EFramework): : E2EGenerator | null |
|
| generateE2EScript | function | exported- | 31-38 | generateE2EScript(
framework: E2EFramework,
actions: CapturedAction[],
options?: E2EGenerateOptions,
): : string | null |
|
| generateE2EFromRecording | function | exported- | 40-47 | generateE2EFromRecording(
framework: E2EFramework,
steps: RecordedStep[],
options?: RecordingGenerateOptions,
): : string | null |
Full Source
/**
* E2E Generator Registry — maps framework names to generators.
*/
import type {
CapturedAction,
E2EFramework,
E2EGenerateOptions,
E2EGenerator,
RecordedStep,
RecordingGenerateOptions,
} from "./e2e-export.types";
import { playwrightGenerator } from "./framework/playwright-generator";
import { cypressGenerator } from "./framework/cypress-generator";
import { pestGenerator } from "./framework/pest-generator";
export const E2E_GENERATORS: ReadonlyArray<E2EGenerator> = [
playwrightGenerator,
cypressGenerator,
pestGenerator,
];
const registryMap = new Map<E2EFramework, E2EGenerator>(
E2E_GENERATORS.map((g) => [g.name, g]),
);
export function getE2EGenerator(framework: E2EFramework): E2EGenerator | null {
return registryMap.get(framework) ?? null;
}
export function generateE2EScript(
framework: E2EFramework,
actions: CapturedAction[],
options?: E2EGenerateOptions,
): string | null {
const generator = getE2EGenerator(framework);
return generator ? generator.generate(actions, options) : null;
}
export function generateE2EFromRecording(
framework: E2EFramework,
steps: RecordedStep[],
options?: RecordingGenerateOptions,
): string | null {
const generator = getE2EGenerator(framework);
return generator ? generator.generateFromRecording(steps, options) : null;
}