UNPKG

web-snaps

Version:

Browser automation with automatic snapshotting.

36 lines (35 loc) 953 B
import { type Overwrite } from '@augment-vir/common'; import { type UtcIsoString } from 'date-vir'; import { type HTMLTemplateResult } from 'element-vir'; import { type WebFlow } from '../web-flow/web-flow.js'; /** * An individual {@link WebFlowPhase} snapshot. * * @category Internal */ export type PhaseSnap = { phaseName: string; url: string; pageHtml: HTMLTemplateResult; }; /** * A set of saved snapshots generated from a {@link WebFlow}. * * @category Internal */ export type WebSnap = Readonly<{ webFlow: Pick<WebFlow, 'flowKey' | 'startUrl' | 'phaseNames'>; generatedAt: UtcIsoString; phaseSnaps: ReadonlyArray<Readonly<PhaseSnap>>; }>; /** * A {@link WebSnap} that is still in the progress of being generated. This is used inside of * `runWebFlow`. * * @category Internal */ export type InProgressWebSnap = Overwrite<WebSnap, { phaseSnaps: Overwrite<PhaseSnap, { pageHtml: string; }>[]; }>;