@firfi/quint-connect
Version:
Model-based testing framework connecting Quint specifications to TypeScript implementations
19 lines • 1.38 kB
TypeScript
import { Effect, Schema } from "effect";
import type { ActionMap, Config } from "../driver/types.js";
import type { ReplayStepContext, TraceReplayError } from "./replay-errors.js";
import type { TraceStateRecord } from "./trace-state.js";
export interface ReplayStep {
readonly action: string;
readonly nondetPicks: ReadonlyMap<string, unknown>;
readonly specState: unknown;
}
type ReplayAction = Omit<ReplayStep, "specState">;
/** Decode action and picks without projecting unused specification state. */
export declare const extractReplayAction: (state: TraceStateRecord, nondetPath: ReadonlyArray<string>, context: ReplayStepContext) => Effect.Effect<ReplayAction, TraceReplayError>;
/** Decode all data needed to dispatch and check one trace state. */
export declare const decodeReplayStep: (state: TraceStateRecord, config: Config, context: ReplayStepContext) => Effect.Effect<ReplayStep, TraceReplayError>;
export declare const buildPicksDecoder: (picksShape: Schema.Struct<Readonly<Record<string, Schema.Schema<any, any, never>>>>) => (rawPicks: unknown) => Effect.Effect<{}, import("effect/ParseResult").ParseError, never>;
export type PicksDecoder = ReturnType<typeof buildPicksDecoder>;
export declare const buildPicksDecoders: <E, R>(actions: ActionMap<E, R>) => ReadonlyMap<string, PicksDecoder>;
export {};
//# sourceMappingURL=replay-actions.d.ts.map