@firfi/quint-connect
Version:
Model-based testing framework connecting Quint specifications to TypeScript implementations
31 lines • 1.79 kB
TypeScript
import { Effect } from "effect";
import { QuintError } from "./errors.js";
import type { RunGenerationOptions, TestGenerationOptions, TraceGenerationOptions } from "./run-options.js";
interface RunTraceGenerationPolicy {
readonly mode: "run";
readonly command: "quint run";
readonly options: RunGenerationOptions;
readonly buildCliArgs: (outDir: string) => Effect.Effect<ReadonlyArray<string>, QuintError>;
}
interface TestTraceGenerationPolicy {
readonly mode: "test";
readonly command: "quint test";
readonly options: TestGenerationOptions;
readonly buildCliArgs: (outDir: string) => Effect.Effect<ReadonlyArray<string>, QuintError>;
}
type TraceGenerationPolicy = RunTraceGenerationPolicy | TestTraceGenerationPolicy;
type CompiledRunOptions = RunGenerationOptions & {
readonly compiledInput: string;
};
type CompiledEvaluatorPolicy = RunTraceGenerationPolicy & {
readonly options: CompiledRunOptions;
};
export declare const validateTraceGenerationConfiguration: (opts: TraceGenerationOptions) => Effect.Effect<void, QuintError>;
/** Backwards-compatible synchronous argument builder. Invalid environment config throws immediately. */
export declare const buildRunArgs: (opts: RunGenerationOptions, outDir: string) => ReadonlyArray<string>;
/** Backwards-compatible synchronous argument builder. Invalid environment config throws immediately. */
export declare const buildTestArgs: (opts: TestGenerationOptions, outDir: string) => ReadonlyArray<string>;
export declare const resolveTraceGenerationPolicy: (opts: TraceGenerationOptions) => TraceGenerationPolicy;
export declare const isCompiledEvaluatorPolicy: (policy: TraceGenerationPolicy) => policy is CompiledEvaluatorPolicy;
export {};
//# sourceMappingURL=trace-generation-policy.d.ts.map