@firfi/quint-connect
Version:
Model-based testing framework connecting Quint specifications to TypeScript implementations
33 lines • 1.69 kB
TypeScript
import { Effect } from "effect";
import { QuintNotFoundError } from "./errors.js";
import type { PlatformProcessBoundary } from "./platform-process.js";
import type { TraceGenerationAdapter } from "./trace-adapter.js";
export { buildRunArgs, buildTestArgs } from "./trace-generation-policy.js";
interface QuintProcessResult {
readonly exitCode: number;
readonly stderr: string;
}
interface QuintCliAdapterDeps {
readonly runQuintProcess: (args: ReadonlyArray<string>, verbose: boolean, quintBin?: string | undefined) => Effect.Effect<QuintProcessResult, QuintNotFoundError>;
}
interface QuintProcess {
readonly pid: number | undefined;
readonly stdout: {
readonly resume: () => void;
};
readonly stderr: {
readonly on: (event: "data", listener: (chunk: Buffer) => void) => unknown;
};
readonly on: {
(event: "close", listener: (code: number | null) => void): unknown;
(event: "error", listener: (e: Error) => void): unknown;
};
}
type SpawnQuintProcess = (cmd: string, args: ReadonlyArray<string>, options: {
readonly env: NodeJS.ProcessEnv;
readonly detached: boolean;
}) => QuintProcess;
export declare const makeRunQuintProcess: (spawnProcess?: SpawnQuintProcess, processBoundary?: PlatformProcessBoundary, getEnvironment?: () => NodeJS.ProcessEnv) => (args: ReadonlyArray<string>, verbose: boolean, quintBin?: string | undefined) => Effect.Effect<QuintProcessResult, QuintNotFoundError>;
export declare const makeQuintCliTraceAdapter: (deps?: QuintCliAdapterDeps) => TraceGenerationAdapter;
export declare const quintCliTraceAdapter: TraceGenerationAdapter;
//# sourceMappingURL=quint-cli-adapter.d.ts.map